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

 
 
 
Reply to this topicStart new topic
> Программа автоматического поиска цен у продавцов прямо из BOM-а, Делюсь вариантом реализации
AlexandrY
сообщение Dec 23 2013, 09:20
Сообщение #1


Ally
******

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



Написал код для 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".
Минимальная цена расчитывается для общего получившегося количества и выводится только если в стоке есть необходимое количество.

[attachment=81827:OctopartFinder.png]

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

Собственно код - [attachment=81828:OctopartFinder.zip]
Go to the top of the page
 
+Quote Post
a123-flex
сообщение Dec 23 2013, 18:30
Сообщение #2


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

Группа: Свой
Сообщений: 1 687
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 884



мда. приложение описано прекрасное. а нельзя ли его как-нибудь упростить, в свете вот етой
http://habrahabr.ru/post/169675/
статейки, хотя бы к office 2007 ?
а еще круче к openoffice)


--------------------
Если хочешь узнать, что ждет тебя на дороге впереди, спроси у тех, кто возвращается по ней.
Go to the top of the page
 
+Quote Post
lekintr
сообщение Dec 23 2013, 19:04
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 112
Регистрация: 10-10-13
Пользователь №: 78 684



Офигеть 12 скачиваний и так мало отзывов..
Крутейшая примочка, спасибо огроменное!!!
Зачетнейший зачет. СПАСИБО.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Dec 23 2013, 20:12
Сообщение #4


Ally
******

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



Цитата(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, запросы, таблицы, связи и т.д. в режиме разработки.

Кстати вот уже и первое обновление: [attachment=81845:OctopartFinder.zip]
Исправлен баг с кликабельностью URL-ов. В предыдущей версии кликнув по полю с URL не вызывалось окно броузера с заданной страницей.
Теперь вызывается и открывается окно с информацией о компоненте на сайте продавца.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jan 8 2014, 12:28
Сообщение #5


Ally
******

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



Обновлена версия программы.

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

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

Если в импортируемом из Excel BOM-е нет поля quantity, то программа добавит его автоматически. Поле нужно для расчета полной цены BOM-а.
[attachment=82087:Octopart..._demoBOM.zip]
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 16th June 2025 - 23:33
Рейтинг@Mail.ru


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