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