Сегодня мы подробно разберем сложную, но крайне актуальную задачу: как выстроить процессы маркировки (Честный Знак), если компания является производителем, торгует на маркетплейсах (Wildberries, Ozon, Яндекс.Маркет), использует самописную учетную систему на платформе 1С и ЭДО от СБИС. Рассмотрим варианты интеграции, распределение ответственности и технические нюансы схем FBO и FBS.
Проанализируем типичную ситуацию, с которой сталкиваются разработчики:
Главный вопрос заключается в том, где и как гасить марки, как передавать их маркетплейсу и стоит ли "допиливать" самописку.
Если у клиента уже настроен СБИС, и нет желания внедрять тяжелую библиотеку интеграции с ГосИС в самописную конфигурацию, рациональнее всего переложить задачи по взаимодействию с СУЗ (Станцией Управления Заказами) на личный кабинет оператора ЭДО.
Разберем этот алгоритм по шагам:
Вместо того чтобы писать API-обмен с Честным Знаком в 1С, производитель может использовать инструменты СБИС. Номенклатура выгружается из 1С в СБИС (через Excel или внешнюю обработку). Заказ кодов DataMatrix, их оплата и печать этикеток происходят в интерфейсе СБИС.
После нанесения марок на производстве, этап «Ввод в оборот» также выполняется в личном кабинете СБИС. Это критически важно для производителя. Товар нельзя отгружать, пока он находится в статусе «Эмитирован» — он должен быть «В обороте».
В самописной 1С формируется документ реализации. Важно, чтобы в вашей системе хранились хотя бы GTIN товаров. Сами коды маркировки (полные строки DataMatrix) хранить в самописке при таком подходе необязательно, если вы не планируете генерировать XML УПД средствами 1С.
Это самый ответственный момент. Маркетплейсы требуют передачу кодов маркировки через УПД (Универсальный передаточный документ) по ЭДО.
Вариант реализации: Выгружаете «чистый» документ реализации из 1С в СБИС. В интерфейсе СБИС при редактировании документа сканируете коды маркировки, которые уезжают на склад маркетплейса. СБИС сам сформирует корректный XML-файл (формат УПД 2019/ДОП) и заполнит теги маркировки.
Если объемы большие и сканировать коды в веб-интерфейсе ЭДО неудобно, придется научить самописную 1С работать с маркировкой. Рассмотрим, что необходимо реализовать программно.
Вам потребуется добавить регистр для хранения кодов маркировки. Структура может выглядеть так:
// Примерная структура регистра сведений "КодыМаркировки"
Измерения:
ПолныйКод (Строка) // Полная строка DataMatrix
ХешКода (Строка) // Для быстрого поиска
Ресурсы:
Статус (Перечисление) // Эмитирован, ВОбороте, Выбыл, Отгружен
ДокументОснование (ДокументСсылка)
Далее разберем специфику работы по схемам FBO и FBS, так как алгоритмы для них различаются.
При этой схеме производитель отгружает оптовую партию товара на склад площадки. Важное изменение правил: Раньше (до марта 2023) допускалось списание товара с причиной «Дистанционная торговля» перед отгрузкой. Сейчас это нарушение. Маркетплейс стал полноценным участником оборота.
Правильный алгоритм:
Здесь товар хранится у производителя, а маркетплейс выступает витриной и службой доставки.
Алгоритм действий:
Если вы решили реализовывать логику внутри 1С, обратите внимание на следующие моменты:
1. Генерация GTIN и заказ кодов
Для производителя обязательна регистрация в ассоциации ГС1 РУС для получения GTIN. Если клиент производит товар сам, ему придется описывать карточки товаров в Национальном Каталоге. В 1С нужно предусмотреть хранение GTIN в карточке номенклатуры или характеристиках.
2. Библиотека интеграции
Вместо написания HTTP-запросов к API СУЗ с нуля, рассмотрите возможность внедрения подсистемы «Интеграция с ГосИС» (БИГИС) от фирмы 1С. Она поставляется в составе ИТС и может быть интегрирована в самописные конфигурации на управляемых формах. Это снимет головную боль с обновлением методов API, криптографией и форматами обмена.
3. Работа с УПД
Если вы используете внешнюю обработку СБИС для 1С, изучите её методы. Обычно она позволяет подтягивать коды маркировки из внешних источников (например, из текстового файла или таблицы значений) при выгрузке документа. Это позволит вам хранить коды в самописке, но не реализовывать сложную логику формирования XML.
Пример логики для самописки (псевдокод):
Процедура ПриОтгрузкеНаМаркетплейсFBO(РеализацияСсылка)
// 1. Получаем список кодов, привязанных к реализации (отсканированных кладовщиком)
МассивКодов = ПолучитьКодыМаркировкиИзРегистра(РеализацияСсылка);
// 2. Проверяем статус кодов (должны быть "В обороте")
Если НЕ ВсеКодыВСтатусеВведенВОборот(МассивКодов) Тогда
ВызватьИсключение "Нельзя отгружать не введенные в оборот марки!";
КонецЕсли;
// 3. Формируем структуру для передачи в модуль ЭДО
СтруктураЭДО = Новый Структура;
СтруктураЭДО.Вставить("Контрагент", РеализацияСсылка.Контрагент);
СтруктураЭДО.Вставить("Товары", РеализацияСсылка.Товары);
СтруктураЭДО.Вставить("КодыМаркировки", МассивКодов);
// 4. Вызываем внешнюю обработку СБИС или сохраняем XML
МодульЭДО.СформироватьУПД(СтруктураЭДО);
КонецПроцедуры
Для ситуации "Самописка + Производитель + СБИС" наиболее эффективным путем является гибридный подход:
Помните, что для FBO простого "списания" марок недостаточно — они должны быть переданы через ЭДО, иначе товар застрянет на приемке маркетплейса.