Автоматизация загрузки кодов маркировки (КМ) — актуальная задача при работе с удаленными складами. Рассмотрим, как правильно организовать этот процесс, чтобы коды попадали в базу корректно и были привязаны к документам ПриобретениеТоваровУслуг или РеализацияТоваровУслуг. При необходимости автоматической загрузки данных из электронных накладных подойдёт обработка для загрузки кодов маркировки из файлов УПД.
Для корректной работы важно понимать, что простого заполнения табличной части недостаточно. Система использует справочник ШтрихкодыУпаковокТоваров как мастер-объект и регистр сведений ШтрихкодыНоменклатуры для оперативного поиска. Мы рекомендуем использовать типовые методы для работы с этими данными.
Прежде чем записывать код в базу, его необходимо нормализовать. Типовые механизмы 1С позволяют разобрать строку кода маркировки на составляющие (GTIN, серийный номер и т.д.). Для этого используем серверные функции:
сэ_НастройкиРазбора = РазборКодаМаркировкиИССлужебныйКлиент.НастройкиРазбораКодаМаркировки;
сэ_ДанныеРазбора = РазборКодаМаркировкиИССлужебныйКлиентСервер.РазобратьКодМаркировки(Штрихкод,,,сэ_НастройкиРазбора, Ложь, РазборКодаМаркировкиИССлужебныйКлиент);
Эти данные потребуются для инициализации элемента справочника ШтрихкодыУпаковокТоваров.
Не пытайтесь записывать реквизиты напрямую через СоздатьЭлемент(). Используйте метод СоздатьШтрихкодУпаковки(), так как он корректно инициализирует все внутренние служебные поля, необходимые для последующего обмена с «Честным ЗНАКом».
ДанныеШтрихкодаУпаковок = Новый Структура;
ДанныеШтрихкодаУпаковок.Вставить("Ответственный", Пользователи.ТекущийПользователь);
ДанныеШтрихкодаУпаковок.Вставить("ДатаУпаковки", ТекущаяДатаСеанса);
ДанныеШтрихкодаУпаковок.Вставить("Количество", 1);
ДанныеШтрихкодаУпаковок.Вставить("Номенклатура", Номенклатура);
ДанныеШтрихкодаУпаковок.Вставить("Штрихкод", НормализованныйКод);
ДанныеШтрихкодаУпаковок.Вставить("ТипШтрихкода", Перечисления.ТипыШтрихкодов.GS1_DataMatrix);
ДанныеШтрихкодаУпаковок.Вставить("ТипУпаковки", Перечисления.ТипыУпаковок.МаркированныйТовар);
ДанныеШтрихкодаУпаковок.Вставить("ВидПродукции", ИнтеграцияИС.ВидПродукцииПоНоменклатуре(Номенклатура));
ШтрихкодУпаковкиСсылка = Справочники.ШтрихкодыУпаковокТоваров.СоздатьШтрихкодУпаковки(ДанныеШтрихкодаУпаковок);
После создания элемента справочника, необходимо связать его с документом. В документе ПриобретениеТоваровУслуг за это отвечает табличная часть ШтрихкодыУпаковок. Важно записывать ссылку на созданный элемент именно в эту таблицу, чтобы типовая проверка маркировок «видела» эти данные.
GS1 DataMatrix.РеализацияТоваровУслуг — это учетный документ, а списание кодов маркировки из оборота производится через специализированный документ Отгрузка товаров ИС МП. Именно в нем реализован механизм взаимодействия с системой маркировки.Следуя этим шагам и используя методы ИнтеграцияИС, вы добьетесь стабильной работы системы без нарушения внутренней логики конфигурации УТ 11.4.