Как программно загрузить коды маркировки в документы поступления и реализации в 1С:Управление торговлей 11.4?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

Автоматизация загрузки кодов маркировки (КМ) — актуальная задача при работе с удаленными складами. Рассмотрим, как правильно организовать этот процесс, чтобы коды попадали в базу корректно и были привязаны к документам ПриобретениеТоваровУслуг или РеализацияТоваровУслуг. При необходимости автоматической загрузки данных из электронных накладных подойдёт обработка для загрузки кодов маркировки из файлов УПД.

Архитектурные основы системы маркировки в 1С

Для корректной работы важно понимать, что простого заполнения табличной части недостаточно. Система использует справочник ШтрихкодыУпаковокТоваров как мастер-объект и регистр сведений ШтрихкодыНоменклатуры для оперативного поиска. Мы рекомендуем использовать типовые методы для работы с этими данными.

Шаг 1: Подготовка данных и разбор кода маркировки

Прежде чем записывать код в базу, его необходимо нормализовать. Типовые механизмы 1С позволяют разобрать строку кода маркировки на составляющие (GTIN, серийный номер и т.д.). Для этого используем серверные функции:


сэ_НастройкиРазбора = РазборКодаМаркировкиИССлужебныйКлиент.НастройкиРазбораКодаМаркировки;
сэ_ДанныеРазбора = РазборКодаМаркировкиИССлужебныйКлиентСервер.РазобратьКодМаркировки(Штрихкод,,,сэ_НастройкиРазбора, Ложь, РазборКодаМаркировкиИССлужебныйКлиент);

Эти данные потребуются для инициализации элемента справочника ШтрихкодыУпаковокТоваров.

Шаг 2: Программное создание записи в справочнике

Не пытайтесь записывать реквизиты напрямую через СоздатьЭлемент(). Используйте метод СоздатьШтрихкодУпаковки(), так как он корректно инициализирует все внутренние служебные поля, необходимые для последующего обмена с «Честным ЗНАКом».


ДанныеШтрихкодаУпаковок = Новый Структура;
ДанныеШтрихкодаУпаковок.Вставить("Ответственный", Пользователи.ТекущийПользователь);
ДанныеШтрихкодаУпаковок.Вставить("ДатаУпаковки", ТекущаяДатаСеанса);
ДанныеШтрихкодаУпаковок.Вставить("Количество", 1);
ДанныеШтрихкодаУпаковок.Вставить("Номенклатура", Номенклатура);
ДанныеШтрихкодаУпаковок.Вставить("Штрихкод", НормализованныйКод);
ДанныеШтрихкодаУпаковок.Вставить("ТипШтрихкода", Перечисления.ТипыШтрихкодов.GS1_DataMatrix);
ДанныеШтрихкодаУпаковок.Вставить("ТипУпаковки", Перечисления.ТипыУпаковок.МаркированныйТовар);
ДанныеШтрихкодаУпаковок.Вставить("ВидПродукции", ИнтеграцияИС.ВидПродукцииПоНоменклатуре(Номенклатура));

ШтрихкодУпаковкиСсылка = Справочники.ШтрихкодыУпаковокТоваров.СоздатьШтрихкодУпаковки(ДанныеШтрихкодаУпаковок);

Шаг 3: Связь с документом

После создания элемента справочника, необходимо связать его с документом. В документе ПриобретениеТоваровУслуг за это отвечает табличная часть ШтрихкодыУпаковок. Важно записывать ссылку на созданный элемент именно в эту таблицу, чтобы типовая проверка маркировок «видела» эти данные.

Важные рекомендации по тестированию

  1. Валидация форматов: При загрузке файла проверяйте, чтобы структура кода соответствовала формату GS1 DataMatrix.
  2. Тестовый контур: Поскольку реальный обмен с «Честным ЗНАКом» требует электронных подписей и живых кодов, используйте контур тестирования API (песочницу) для отладки передачи данных.
  3. Разделение учета: Помните, что РеализацияТоваровУслуг — это учетный документ, а списание кодов маркировки из оборота производится через специализированный документ Отгрузка товаров ИС МП. Именно в нем реализован механизм взаимодействия с системой маркировки.

Следуя этим шагам и используя методы ИнтеграцияИС, вы добьетесь стабильной работы системы без нарушения внутренней логики конфигурации УТ 11.4.

← На главную