Перейти к содержанию
    

как получить сводный BOM многоплатного изделия?

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

 

Потом (если решим эту задачу) усложним задачу! На одном таком изделии может быть 2 одинаковых дочки и одна непохожая - то есть надо количество дочек как то учесть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Программу TDD видели? ВП документик называется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если только макрос привлечь?

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

 

По уму это делается в Access

post-2050-1507377398_thumb.png

Сначала в Access вставляются все ваши внешние BOM-ы сделанные в Excel.

Потом нажимется конопка и генерируется таблица плат. В ней после генерации указываете количестов плат каждого типа.

Потом жмете кнопку и происходит обновление содержимого SQL запросов в базе данных.

Данные собираются несколькими специальными запросами текст которых зависит от таблицы плат.

В результате генерируется сводная таблица консолидированного BOM-а

 

Т.е. в этой базе динамически меняется структура SQL запросов.

Вряд ли вы в голом Excel-е это так просто сделаете.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По уму в Access, но если нет желания с ним связываться, то легко реализуется на VB script в самом Excel.

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

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

 

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

Я вас умоляю:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По уму в Access, но если нет желания с ним связываться, то легко реализуется на VB script в самом Excel.

VB script в Excel? :biggrin:

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

 

Сейчас пишут на VBA. API VBA одинаковое что в Excel, что в Access.

Поэтому для разроботчика на API VBA в принципе нет разница в Excel или в Access писать.

Только в шитах в Excel программист вынужден будет делать бескорнечные циклы по ячейкам и промежуточные таблицы вместо того чтобы написать короткие SQL команды.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Только в шитах в Excel программист вынужден будет делать бескорнечные циклы по ячейкам и промежуточные таблицы
Вы просто не умеете его готовить:)

Никаких бесконечных циклов, и без промежуточных можно обойтись.

Изменено пользователем x736C

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В общем, несложный скрипт для такой задачи.

Да конечно он не сложный для профессионала.

А написал за час в Access. В Excel написал бы за день, но не буду.

Напишите в Excel если вам так нравиться.

Будет чем помериться. :smile3009:

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Даю совет. Приложения Access работают без MS Office - под голой виндой.

Поэтому спокойно качайте триал, делайте приложение и раздавайте всем желающим.

Вот мой проект - https://github.com/Indemsys/Consolidated-BO...dated_BOM.accdb

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И все? А, где хелп для начинающих?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И все? А, где хелп для начинающих?

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

Если нет, то читать мануал на Access.

 

Самое сложное действие пользователя здесь - вставить в базу данных ссылки на внешние таблицы в Excel

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

 

Далее нажать последовательно три кнопки слева на право в форме.

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

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

 

Какие поля должны быть в BOM-е можно посмотреть в таблице BOM_table_template

Такие же поля должны быть в BOM-ах в Excel. Но могут быть и дополнительные, они просто не попадут в консолидированный BOM.

Если поля не нравятся, то придеться редактировать запросы quElements_by_Boards, quBOM_, quBOM, quAllBomsUnion_w_Total

Группировка производится по полям LibRef и PartNum. Они должны иметь уникальные значения для разных деталей.

Но опять же, это не сложно изменить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 

Мне Excel тоже ближе. О базах типа Access я совсем поверхностное представление имею и разбираться в этом нет ни малейшего желания. Интересно а сколько может такая работа стоить если ее профессионалам заказать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

В Excel встроены удобные функции, которые позволяют сильно упростить определение каких-то вещей.

Например, абсолютные адреса начала или конца таблицы вычисляются одной простой командой. Ну и так далее.

 

Потом (если решим эту задачу) усложним задачу! На одном таком изделии может быть 2 одинаковых дочки и одна непохожая - то есть надо количество дочек как то учесть.
Этот момент не очень понятен. Приведите конкретный пример, как вручную это делается сейчас.
Изменено пользователем x736C

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

PCBExp,

Этот момент не очень понятен. Приведите конкретный пример, как вручную это делается сейчас.

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

Изменено пользователем PCBExp

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 

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

 

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

 

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

 

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

Изменено пользователем x736C

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...