При работе в облачном сервисе 1С:Фреш пользователи часто сталкиваются с жесткими рамками системы. Любые доработки конфигурации, добавление внешних обработок или печатных форм требуют обязательного прохождения аудита со стороны администрации сервиса, что затягивает решение срочных задач на дни, а иногда и недели. Типичный пример — необходимость выгружать в электронный документооборот (ЭДО) определенный идентификатор товара (например, штрихкод или артикул) вместо внутреннего системного кода номенклатуры.
В этой статье мы подробно разберем, почему возникает проблема несоответствия кодов при выгрузке в ЭДО, проанализируем предложенные на форуме варианты и покажем простой стандартный способ решения проблемы, который не требует программирования, изменения кода и прохождения модерации во «Фреше».
Рассмотрим ситуацию: бухгалтер или менеджер заменяет в карточке номенклатуры стандартный артикул на штрихкод, чтобы последний красиво выводился на печать в бумажной форме накладной или УПД. Визуально на бумаге все выглядит отлично. Однако при попытке отправить этот же документ контрагенту через 1С-ЭДО в XML-файле отправки в качестве кода товара по-прежнему передается системный внутренний код (например, НФ-000001), а не внесенный штрихкод.
Дело в том, что печатная форма и XML-файл электронного документа формируются по совершенно разным алгоритмам:
Артикул (в который пользователь временно записал штрихкод).Библиотека электронных документов (БЭД) по умолчанию сопоставляет поле «Код товара» XML-структуры со служебным полем Код (внутренним уникальным идентификатором элемента справочника номенклатуры в базе данных).Посмотрим на пример структуры XML-файла УПД, куда попадают сведения о товарах:
<ТаблСчФакт>
<СведТов НомСтр="1" НаимТов="Шоколад Аленка" ОКЕИ_Тов="796" КолТов="10.000" ЦенаТов="100.00" СтТовБезНДС="1000.00" НалСт="20%" СтТовУчНал="1200.00">
<ДопСведТов КодТов="НФ-000001" /> <!-- Сюда выгружается внутренний код базы -->
</СведТов>
</ТаблСчФакт>
Программа полностью игнорирует ваши манипуляции с текстовым полем артикула на форме, так как жестко обращается к реквизиту КодТов.
Участники обсуждения предложили несколько путей решения, давайте проанализируем их эффективность в условиях работы в облаке 1С:Фреш:
На самом деле разработчики 1С предусмотрели гибкий механизм управления выгрузкой кодов товаров в ЭДО. Нам не потребуется изменять конфигурацию. Разберем по шагам, как настроить систему стандартными средствами:
В зависимости от используемой конфигурации (Бухгалтерия предприятия, УНФ, УТ, Комплексная автоматизация) перейдите в раздел администрирования ЭДО:
В списке настроек найдите строку с интересующим вас контрагентом, для которого нужно настроить передачу штрихкодов. В колонке, отображающей формат документа (например, «УПД 2019 (ММВ-7-15/820@)» или более новые версии), дважды кликните по гиперссылке формата.
В открывшемся окне настроек регламента обмена выполните следующие действия:
Штрихкод — если вы хотите, чтобы система искала реальный зарегистрированный штрихкод номенклатуры и подставляла его;Артикул — если штрихкод или реальный артикул записан у вас в соответствующем текстовом поле карточки номенклатуры;Код — значение по умолчанию (внутренний код базы данных).Теперь при формировании электронного XML-пакета для данного контрагента система автоматически обратится к выбранному вами источнику данных, сформирует корректный тег КодТов и подставит туда штрихкод или артикул.
Записывать штрихкод в поле «Артикул» только ради того, чтобы он выводился на печать — это плохая практика ведения учета. В дальнейшем это приведет к путанице при интеграции с маркетплейсами, сайтами или складскими системами. Например, для правильной выгрузки сведений в УТ, КА или ERP используется автоматическая интеграция 1С с маркетплейсами Ozon, Wildberries, Яндекс.Маркет, которая требует корректного заполнения кодов и штрихкодов в базе.
Рекомендуем вернуть артикулам их прямое назначение, а штрихкоды занести в предназначенный для этого регистр в карточке номенклатуры (ссылка «Штрихкоды»).
Вывести штрихкод на печать в типовых решениях также можно стандартно без привлечения программистов:
Настройки -> Еще больше возможностей -> Общее -> Печать. Установите галочку «Штрихкодирование печатных форм». В поле ниже укажите, что именно выводить в качестве кода на печать (выберите «Штрихкод»).НСИ и администрирование -> Продажи -> Печать документов. В поле «Дополнительная колонка печатных форм» выберите значение «Артикул» или «Код» в зависимости от ваших бизнес-процессов.Таким образом, используя стандартный функционал Библиотеки электронных документов, вы полностью решите проблему с отправкой корректных кодов в ЭДО без финансовых затрат на доработки и без ожидания модерации со стороны службы поддержки 1С:Фреш.