При отгрузке маркированной импортной продукции в программах 1С:Управление торговлей (редакция 11), 1С:ERP и 1С:Комплексная автоматизация пользователи нередко сталкиваются с неприятной ситуацией. В электронном документе УПД одна и та же товарная позиция разбивается на несколько строк из-за принадлежности к разным партиям поступления с различными номерами грузовых таможенных деклараций (ГТД). При этом все коды маркировки (или единый агрегированный код транспортной упаковки — КИТУ/SSCC) прикрепляются целиком только к первой строке документа.
В результате на стороне покупателя автоматическая проверка входящего электронного документа завершается критической ошибкой вида: «Количество кодов маркировки в строке не совпадает с количеством товара по позиции». Разберем детально техническую причину такого поведения типовых механизмов 1С и электронного формата ФНС, а также рассмотрим практические способы решения этой проблемы.
Проанализируем структуру электронного универсального передаточного документа (УПД), регламентированную форматом ФНС. В XML-файле табличная часть счета-фактуры представлена структурой <ТаблСчФакт>, состоящей из узлов <СведТов> (сведения о товаре). К каждому такому узлу жестко привязываются два независимых информационных блока:
<СвТД> (номер ГТД).<НомСредИдентТов> (коды маркировки или КИТУ).Выясним природу конфликта: если товар упакован в общую транспортную коробку с присвоением агрегированного кода КИТУ (например, 200 штук в упаковке), то сам по себе этот код является неделимым объектом учета. Если при проведении документа списания 29 штук списываются по одной партии ГТД, а оставшиеся 171 штука — по второй, типовой механизм Библиотеки электронных документов (БЭД) не может разделить единый код КИТУ на части. Программа помещает агрегат в первую же сформированную строку XML.
В итоге формируется документ со следующими показателями:
С точки зрения государственной информационной системы мониторинга (ГИС МТ «Честный ЗНАК»), данный документ является полностью легитимным. Для системы маркировки важен лишь факт смены собственника конкретного кода упаковки. Однако учетная система покупателя выполняет строгую математическую валидацию каждой отдельной строки файла XML, что приводит к отказу в автоматической приемке.
Рассмотрим основной способ решения проблемы, не требующий изменения документов реализации и разделения накладных. Если в одной транспортной таре оказались товары из разных таможенных деклараций, необходимо выполнить расформирование (разагрегацию) транспортной упаковки в контуре маркировки. Для быстрого извлечения состава агрегата и сохранения вложенных кодов подойдёт обработка для создания штрихкодов упаковок по групповому коду.
Разберем порядок действий по шагам:
Обмен с ИС МП (Обувь, одежда, шины...).Агрегация ГИС МТ с типом операции Расформирование.При использовании поштучных кодов актуальные версии Библиотеки электронных документов (БЭД) способны автоматически распределить массив кодов: 29 кодов будут привязаны к первой строке с ГТД № 1, а 171 код — ко второй строке с ГТД № 2. В таком виде документ успешно пройдет построчный контроль в учетной системе покупателя.
Если товар уже физически упакован в короба и выполнять разагрегацию нецелесообразно с логистической точки зрения, рассмотрим организационно-учетный метод.
Разберем шаги выполнения:
Реализация товаров и услуг оформляем два отдельных документа реализации.В этом случае в каждом документе будет строго одна строка с одной таможенной декларацией, что исключает конфликт разбивки строк в XML-структуре.
Проанализируем системное предотвращение подобных ситуаций в будущем. Основная причина проблемы кроется на этапе складской сборки и агрегации, когда в одну тару упаковываются позиции из разных таможенных партий.
Для исключения ошибок настроим складские процессы следующим образом:
НСИ и администрирование -> Настройка НСИ и разделов -> Финансовый результат и контроллинг -> Учет товаров проверить включение опции Учет видов запасов по ГТД, чтобы распределение партий контролировалось уже на этапе резервирования заказов.Если предприятие ведет отгрузку поштучными кодами маркировки, но устаревший релиз конфигурации все равно группирует все марки в первую строку, решим задачу программным путем без снятия конфигурации с поддержки.
Создадим расширение конфигурации и переопределим обработчик заполнения таблицы сведений о товарах при формировании XML. Посмотрим на типовой алгоритм распределения массива кодов по строкам с разными видами запасов:
&ТаблицаДанных = ПараметрыФормирования.ТаблицаТоваров;
&МассивВсехКодов = ПараметрыФормирования.МаркировочныеКоды;
ИндексТекущегоКода = 0;
ВсегоКодов = МассивВсехКодов.Количество();
Для Каждого СтрокаТовара Из ТаблицаДанных Цикл
СтрокаТовара.КодыМаркировки.Очистить();
НужноКодовВСтроку = СтрокаТовара.Количество;
КоличествоПривязано = 0;
Пока КоличествоПривязано < НужноКодовВСтроку И ИндексТекущегоКода < ВсегоКодов Цикл
ТекущийКод = МассивВсехКодов[ИндексТекущегоКода];
СтрокаТовара.КодыМаркировки.Добавить(ТекущийКод);
КоличествоПривязано = КоличествоПривязано + 1;
ИндексТекущегоКода = ИндексТекущегоКода + 1;
КонецЦикла;
КонецЦикла;
Такой алгоритм последовательно заполняет массив КодыМаркировки для каждой строки таблицы ТаблицаТоваров, соблюдая точное равенство между реквизитом Количество в строке с конкретным номером ГТД и количеством элементов в подчиненной коллекции кодов.
Если покупатель согласен принять документ с КИТУ, но его учетная система блокирует проводку, разберем рекомендации для настройки его программы:
Сумма количества товара по всем строкам УПД = Общее количество кодов маркировки во всем документе
Используя предложенные методики, можно быстро восстановить документооборот с контрагентами и исключить отказы в приемке маркированной продукции при наличии разделения по таможенным декларациям.