При передаче остатков маркированного товара между юридическими лицами (например, при закрытии ИП или перепродаже стока) владельцы бизнеса сталкиваются с серьезной проблемой: кодов могут быть тысячи, а стандартный интерфейс личного кабинета «Честный ЗНАК» (ГИС МТ) не всегда позволяет быстро «выбрать все» и отправить их контрагенту. В этой статье мы разберем, как автоматизировать процесс переноса кодов в 1С:Предприятие 8.3, используя API и систему электронного документооборота (ЭДО).
Рассмотрим сценарий: у нас есть около 14 000 кодов маркировки (КМ), которые числятся за одним ИП. Нам необходимо перевести их на другое ИП. Ручное сканирование каждой единицы товара — это трудозатратный процесс, который может занять недели. Прокликивание страниц в личном кабинете также не является оптимальным решением, так как лимиты отображения часто ограничены. Выясним, какие инструменты позволяют автоматизировать этот процесс.
Проанализируем самый надежный и легитимный способ — передачу через Универсальный передаточный документ (УПД). С 2022 года для большинства товарных групп (обувь, одежда, парфюмерия) прямая подача сведений в ГИС МТ заменена обязательным ЭДО. Это означает, что переход права собственности на коды происходит автоматически в момент подписания электронного УПД обеими сторонами.
В современных конфигурациях 1С (УТ 11, КА 2, ERP, БП 3.0) реализован механизм работы с Интеграцией с ИС МП. Разберем по шагам, как выполнить массовую загрузку:
Реализацию товаров и услуг, если настроен обмен через ЭДО).В обороте.Если типовой функционал по каким-то причинам недоступен или требуется написать собственную обработку для специфических задач, мы можем воспользоваться программным интерфейсом API ГИС МТ. Проанализируем метод, который позволяет получить все коды маркировки без ручного труда.
Для решения задачи нам потребуется метод GET /v2/cises/list. Рассмотрим пример логики, которую можно реализовать в 1С для получения списка марок:
// Пример структуры запроса к API ГИС МТ для получения списка КМ
ПараметрыЗапроса = Новый Структура;
ПараметрыЗапроса.Вставить("participantId", ИНН_Организации);
ПараметрыЗапроса.Вставить("status", "В_ОБОРОТЕ");
ПараметрыЗапроса.Вставить("limit", 1000); // Максимальное количество за один запрос
// Вызываем метод получения списка КМ
Результат = ИнтеграцияИСМП.ВыполнитьЗапросКСерверу("cises/list", ПараметрыЗапроса);
Если Результат.СтатусКод = 200 Тогда
ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.УстановитьСтроку(Результат.Текст);
Данные = ПрочитатьJSON(ЧтениеJSON);
Для Каждого ТекКод Из Данные.items Цикл
// Обработка полученных кодов (например, запись в таблицу или файл)
Сообщить("Получен код: " + ТекКод.cis);
КонецЦикла;
КонецЕсли;
Используя данный метод в цикле с параметром offset (смещение), мы можем выгрузить все 14 000 кодов в массив или таблицу значений 1С за несколько минут. Полученный список можно сохранить в файл CSV или XML для последующей загрузки в документ отгрузки или сторонние утилиты.
Рассмотрим вариант для тех, кто не хочет заниматься программированием. В личном кабинете «Честного ЗНАКА» в разделе «Коды маркировки» существует функционал фоновых выгрузок. Выясним, как это работает:
В обороте и владельца (ваше ИП).CSV файлом.Загрузить из внешнего файла.Проанализируем технические риски, с которыми можно столкнуться при массовой передаче данных:
Выбыл, Списан или Ожидает подтверждения, оператор ЭДО выдаст ошибку при попытке отправить УПД, либо «Честный ЗНАК» отклонит документ. Перед отправкой обязательно выполняйте проверку через метод Проверить средства идентификации в 1С.XSD, утвержденной оператором ЦРПТ.Мы рассмотрели несколько эффективных способов переноса кодов. Наиболее предпочтительным для пользователя 1С является использование документа «Отгрузка товаров ИС МП» с автоматическим заполнением по остаткам. Это исключает ошибки ручного ввода и не требует глубоких знаний программирования. Для разработчиков же оптимальным путем остается использование API ГИС МТ, что позволяет полностью автоматизировать процесс обмена данными между двумя базами или организациями.