Как передать признак комиссии в электронном УПД через 1С-ЭДО?

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

При ведении торговли через маркетплейсы по схеме комиссии возникает необходимость корректного отражения статуса операции в электронных документах. Согласно форматам ФНС, в Универсальном передаточном документе (УПД) предусмотрен специальный элемент ОбстФормСЧФ, который при передаче товаров на комиссию должен иметь значение 4. Однако типовой функционал конфигурации 1С:Управление торговлей 11 не всегда автоматически заполняет этот признак при формировании электронного документа из реализации.

Анализ проблемы и методы решения

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

Реализация через расширение конфигурации

Для корректной передачи признака нам необходимо вмешаться в процесс формирования дерева данных электронного документа. Основная логика заполнения первичных документов сосредоточена в процедуре ЗаполнитьДанныеПервичногоДокументаУПД_2019 модуля ОбменСКонтрагентамиУТ. Рассмотрим пошагово, как модифицировать этот процесс.

  1. Создайте новое расширение конфигурации в режиме Конфигуратор.
  2. Включите в состав расширения модуль ОбменСКонтрагентамиУТ.
  3. Найдите процедуру ЗаполнитьДанныеПервичногоДокументаУПД_2019 и добавьте её в расширение с аннотацией &После или используйте переопределение, если это необходимо для вашей версии.
  4. Внесите изменения в логику обработки переменной ВидОборота, чтобы обеспечить принудительную запись признака в структуру XML.

Суть изменений заключается в том, чтобы дополнить дерево данных ДеревоДанных необходимым полем ОбстоятельстваФормированияСФ, которое в файле обмена соответствует тегу ОбстФормСЧФ.

Ниже представлен пример кода, который необходимо реализовать:


Если ЗначениеЗаполнено(ВидОборота) Тогда
    ЭлектронноеВзаимодействие.ЗаполнитьЗначениеРеквизитаВДереве(ДеревоДанных, "ВидОборота", ВидОборота);
    // Добавляем признак комиссии (код 4) в дополнительные сведения
    ЭлектронноеВзаимодействие.ЗаполнитьЗначениеРеквизитаВДереве(
        ДеревоДанных, 
        "ДополнительныеСведенияОбУчастниках.ОбстоятельстваФормированияСФ", 
        Строка(Число(ВидОборота))
    );
КонецЕсли;

Важные рекомендации по настройке

При доработке модуля ОбменСКонтрагентами помните о следующих нюансах:

Используя данный метод, вы сможете гибко настроить выгрузку электронных документов в соответствии с требованиями ваших контрагентов, обеспечив стабильный обмен данными через 1С-ЭДО.

← На главную