При работе с современными конфигурациями на базе 1С:Предприятие 8.3, такими как 1С:ERP или 1С:Комплексная автоматизация, часто возникает необходимость кастомизировать или просто изучить механизм формирования электронного Универсального передаточного документа (УПД). Особенно это актуально, когда требуется внедрить новые ставки НДС 22%, 7% и 5% в ЕРП 2.5 или адаптировать систему под изменения законодательства. В отличие от обычных печатных форм, электронный документ — это сложная структура, состоящая из XML-файла и его визуального представления. Рассмотрим подробно, как разобраться в этом механизме, где искать исходный код и как обойти трудности при отладке.
Самый быстрый и эффективный способ понять, какая часть кода отвечает за заполнение конкретного поля в электронном УПД — это метод «обратного поиска» по тегам XML. Проанализируем этот алгоритм по шагам:
СтТовБезНДС.СтТовБезНДС.Как правило, поиск приведет нас в обработку ОбменСКонтрагентами. Внутри этой обработки или связанных с ней общих модулей мы увидим сопоставление (маппинг) реквизитов документа 1С и узлов XML. Проанализируем пример кода, который может встретиться в модулях формирования:
// Пример логики сопоставления данных в БЭД
НоваяСтрока = ДанныеУПД.СтрокиТовары.Добавить();
НоваяСтрока.НаименованиеТовара = СтрокаТЧ.Номенклатура.НаименованиеПолное;
НоваяСтрока.КоличествоТовара = СтрокаТЧ.Количество;
НоваяСтрока.ЦенаТовара = СтрокаТЧ.Цена;
НоваяСтрока.СтоимостьТовараБезНалога = СтрокаТЧ.СуммаБезНДС; // Тот самый поиск по СтТовБезНДС
Разберем ситуацию подробнее: часто заполнение происходит в общем модуле ОбменСКонтрагентамиУТ или в модулях менеджеров объектов. Именно там подготавливается структура данных, которую затем передают механизмы БЭД. В некоторых случаях для корректной работы требуется установить патч новой ставки НДС 22% для формирования документов ЭДО, который дорабатывает общие модули и XDTO-пакеты.
Важно различать юридически значимый XML-файл и ту печатную форму, которую мы видим на экране при нажатии «Посмотреть электронный документ». Посмотрим, как формируется визуальное представление:
XSLT-трансформация. В большинстве случаев для отображения XML в виде привычного табличного документа 1С использует XSLT-шаблоны. Если в вашей версии конфигурации перестала заполняться строка (5а) в УПД, проблему стоит искать именно в логике подготовки данных для этих шаблонов. Сами шаблоны хранятся в Общих макетах (префиксы УдалитьXSLT... или макеты в УправлениеЭлектроннымиДокументами).
Стандартные печатные формы. Иногда система может использовать стандартный макет УПД из менеджера документа реализации. Для проверки корректности отображения данных может пригодиться внешняя печатная форма УПД с изменениями 2026 года, позволяющая печатать документ даже без его проведения — есть готовая внешняя печатная форма УПД для печати непроведенных документов в ERP.
Проанализируем структуру модулей, которые участвуют в жизненном цикле электронного документа в ERP. Основная логика сосредоточена в следующих местах:
ОбщийМодуль.ЭлектронныеДокументыБЭД — базовые функции работы с ЭД.ОбщийМодуль.ЭлектронныеДокументыСлужебный — низкоуровневая сборка пакетов и работа с форматами ФНС.ОбщийМодуль.МенеджерОбеспеченияЭДО — определение формата документа (например, 820@ или 189@) в зависимости от настроек с контрагентом.Если нам необходимо внести изменения в процесс формирования, рассмотрим использование переопределяемых модулей, таких как ЭлектронныеДокументыПереопределяемый. Это наиболее корректный путь кастомизации с точки зрения обновляемости конфигурации.
Выясним причину, по которой поиск кода может затянуться: часто в продуктовых базах запрещена отладка на сервере. Если админы не дают включить -debug на сервере 1С, используем следующие приемы:
Если у вас есть доступ к конфигуратору, даже без возможности остановки на точках перехвата, вы можете запустить Замер производительности. Рассмотрим этот процесс:
Разберем вариант, когда база слишком велика для развертывания локально:
.cf файл).ВыгрузкаЗагрузкаДанныхXML.Посмотрим на макеты, описывающие форматы. В 1С:ERP они хранятся в общих макетах с именами вида ФорматУПД_5_01_Инвойс или ФорматУПД_2019. Если ваша задача — добавить дополнительные поля, проанализируйте, как заполняется коллекция ИнформационноеПоле. Это критично при внедрении новшеств, когда появляется новая строка 5(б) в УПД и счете-фактуре, требующая особого внимания к структуре документа.
Таким образом, процесс формирования УПД в ЭДО — это многоступенчатая процедура, где данные объекта учета сначала собираются в структуру, затем маппятся на теги XML согласно требованиям ФНС, и только после этого визуализируются через XSLT-преобразование или стандартный макет. Понимая эту цепочку, вы сможете быстро найти точку входа для любых доработок.