Как найти и изменить макет печатной формы УПД в 1С:ЭДО

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

При работе с электронным документооборотом (ЭДО) программисты часто сталкиваются с задачей изменить печатную форму УПД, особенно когда требуется УПД в редакции постановления №26 от 23.01.2026 (применяется с 01.04.2026). Традиционный поиск макета в общих макетах конфигурации или в модулях менеджеров документов обычно ни к чему не приводит. В этой статье мы разберем, почему в 1С:ЭДО нет привычного макета .mxl, где на самом деле хранятся правила визуализации и как их правильно редактировать.

Почему вы не можете найти обычный макет

Проанализируем архитектуру библиотеки электронных документов (БЭД). Если ваша цель — выгрузка УПД в ЭДО ЛАЙТ Честный знак, важно понимать структуру формирования файла. В отличие от бумажных документов, где печатная форма — это основа, в ЭДО первичным является XML-файл установленного ФНС формата. Печатная форма здесь — это лишь «визуализация», которая строится на лету. Часто пользователям необходима выгрузка ЭД УПД в XML без лишних телодвижений — для этого есть формирование XML-файла УПД для ЭДО. 1С использует механизм XSLT-преобразований. Система берет данные из XML-файла и с помощью специальной таблицы стилей (XSL) трансформирует их в ТабличныйДокумент. Именно поэтому попытки найти макет УПД в конфигураторе часто заканчиваются неудачей.

Где искать правила визуализации

Разберем по шагам, где спрятаны файлы, отвечающие за внешний вид УПД. В современных конфигурациях (БП 3.0, УТ 11, КА, ERP) вся логика преобразования вынесена в регистры сведений.

  1. Откроем Регистр сведений «Правила преобразования форматов». Это основное хранилище всех схем и визуализаторов.
  2. В этом регистре нас интересует общий макет с именем ПравилаПреобразованияФорматов.
  3. Если мы откроем этот макет, то увидим, что это двоичные данные. Чтобы с ними работать, необходимо нажать «Выгрузить в файл» и сохранить его как ZIP-архив (например, rules.zip).

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

Поиск нужного XSL-файла для УПД

Счет-фактура и УПД в редакции постановления 26. Применяется с 01.04.2026

Выясним, какой именно файл отвечает за визуализацию УПД. Для формата 5.01 или 5.02 (наиболее актуальные для УПД) файлы обычно имеют префикс ON_NSCHFDOPPR (для электронных счетов-фактур и УПД). Для этой задачи есть выгрузка УПД в XML по формату 5.03. Рассмотрим примеры имен файлов:

Как внести изменения в визуализацию

Рассмотрим ситуацию, когда бухгалтерию не устраивает лишняя запятая в полях «Грузоотправитель» или «Грузополучатель» (например, когда ИНН не заполнен, но разделитель все равно выводится). Проанализируем, как это исправить:

  1. Найдем в XSL-файле блок, отвечающий за вывод данных контрагента. Обычно это теги xsl:template или блоки кода, содержащие наименования полей.
  2. В XSL-файлах часто встречается жесткая конкатенация строк. Код может выглядеть примерно так:

<xsl:value-of select="Наименование"/>
<xsl:text>, ИНН: </xsl:text>
<xsl:value-of select="ИНН"/>

Чтобы убрать «лишние» символы, необходимо использовать условия xsl:if. Например, проверим наличие ИНН перед тем, как выводить запятую и сам текст «ИНН»:


<xsl:value-of select="Наименование"/>
<xsl:if test="string-length(ИНН) > 0">
    <xsl:text>, ИНН: </xsl:text>
    <xsl:value-of select="ИНН"/>
</xsl:if>

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

Альтернативный путь: Изменение данных через общие модули

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


Результат = СериализаторXDTO.ПрочитатьXML(ЗаписьИтоговогоXML, Тип("ТабличныйДокумент"));

Перед этим этапом 1С вызывает процедуры заполнения данных. В конфигурации «Бухгалтерия предприятия» (БП) ключевые процедуры находятся в общем модуле ОбменСКонтрагентамиБП. Например, для УПД это может быть процедура ЗаполнитьТаблицуОснованияУПД_5_02(). Используя расширение и аннотацию &после или &вместо, мы можем модифицировать структуру данных, которая передается на вход визуализатору.

Однако помните: если в самом XSL-шаблоне зашита статичная запятая (как в примере выше), изменение входных данных не поможет — шаблон все равно нарисует разделитель. В этом случае правка XSL является единственным решением.

Особенности базовых версий и «Клиента ЭДО»

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

Подведем итоги

Работа с печатными формами в ЭДО требует от программиста понимания того, что документ — это данные (XML), а не картинка. Чтобы успешно решать задачи бухгалтерии по изменению внешнего вида УПД (поможет инструмент добавления штрихкодов в УПД), придерживайтесь следующего алгоритма:

  1. Убедитесь, что правка нужна именно в печатной форме, а не в самом XML-файле (который юридически значим).
  2. Найдите XSL-шаблон в регистре ПравилаПреобразованияФорматов.
  3. Используйте внешние редакторы (например, Notepad++ или VS Code) для правки логики вывода данных в XSL.
  4. Если правка касается состава данных — используйте расширение для модулей ОбменСКонтрагентами.

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

← На главную