В торговых компаниях часто возникает ситуация, когда один и тот же товар поступает от разных поставщиков под различными наименованиями. Для ведения корректного складского и управленческого учета товары должны числиться на одном внутреннем элементе справочника Справочник.Номенклатура. При этом при оформлении заказов или печати документов поставщикам требуется видеть их собственные наименования позиций.
Рассмотрим подробно, как правильно организовать архитектуру сопоставления наименований в конфигурациях на платформе 1С 7.7 (например, «Торговля и Склад 9.2»), а также проанализируем правовые и технические особенности этого процесса.
Прежде чем переходить к технической реализации в 1С 7.7, проанализируем юридическую и учетную сторону вопроса. Оприходование товаров под внутренними наименованиями компании полностью законно, однако требует правильного бумажного оформления, чтобы избежать претензий со стороны налоговых органов (ИФНС) при проверках НДС и расходов.
Проанализируем встроенные возможности типовой конфигурации «Торговля и Склад 9.2». В платформе 1С 7.7 предусмотрены механизмы для хранения сведений о товарах поставщиков без изменения структуры базы данных.
Связка осуществляется через цепочку объектов:
Справочник.Номенклатура — наша основная база товаров, по которой ведутся остатки, приход, расход и финансовый учет.Справочник.Аналоги — справочник, подчиненный нашей номенклатуре. В нем регистрируются альтернативные позиции.Справочник.Каталоги — хранит привязку аналогов к конкретным контрагентам (поставщикам) и документам поступления.Преимущество этого метода заключается в том, что нам не требуется менять структуру данных в конфигураторе. Данные об аналогах хранятся в штатных таблицах, а поиск и выбор нужного товара можно производить по аналогу с автоматическим выходом на основную карточку нашей номенклатуры.
Если штатный механизм кажется громоздким или требует специфической доработки под нужды операторов, рассмотрим создание нового справочника в Конфигураторе 1С 7.7.
Разберем по шагам структуру нового объекта и порядок работы с ним:
НоменклатураПоставщиков. В качестве владельца указываем Справочник.Контрагенты.Наименование (Строка) — наименование товара точно так, как оно указано в прайс-листе или накладной поставщика.АртикулПоставщика (Строка) — код или артикул позиции в базе поставщика.НашаНоменклатура (Тип: Справочник.Номенклатура) — ссылка на соответствующий элемент из нашей основной базы.Номенклатура автоматически подставляется значение из реквизита НашаНоменклатура.Посмотрим на пример простейшего кода на встроенном языке 1С 7.7, который отрабатывает при выборе позиций в форме документа:
Процедура ПриВыбореНоменклатурыПоставщика()
// Проверяем, выбрано ли значение номенклатуры контрагента
Если ПустоеЗначение(НоменклатураПоставщика) = 0 Тогда
// Подставляем нашу внутреннюю номенклатуру для учета остатков
Номенклатура = НоменклатураПоставщика.НашаНоменклатура;
// Если цена не заполнена, подтягиваем цену поставщика
Если Цена = 0 Тогда
Цена = НоменклатураПоставщика.ЦенаЗакупа;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Для печати документов поставщику или покупателю создается внешняя печатная форма (файл с расширением .ERT), которая при выводе на печать берет значение наименования из поля номенклатуры поставщика, а не из основной карточки товара.
Самый трудоемкий этап работы — сопоставление наименований из прайс-листов поставщиков с внутренней базой. Рассмотрим основные способы автоматизации этой задачи:
strmatch или алгоритм Левенштейна).При использовании алгоритмов нечеткого поиска оператору системы выводится список наименований с процентом совпадения. Оператор в «беглом» режиме лишь подтверждает автоматические привязки или корректирует спорные позиции.
При реализации системы сопоставления номенклатуры на платформе 1С 7.7 необходимо учитывать следующие технические особенности:
.ERT).