Сделана на основе стандартной обработки "ИмпортСправочников" в Комплексной конфигурации (7.7). Импорт прайсов на основе аналогов номенклатуры или поиска близких наименований по шаблону
(+) Потому как идея правильная. Свою более функциональную не выкладываю - жаба, сволочь, душит. Но взяв за основу эту + нечеткое сравнение строк - можно хороший комплекс сваять...
а нечеткое сравнение строк - вторая обработка (отдельная) - и используется для добавления позиций в аналоге (чтобы не ручками) : во-первых при нечетком сравнении прайс грузиться сутки будет, во вторых - можно закачку доверить "девочке" которая сама выбирать "похожее" (с ее точки зрения) не будет. Ведь могут быть тонкости типа BOX/OEM/RET или буква гдето или интерфейс немного другой но таже модель - цена соответственно может отличаться существенно - ведь товар то другой!
Сутки не будет. У меня примерно 10000 позиций в авторежиме идентифицируется примерно минут 20.. А потом иерархическая процедура проверки правильности идентификации =- у меня целая методика есть, успешно работает... А с накоплением прайсов и аналогов точность автопривязки новых прайсов можно довести почти до 100% - сравнивать не только со своей номенклатурой, но и с уже привязанными аналогами.. ну дальше понятно... Чувствую, надо скриншотов наделать и выложить на оборзение народа - мож кому и интересно будет...
Если с умом подойти
"Родственная разработка" для иллюстрации нечеткого сравнения
http://infostart.ru/projects/index.php?id=393&order=date&ref=174 Если к твоей загрузке прикрутить выбор "нечеткой" позиции (как у меня в разработке) - будет уже пучково! - может кому и пригодится...
У меня при запуске выдает следующее:
Если ПустоеЗначение(Константа.ВидСвойстваНоменклатуры) = 0 Тогда
{C:\PROGRAM FILES\1CV77\EXTFORMS\ИМПОРТПРАЙСЛИСТОВ.ERT(83)}: Поле агрегатного объекта не обнаружено (ВидСвойстваНоменклатуры)
(8) крайне желетелден некий ОДНОЗНАЧНЫЙ ИД, идентифицирующий данную позицию по "списку" поставщика; это может быть:
- код по базе поставщика;
- артикул товара по базе поставщика;
- шк товара (еан или иной однозначно определяющий);
- некий ИД самого товара (например типа микросхема однозначно определяется макрикровкой на корпусе);
.. в случае отсутствия такого ИДа в его качестве используем наименование товара (+производитель), переведенное НОРМАЛИЗАЦИЯНЕЗНАЧАЩИХСИМВОЛОВ(СОКРЛП(ВРЕГ()))
(9) этот код должен быть одинаковым у поставщика и у меня?
предположим я у себя в базе запомню какой код у поставщика_1
для каждого моего товара...
а дальше придет прайс от поставщика_2 с его кодами товаров,
а у меня 1С-ка уже запомнила другие коды,
как я загружу прайс_2?
Включаем мозги!
У каждого прайса есть "хозяин".
если хозяин = неизвестный, то какая ценность от такого прайса?
Соответсвенно, запоминая прайс поставщика - мы однозначно идентифицируем его (сам прайс) неким удобным нам образом, например? указываем, кто является хозяином прайса.
Все просто!) У каждой номенклатуры есть подчиненный справочник Аналоги. В нем есть Наименование - тут название этой номенклатуры в том виде, в каком он виден в прайсе поставщика, Каталог Аналога - тут как раз привязка к конкретному поставщику, как сказал Сhe Burashka - "хозяин" прайса. Ну назовите его например "Каталог Поставщика 1", и есть идентификатор в каталоге - это артикул или ID номер товара в прайсе данного поставщика. Таким образом, для каждого товара вы создаете кучу аналогов по каждому закачиваемогу прайсу, ну и вперед, качаем прайсы...
На январские каникулы думаю переносить все наработки на восьмерку...бррр...давно решались перейти, да как подумаешь скока лопатить........
На восьмерке все еще не реализовано, но там возможности шире и поэтому получается более интересное решение. Правда еще на заброшенной стадии в связи с тем что сами на восьмерку не успели перейти. Скорее всего к началу года будет сделано для перехода работы на восьмерке
выбираем перечень полей из прайса поставщика, которые будут "составлять" уникальный ИД. На примере лекарств таким ИДом будет являться ИД=Наименование+Производитель, Полученный ИД "нормализуем":
1. выкидывем все символы из данного списка - <пробел>.,;'*/?!#$@" ну и прочее подобное
2. переводим все в верхний регистр
ОПА! - вот он, ИД!
я еще наименование и производителя разделяю спецсимволом типа 0135 - чтоб если что вытащить...
Не понял. Если у меня в названии товара 35 символов + 7 символов название производителя то ИД будет 42 символа? Нужно чтобы арикул содержал 7 символов, вне зависимости от названия товара и производителя.
(18) можешь сгенерить и уникальный артикул для позиции поставщика - что с ним дальше делать будешь? этот артикул все равно придется привязывать к позиции поставщика... читай (20) последний абзац
Если наконец дойдут руки и сделаю наконец под восьмерку, то выложу, я сторонник свободного ПО))) Так что - не жалко, только бы время найти... Из-за времени и не перешли в этом году на восьмерку. Хотя на восьмерке получается гораздо удобнее и нагляднее загрузка. В ней я решил идти "от обратного" - Если раньше искал в своем товаре совпадения с загружаемыми, то теперь наоборот - весь прайс загружается в справочник "Номенклатура контрагентов" а потом идет поиск совпадений по новым алгоритмам и в наглядном виде появляется таблица соответствий. Затем в интерактивном режиме можно добавить соответствия, которые тут же запоминаются и заливаются цены... Мне это больше понравилось. Но доделать некогда.
А по поводу прайсов без артикула - правильно сказал Чебур{Здарова, давненько чет не заходил я сюда} )) Хотя я поступаю проще... В семерке например есть в справочнике "Аналог" и Наименование и Артикул. Так кто же мешает искать совпадение либо по артикулу либо по полному наименованию? Ну а в случае с "колесами" объеденить наименование и производителя в одну строку и добавить в аналог...
Ясно, спасибо за разъяснения. А какие на сегодняшний момент есть бесплатные загрузчики прайсов с аналогами (синонимами) номенклатуры? Вкратце: в номенклатуре наименование товаров идентичное с названием у производителя, но поставщики в прайсах пишут кто как хочет )). Без синонимайзера не обойтись.
Перенос данных КА 1.1 => КА 2 / УТ 11 (перенос документов, начальных остатков и справочной информации из "1С:Комплексная автоматизация", ред.1.1 в "1С:Комплексная автоматизация", ред. 2.х)
Перенос данных КА 1.1 => КА 2 / УТ 11 (перенос документов, начальных остатков и справочной информации из "1С:Комплексная автоматизация", ред.1.1 в "1С:Комплексная автоматизация", ред. 2.х)