Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Программа автоматического поиска цен у продавцов прямо из BOM-а
Форум разработчиков электроники ELECTRONIX.ru > Печатные платы (PCB) > Разрабатываем ПП в САПР - PCB development > Altium Designer, DXP, Protel
AlexandrY
Написал код для MS Access который автоматически проходит по всем строкам BOM-а (bill of materials, список деталей) и ищет заданные позиции на складах мировых дистрибуторов компонентов через WEB сервис Octopart.

Каждой строчке BOM-а могут быть найдены сотни позиций. Создается таблица результатов поиска с соотношением один-ко-многим.
Строчки BOM-а получают подчиненые субтаблицы с результатами.
Потом вычисляются минимальные цены для заданного объема закупки(нажать Recalc Lowest Price) и записываются обратно в BOM.
Потом цены конвертируются в заданную валюту(обменный курс в таблице tbl_CurrRates) и считает себестоимость BOM-а

Можно сканировать по всему спику, можно по каждому компоненту отдельно. Поиск можно задавать по любому полю BOM-а.
Сам BOM ипортируется из таблицы EXCEL (нажать Import BOM). Таблица может содержать любые столбцы, главное чтобы имела заголовок.
Таблицы которые генерирует Altium подходят идеально.

Код работает в MS Access 2013 64-х битной версии.
Перед использованием надо получить у Octopart свой ключ API для данного приложения (выдают с минимумом формальностей).
Сканирование идет со скоростью не более 3 строк BOM-а в секунду. Это ограничение Octopart для бесплатной подписки. Для реальных BOM-ов более чем нормально.

Программа учитывает количество по BOM-у и еще умножает на величину в поле "multiplier".
Минимальная цена расчитывается для общего получившегося количества и выводится только если в стоке есть необходимое количество.

Нажмите для просмотра прикрепленного файла

Код не окончательный и не референсный, предназначен для допиливания. wink.gif
Сылки на API других аналогичных WEB сервисов приветствуются.

Собственно код - Нажмите для просмотра прикрепленного файла
a123-flex
мда. приложение описано прекрасное. а нельзя ли его как-нибудь упростить, в свете вот етой
http://habrahabr.ru/post/169675/
статейки, хотя бы к office 2007 ?
а еще круче к openoffice)
lekintr
Офигеть 12 скачиваний и так мало отзывов..
Крутейшая примочка, спасибо огроменное!!!
Зачетнейший зачет. СПАСИБО.
AlexandrY
Цитата(a123-flex @ Dec 23 2013, 20:30) *
мда. приложение описано прекрасное. а нельзя ли его как-нибудь упростить, в свете вот етой
http://habrahabr.ru/post/169675/
статейки, хотя бы к office 2007 ?
а еще круче к openoffice)


Понизить до Office 2010 еще можно, насчет 2007 не знаю.
Надо только убрать PtrSafe в объявлениях функций Windows API. Их там на пальцах пересчитать.

А вообще для Access Microsoft дает бесплатный runtime движок с помощью которого под Windows файлы Access выполняются даже без установки MS Office. Единственно там нельзя будет править VBA, запросы, таблицы, связи и т.д. в режиме разработки.

Кстати вот уже и первое обновление: Нажмите для просмотра прикрепленного файла
Исправлен баг с кликабельностью URL-ов. В предыдущей версии кликнув по полю с URL не вызывалось окно броузера с заданной страницей.
Теперь вызывается и открывается окно с информацией о компоненте на сайте продавца.
AlexandrY
Обновлена версия программы.

Добавлен выбор типа запроса к поисковику Octoparts.
Раньше программа выполняла только запрос типа MATCH.
Это приводило к поиску только точного соответствия и сужало результат (хотя и работали символы подстановки * и ?) .
Теперь выбрав тип запроса SEARCH поисковик выдаст все что хотя бы немного похоже на запрос.
Например можно написать "pin header 2pos" и поисковик найдет чуть ли не тысячу предложений.
Потом из полученного списка в подтаблице для компонента можно найти более точное наименование и перезаписать его в поле используемое для поиска и запустить запрос MATCH.

Также добавилось поле Limit - это верхний предел количества возвращаемых результатов. Для запроса MATCH значение Limit не должно быть более 20.
Запрос Search может вернуть и больше тысячи результатов.
Один результат может включать сотни предложений цены, поэтом верхняя граница результатов не говорит о том сколько будет предложено цен.

Если в импортируемом из Excel BOM-е нет поля quantity, то программа добавит его автоматически. Поле нужно для расчета полной цены BOM-а.
Нажмите для просмотра прикрепленного файла
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.