реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> как получить сводный BOM многоплатного изделия?
PCBExp
сообщение Oct 7 2017, 07:53
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 578
Регистрация: 23-12-06
Из: Москва
Пользователь №: 23 823



Например есть изделие из трех плат. На каждой плате есть одни и те же компоненты и какие то уникальные. Материнская плата содержит к примеру 200 уникальных строк/позиций а дочки строк по по 50-100. Закупер хочет получить сводный BOM на все изделие. То есть если на основной плате стоит 5 штук на все времена любимых BAV99 а на двух дочках по одному то в сводном BOMе должна быть одна строчка где их 7 штук указано. Как их потом монтажное производство делит на три потока не наша забота. Сейчас все это руками делается и ошибки вычищаются с гарантией со второго третьего раза. А хочется один раз автоматом окучить три файла. Голову сломал, но как это в Excel сделать не понимаю. Если только макрос привлечь?

Потом (если решим эту задачу) усложним задачу! На одном таком изделии может быть 2 одинаковых дочки и одна непохожая - то есть надо количество дочек как то учесть.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Oct 7 2017, 08:04
Сообщение #2


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Программу TDD видели? ВП документик называется.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Oct 7 2017, 12:04
Сообщение #3


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(PCBExp @ Oct 7 2017, 10:53) *
Если только макрос привлечь?

Макрос будет ваш довольно сложным.

По уму это делается в Access
Прикрепленное изображение

Сначала в Access вставляются все ваши внешние BOM-ы сделанные в Excel.
Потом нажимется конопка и генерируется таблица плат. В ней после генерации указываете количестов плат каждого типа.
Потом жмете кнопку и происходит обновление содержимого SQL запросов в базе данных.
Данные собираются несколькими специальными запросами текст которых зависит от таблицы плат.
В результате генерируется сводная таблица консолидированного BOM-а

Т.е. в этой базе динамически меняется структура SQL запросов.
Вряд ли вы в голом Excel-е это так просто сделаете.
Go to the top of the page
 
+Quote Post
x736C
сообщение Oct 7 2017, 12:46
Сообщение #4


Профессионал
*****

Группа: Участник
Сообщений: 1 273
Регистрация: 3-03-06
Пользователь №: 14 942



По уму в Access, но если нет желания с ним связываться, то легко реализуется на VB script в самом Excel.
Единственная трудность может возникнуть, если один компонент будут слегка отличаться в записи в двух таблицах, то простой скрипт занесет их как два разных компонента.
Я бы так и сделал, честно говоря. Слишком узкая задача, чтобы подключать сюда еще и Access. Тем более, что он в самые распространенные и доступные пакты Офиса не входит. Хотя для многих это спорный аргумент.

Цитата(AlexandrY @ Oct 7 2017, 15:04) *
Макрос будет ваш довольно сложным.

Я вас умоляюsm.gif
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Oct 7 2017, 13:20
Сообщение #5


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(x736C @ Oct 7 2017, 15:46) *
По уму в Access, но если нет желания с ним связываться, то легко реализуется на VB script в самом Excel.

VB script в Excel? biggrin.gif
Я не помню уже тех времен когда в Excel можно было что-то написать на VB script если это в принципе было возможно.

Сейчас пишут на VBA. API VBA одинаковое что в Excel, что в Access.
Поэтому для разроботчика на API VBA в принципе нет разница в Excel или в Access писать.
Только в шитах в Excel программист вынужден будет делать бескорнечные циклы по ячейкам и промежуточные таблицы вместо того чтобы написать короткие SQL команды.
Go to the top of the page
 
+Quote Post
x736C
сообщение Oct 7 2017, 13:39
Сообщение #6


Профессионал
*****

Группа: Участник
Сообщений: 1 273
Регистрация: 3-03-06
Пользователь №: 14 942



Да, имел в виду VBA. В общем, несложный скрипт для такой задачи. Не спорю, что с Access все удобнее и проще.

Цитата(AlexandrY @ Oct 7 2017, 16:20) *
Только в шитах в Excel программист вынужден будет делать бескорнечные циклы по ячейкам и промежуточные таблицы
Вы просто не умеете его готовитьsm.gif
Никаких бесконечных циклов, и без промежуточных можно обойтись.

Сообщение отредактировал x736C - Oct 7 2017, 13:42
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Oct 7 2017, 13:40
Сообщение #7


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(x736C @ Oct 7 2017, 16:33) *
В общем, несложный скрипт для такой задачи.

Да конечно он не сложный для профессионала.
А написал за час в Access. В Excel написал бы за день, но не буду.
Напишите в Excel если вам так нравиться.
Будет чем помериться. smile3009.gif
Go to the top of the page
 
+Quote Post
x736C
сообщение Oct 7 2017, 13:48
Сообщение #8


Профессионал
*****

Группа: Участник
Сообщений: 1 273
Регистрация: 3-03-06
Пользователь №: 14 942



Кстати, у меня Excel честно купленный. А Ваш Access? Ну ладно, это я придираюсьsm.gif

А так да, денек я бы может и убил бы на такой скрипт. Но может и быстрее. Мне почему-то представляется все совсем просто.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Oct 7 2017, 14:05
Сообщение #9


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(x736C @ Oct 7 2017, 16:48) *
Кстати, у меня Excel честно купленный. А Ваш Access? Ну ладно, это я придираюсьsm.gif

Даю совет. Приложения Access работают без MS Office - под голой виндой.
Поэтому спокойно качайте триал, делайте приложение и раздавайте всем желающим.
Вот мой проект - https://github.com/Indemsys/Consolidated-BO...dated_BOM.accdb
Go to the top of the page
 
+Quote Post
DVF
сообщение Oct 8 2017, 00:16
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 630
Регистрация: 26-07-06
Из: Саратов
Пользователь №: 19 097



Цитата(AlexandrY @ Oct 7 2017, 18:05) *

И все? А, где хелп для начинающих?
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Oct 8 2017, 07:31
Сообщение #11


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(DVF @ Oct 8 2017, 03:16) *
И все? А, где хелп для начинающих?

Предполагается, что пользователь имеет представление об SQL и редакторах таблиц в Access.
Если нет, то читать мануал на Access.

Самое сложное действие пользователя здесь - вставить в базу данных ссылки на внешние таблицы в Excel
Это делается в закладке "Внешние данные" -> "Создать источник данных" -> "Из файла" -> "Excel", а там выбрать опцию "Создать связанную таблицу для связи с источником данных"

Далее нажать последовательно три кнопки слева на право в форме.
После редактирования названия плат нажимать вторую кнопку.
После редактировании количества плат нажимать только третью кнопку.

Какие поля должны быть в BOM-е можно посмотреть в таблице BOM_table_template
Такие же поля должны быть в BOM-ах в Excel. Но могут быть и дополнительные, они просто не попадут в консолидированный BOM.
Если поля не нравятся, то придеться редактировать запросы quElements_by_Boards, quBOM_, quBOM, quAllBomsUnion_w_Total
Группировка производится по полям LibRef и PartNum. Они должны иметь уникальные значения для разных деталей.
Но опять же, это не сложно изменить.
Go to the top of the page
 
+Quote Post
PCBExp
сообщение Oct 8 2017, 11:44
Сообщение #12


Знающий
****

Группа: Участник
Сообщений: 578
Регистрация: 23-12-06
Из: Москва
Пользователь №: 23 823



Цитата(x736C @ Oct 7 2017, 16:48) *
Кстати, у меня Excel честно купленный. А Ваш Access? Ну ладно, это я придираюсьsm.gif

А так да, денек я бы может и убил бы на такой скрипт. Но может и быстрее. Мне почему-то представляется все совсем просто.


Мне Excel тоже ближе. О базах типа Access я совсем поверхностное представление имею и разбираться в этом нет ни малейшего желания. Интересно а сколько может такая работа стоить если ее профессионалам заказать?
Go to the top of the page
 
+Quote Post
x736C
сообщение Oct 8 2017, 12:11
Сообщение #13


Профессионал
*****

Группа: Участник
Сообщений: 1 273
Регистрация: 3-03-06
Пользователь №: 14 942



PCBExp, подозреваю, что не очень много. Тем более, что не нужно быть особо профессионалом. По VBA есть отдельные форумы, там такие задачки решают чуть ли не студенты. Это в общем-то студенческая задачка.
В Excel встроены удобные функции, которые позволяют сильно упростить определение каких-то вещей.
Например, абсолютные адреса начала или конца таблицы вычисляются одной простой командой. Ну и так далее.

Цитата(PCBExp @ Oct 7 2017, 10:53) *
Потом (если решим эту задачу) усложним задачу! На одном таком изделии может быть 2 одинаковых дочки и одна непохожая - то есть надо количество дочек как то учесть.
Этот момент не очень понятен. Приведите конкретный пример, как вручную это делается сейчас.

Сообщение отредактировал x736C - Oct 8 2017, 12:49
Go to the top of the page
 
+Quote Post
PCBExp
сообщение Oct 8 2017, 15:13
Сообщение #14


Знающий
****

Группа: Участник
Сообщений: 578
Регистрация: 23-12-06
Из: Москва
Пользователь №: 23 823



Цитата(x736C @ Oct 8 2017, 15:11) *
PCBExp,
Этот момент не очень понятен. Приведите конкретный пример, как вручную это делается сейчас.

Я в этой теме закупщику помочь хотел. Например он получает задачу произвести оборудование для 250 шкафов управления освещением. В каждом шкафу 2 одинаковых изделия и 3 разных. Всего 4 типа. Для простоты скажем что каждое изделие это одноплатная конструкция. На каждую плату есть BOM. Отсуда надо: три типа по штуке и четвертый тип 2 штуки на шкаф. И всего этого добра на 250 шкафов.

Сообщение отредактировал PCBExp - Oct 8 2017, 15:13
Go to the top of the page
 
+Quote Post
x736C
сообщение Oct 8 2017, 15:19
Сообщение #15


Профессионал
*****

Группа: Участник
Сообщений: 1 273
Регистрация: 3-03-06
Пользователь №: 14 942



Закупщик получает задачу произвести оборудование?

Очень размыто.

С первой частью задачи все понятно. Есть пересекающиеся позиции и уникальные. Пересекающиеся надо просуммировать и записать одной записью.

1. Что такое «дочка»? Дочерняя плата или что? Я просто не в теме. При аббревиатуре BOM я представляю себе список из резисторов, конденсаторов и прочей комплектухи. Понятно, что это может быть что угодно. Но тогда нужно более конкретный пример.

2. Что значит «надо как-то учесть»? Как вы ее сейчас учитываете?

3. 250 шкафов — это 250 отдельных Excel-таблиц, которые надо свести в одну?

Сообщение отредактировал x736C - Oct 8 2017, 15:20
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th April 2024 - 15:34
Рейтинг@Mail.ru


Страница сгенерированна за 0.01521 секунд с 7
ELECTRONIX ©2004-2016