Как продать штучный маркированный товар в литрах через ЭДО без ошибок в 1С?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Бухгалтерский учет Торговля и дистрибуция
← На главную

Рассмотрим нестандартную, но очень распространенную ситуацию, с которой часто сталкиваются поставщики при работе с государственными и бюджетными учреждениями, особенно учитывая, что скоро вступят в силу новые формы счета-фактуры и УПД. У нас есть фасованный штучный товар — например, бутылки с молоком объемом 870 мл. Мы выиграли тендер, по условиям спецификации которого заказчику необходимо отгрузить ровно 87 литров продукции. Фактически мы отгружаем 100 штук, что математически составляет те самые 87 литров. Возникает конфликт: в документах отгрузки в нашей базе стоят штуки, а заказчик жестко требует, чтобы в электронном УПД (эУПД) фигурировали литры. Проанализируем эту ситуацию и выясним, как правильно решить задачу в системах 1С, не нарушив правила учета и обмена документами через ЭДО.

Почему ломается синхронизация между 1С:УТ 11 и 1С:БП 3.0?

Разберем по шагам логику работы типовых конфигураций 1С. На первый взгляд, решение кажется простым и очевидным, если мы работаем в продвинутой торговой системе.

  1. В конфигурации 1С:Управление торговлей (УТ 11) мы можем задействовать функционал упаковок. Мы создаем новую упаковку «Литр» со специальным коэффициентом пересчета к базовой штуке.
  2. В документах реализации мы указываем требуемый заказчиком объем, и система автоматически пересчитывает его в базовые штуки для корректного списания остатков со склада.
  3. Все выглядит отлично ровно до момента обмена данными с бухгалтерской базой.
  4. После выполнения типовой синхронизации с 1С:Бухгалтерия предприятия 3.0 (БП 3.0) через универсальный формат EnterpriseData, мы обнаруживаем, что в накладной в БП количество товара не равно изначальным 100 штукам (полезно провести сравнение оборотов товаров между БП и УТ), либо документ полностью сбрасывается к базовым единицам измерения.

Выясним причину такого поведения: программа БП 3.0 исторически не имеет такого же гибкого и многоуровневого механизма упаковок, как УТ 11, поэтому часто требуется сравнение остатков и цен товаров между БП 3.0 и УТ 11. В бухгалтерии элемент справочника номенклатуры жестко привязан к своей базовой единице измерения. Чтобы корректно принять документ отгрузки и провести его по регистрам бухгалтерского учета (и особенно — для правильного отражения кодов маркировки), БП 3.0 вынуждена конвертировать документ обратно в штуки.

Главная ловушка: Маркировка и правила «Честного ЗНАКа»

Посмотрим на самую опасную, скрытую проблему, о которой необходимо вспомнить до того, как мы попытаемся напрямую «залезть в код формирования эУПД» или программно подменить единицы измерения в печатной форме.

Если мы продаем молочную продукцию или любой другой товар, подлежащий обязательной цифровой маркировке, мы жестко ограничены правилами Национального каталога. Фасованная потребительская продукция (наша бутылка объемом 870 мл) регистрируется производителем с присвоением GTIN, где базовая единица измерения строго зафиксирована в системе как «штуки».

Проанализируем, что произойдет, если мы принудительно вмешаемся в XML-файл электронного УПД:

  1. Мы программно меняем код единицы измерения в структуре XML со штук (код 796) на литры (код 112).
  2. Отправляем документ контрагенту. Оператор ЭДО и система ГИС МТ (Честный ЗНАК) проводят строгий форматно-логический контроль полученного файла.
  3. Система обнаруживает критическое несоответствие: переданный код маркировки DataMatrix привязан к GTIN штучного товара, а в табличной части документа заявлены объемные единицы измерения (литры).
  4. Документ немедленно возвращается с ошибкой обработки. Передача права собственности на коды маркировки блокируется, а поставка считается невыполненной.

Важно четко понимать разницу между фасованным и мерным товаром. Хотя в последних релизах 1С и Честного ЗНАКа появился функционал для работы с мерными (весовыми и объемными) товарами, предполагающий «частичное выбытие» (например, при розливе пива из кегов в общепите), применять этот механизм к обычной закрытой потребительской таре категорически запрещено. Фасованный товар должен списываться в ЭДО только целиком и поштучно.

Рабочие способы решения проблемы (без нарушения закона)

Рассмотрим подробнее практические методы, которые помогут удовлетворить требования бюджетного заказчика, корректно передать маркировку и не сломать учет в 1С.

Способ 1: Использование дополнительных информационных полей в эУПД

Это самый корректный и безопасный метод с точки зрения операторов ЭДО. Базовая колонка единиц измерения (Код 2/2а) в эУПД строго остается в штуках (100 шт.). Информацию о том, что эта партия составляет 87 литров, мы выносим в дополнительные текстовые поля документа (так называемое ИнфоПоле структуры файла). Бюджетным учреждениям, как правило, достаточно самого факта, что требуемый по тендеру объем официально фигурирует в юридически значимом документе, чтобы успешно закрыть спецификацию контракта.

Способ 2: Изменение наименования номенклатуры в документах

Если заказчик отказывается искать информацию в дополнительных полях, мы можем не трогать физические единицы измерения, а переименовать саму номенклатуру только для вывода в документы реализации. Рассмотрим пример динамического формирования наименования перед печатью или выгрузкой:


// Пример программного формирования уточненного наименования для печатной формы
СтрокаНаименования = ТекСтрока.Номенклатура.Наименование + 
    " (объем 0.87 л). Итого объем по строке: " + 
    Строка(ТекСтрока.Количество * 0.87) + " л";

В результате в печатном и электронном документе в колонке наименования будет написано: «Молоко питьевое (объем 0.87 л). Итого объем по строке: 87 л», при этом единица измерения по строке останется — штуки. Это полностью сохраняет целостность тегов для маркировки и снимает вопросы со стороны бухгалтерии заказчика.

Способ 3: Доработка правил обмена (Конвертация данных)

Если бизнес-процесс требует, чтобы в базе 1С:БП 3.0 визуально обязательно отображались литры (для внутренних нужд бухгалтера), мы дорабатываем правила обмена между УТ 11 и БП 3.0.

  1. Мы ни в коем случае не меняем программный код формирования самого эУПД перед его отправкой в ЭДО. ЭДО формируется из УТ 11 в штуках.
  2. В правилах конвертации (через расширение или напрямую в КД) мы настраиваем передачу дополнительного расчетного текстового реквизита (объем в литрах) из документа УТ в документ БП.
  3. В конфигурации БП 3.0 этот реквизит выводится в расширенную форму документа реализации исключительно для визуализации и формирования специфических внутренних печатных форм.
  4. Базовая математика штук в табличных частях, проводках и тегах для Честного ЗНАКа остается нетронутой.

Применяя данные подходы, мы гарантированно избежим фатальных ошибок при работе с маркированным товаром, сохраним целостность баз данных 1С и обеспечим бесперебойный документооборот с любыми, даже самыми требовательными государственными заказчиками.

← На главную