При работе с электронным документооборотом (ЭДО) в 1С часто возникает вопрос: где найти и как отредактировать макет Универсального передаточного документа (УПД), который видит контрагент? Многие по привычке ищут стандартный макет табличного документа, но в случае с ЭДО все устроено иначе. Разберемся в этом вопросе подробно.
Проанализируем ситуацию и выясним, почему для электронных документов используется совершенно другой механизм и как он работает.
Первое и самое важное, что нужно понять, — это фундаментальное различие между печатной формой для вывода на принтер и формализованным электронным документом, передаваемым по каналам ЭДО.
Электронный документ (УПД) — это XML-файл.
Когда вы формируете и отправляете УПД через ЭДО, система создает не привычную таблицу, а файл в формате XML. Структура этого файла строго регламентирована Федеральной налоговой службой (ФНС). Это делается для того, чтобы любая система учета (не только 1С) могла однозначно прочитать и обработать такой документ. Вносить произвольные изменения в структуру этого XML-файла нельзя, так как это нарушит утвержденный формат и документ потеряет юридическую значимость.
Печатная форма для принтера — это макет MXL.
В конфигурациях 1С, включая ERP, действительно существует общий макет для УПД, например, ПФ_MXL_УниверсальныйПередаточныйДокумент1096. Но он используется для другой цели — для формирования «бумажной» версии документа, которую вы можете распечатать или сохранить в PDF прямо из 1С. Вы можете отредактировать этот макет:
Важный момент: любые изменения, которые вы внесете в этот макет (добавление логотипа, изменение шрифтов, перемещение колонок), отразятся только на той версии документа, которую вы печатаете из своей базы. Они никак не повлияют на вид электронного документа, который получит ваш контрагент по ЭДО.
Если сам документ — это XML-файл, то как мы и наш контрагент видим его в виде привычной таблицы? Здесь в игру вступает технология XSLT-преобразования.
XSLT (eXtensible Stylesheet Language Transformations) — это язык преобразования XML-документов. Проще говоря, это набор правил, который описывает, как взять данные из XML-файла и представить их в другом формате, например, в виде HTML-страницы.
Процесс выглядит так:
Именно поэтому для визуального представления электронного УПД не существует простого макета .mxl, который можно было бы легко отредактировать. «Картинка» каждый раз создается заново из исходных данных XML.
Это зависит от того, что именно вы хотите изменить.
Если нужно изменить данные, передаваемые контрагенту:
Допустим, вам нужно добавить в УПД какую-то дополнительную информацию, которую должен увидеть и обработать ваш партнер (например, номер партии или срок годности в специальном поле). В таком случае редактировать нужно не визуальное представление, а логику формирования самого XML-файла. Это сложная задача, требующая программной доработки конфигурации. Необходимо найти код, отвечающий за заполнение XML, и внести изменения, не нарушая при этом общую структуру формата, утвержденного ФНС.
Если нужно изменить только визуальное представление:
Изменить то, как документ выглядит именно у вас или у контрагента (не меняя передаваемых данных), еще сложнее. Теоретически, можно найти стандартные XSLT-шаблоны, которые использует 1С, и заменить их на свои. Однако это глубокая доработка типового механизма, которая может «сломаться» при очередном обновлении конфигурации.
В некоторых случаях, как упоминалось в обсуждении, программисты прибегают к ухищрениям: перехватывают уже сформированный после XSLT-преобразования табличный документ и вносят в него изменения программно, перед тем как показать пользователю. Это тоже нетривиальная задача, требующая отладки и глубокого понимания внутренних механизмов платформы.
ПФ_MXL_УниверсальныйПередаточныйДокумент в конфигурации предназначен исключительно для печати документа на принтере или сохранения в PDF и не имеет отношения к ЭДО.Таким образом, простого ответа на вопрос «где макет?» для электронного УПД нет. Важно понимать технологию, лежащую в основе, чтобы корректно ставить задачи по доработке системы.