К статье
Практический материал

Администрирование · 14 мин

Обмен через универсальный формат 1С: где находятся правила и как с ними работать

Где находятся правила обмена универсальным форматом EnterpriseData в 1С, как их обновить, отредактировать в Конвертации данных 3.0 и проверить результат синхронизации.

Универсальный формат обмена в 1С — это EnterpriseData, XML-формат, который фирма «1С» развивает как единый стандарт интеграции между типовыми конфигурациями и внешними системами. В отличие от классического обмена через правила конвертации, где правила хранятся в отдельном файле и загружаются в узел плана обмена, правила универсального формата встроены непосредственно в конфигурацию. Именно это обстоятельство чаще всего вызывает вопрос «где правила», когда нужно найти, обновить или доработать логику выгрузки.

Правила для EnterpriseData реализованы программно: они «зашиты» в общих модулях менеджера обмена данными конкретной конфигурации. Поэтому искать файл правил в настройках синхронизации бессмысленно — типовая настройка предлагает только выбрать формат, состав отправляемых данных и вариант получения правил. Вся логика преобразования объектов в XML и обратно живёт в коде конфигурации, а доработка выполняется через механизм расширений или через Конвертацию данных 3.0.

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

Что такое универсальный формат и чем он отличается от классических правил

EnterpriseData — это формат обмена на базе XML, в котором структура сообщений описана XDTO-пакетами фирмы «1С». Каждый тип объекта (контрагент, номенклатура, счёт, заказ) передаётся как отдельный блок сообщения со стандартизированным набором полей. Конфигурации-источник и приёмник понимают этот формат «из коробки», если поддерживают соответствующую версию формата.

Ключевое отличие от обмена через правила конвертации (Конвертация данных 2.x): в классической схеме администратор хранит файл правил формата XML и может заменить его без обновления конфигурации. В универсальном формате правила являются частью прикладного кода — это процедуры и функции в общих модулях, которые заполняют объекты XDTO при выгрузке и разбирают их при загрузке. Поэтому версия правила совпадает с версией конфигурации и меняется только при её обновлении или при подключении расширения.

Где искать правила внутри конфигурации

Основное место расположения логики правил — общие модули с именами вида «ОбменДанными<ИмяКонфигурации>» или модули менеджера обмена, например «МенеджерОбменаЧерезУниверсальныйФормат». В типовых решениях структура обычно такая: отдельные модули отвечают за выгрузку (формирование XDTO-объектов), отдельные — за загрузку (создание и запись объектов базы по данным сообщения), а префиксные служебные модули обрабатывают версии формата и сопоставление данных.

Чтобы найти нужный модуль, откройте конфигуратор и выполните глобальный поиск по строке «EnterpriseData» или по имени конкретного объекта формата, например «CML.Контрагент» или «ПолучениеВерсииФормата». Так вы быстро выйдете на процедуры выгрузки и загрузки нужного типа данных. В некоторых конфигурациях правила разбиты на модули по подсистемам: отдельно справочники, отдельно документы, отдельно регистры.

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

В настройках синхронизации нет кнопки «Загрузить правила»Используется универсальный формат

Правила встроены в конфигурацию, искать файл не нужно

Версия формата в настройках узлаПоказывает поддерживаемую версию EnterpriseData

Сравнить версии на стороне источника и приёмника

Модули с именем «МенеджерОбмена...»Здесь находится код правил

Искать процедуры выгрузки и загрузки нужного объекта

Ошибка «Объект не найден» при загрузкеПроблема сопоставления, а не правил

Проверить сопоставление данных и полноту выгрузки ссылок

Как узнать версию формата и правил

Версия формата видна в настройках синхронизации данных: откройте настройку обмена, перейдите к параметрам подключения или к описанию формата — там указывается версия EnterpriseData, которую использует узел. Обе стороны обмена должны поддерживать совместимую версию: если источник выгружает в новой версии формата, а приёмник её не понимает, сообщение будет отклонено или часть данных потеряется.

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

Когда типовых правил достаточно, а когда нужна доработка

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

Доработка нужна в типичных ситуациях: в конфигурации добавлены собственные реквизиты или документы, которые должны передаваться; требуется нестандартная логика заполнения полей (например, договор подбирается по особому алгоритму); нужно отфильтровать или трансформировать данные, не охваченные типовыми отборами; одна из сторон — самописная или сильно переписанная конфигурация. Во всех этих случаях правила расширяются через механизм Конвертации данных 3.0.

Маршрут решения

Как выбрать действие

Обе конфигурации типовые, без добавленных реквизитовИспользуйте типовые правила, настройте только отборы и сопоставление
Добавлены свои реквизиты или документыДоработайте правила через Конвертацию данных 3.0 и подключите расширение
После обновления появились ошибки разбора сообщенийСверьте версии формата на обеих сторонах и обновите отставшую конфигурацию
Нужен обмен с нестандартной внешней системойИспользуйте EnterpriseData через веб-сервисы или перейдите на классические правила конвертации

Как доработать правила через Конвертацию данных 3.0

Конвертация данных 3.0 — это конфигурация-инструмент, в которой правила EnterpriseData описываются декларативно: как правила конвертации объектов, свойств и значений, а нестандартная логика — на встроенном языке в обработчиках. Из этой конфигурации правила выгружаются в виде модуля, который подключается к рабочей базе как расширение конфигурации. Такой подход позволяет менять правила, не снимая основную конфигурацию с поддержки.

Порядок работы следующий. Загрузите в Конвертацию данных 3.0 структуру обеих конфигураций (через выгрузку метаданных) и типовые правила соответствующего релиза — они поставляются вместе с конфигурацией или доступны в составе обновления. Добавьте или измените нужные правила конвертации объектов и свойств, пропишите обработчики для нестандартных алгоритмов. Затем выполните выгрузку модуля менеджера обмена и подключите его в рабочей базе как расширение.

Критически важно: доработанные правила должны быть симметричными на обеих сторонах обмена, если меняется структура передаваемых данных. Если источник выгружает дополнительное поле, а приёмник его не обрабатывает, данные просто не попадут в базу. Поэтому расширение с доработанными правилами обычно устанавливается в обе базы, либо изменения делаются только на стороне, где это осмысленно.

Порядок доработки правил
  1. 1
    Сделайте резервную копию обеих баз и убедитесь, что обмен работает на типовых правилах
  2. 2
    Загрузите в Конвертацию данных 3.0 структуры метаданных обеих конфигураций и типовые правила
  3. 3
    Добавьте или измените правила конвертации объектов, свойств и обработчики
  4. 4
    Выгрузите модуль менеджера обмена и подключите его как расширение в тестовой копии базы
  5. 5
    Выполните тестовую выгрузку и загрузку, проверьте перенос изменённых данных
  6. 6
    Установите расширение в рабочие базы и проконтролируйте первый реальный обмен

Проверка результата и типичные ошибки

После настройки или доработки обмена проверяйте три вещи. Первое — регистрация данных: в узле плана обмена должны быть зарегистрированы изменения по нужным объектам (команда «Зарегистрировать изменения» в настройке синхронизации). Второе — содержимое сообщения: выгруженный XML-файл можно открыть и убедиться, что объект присутствует и заполнен ожидаемыми полями. Третье — результат загрузки: в журнале регистрации и в форме «Результаты обмена данными» не должно быть ошибок разбора и неотправленных предупреждений.

Частые проблемы имеют узнаваемые признаки. Ошибка вида «Ошибка формата сообщения» почти всегда означает несовпадение версий формата или повреждённый файл. Ситуация, когда объект загружается, но с пустыми реквизитами, указывает на то, что правило приёмника не обрабатывает соответствующие поля. Дубли контрагентов и номенклатуры — следствие неправильного сопоставления при первой синхронизации, а не дефекта правил.

Типичные ошибки
01
Искать файл правил для универсального формата — его нет, правила встроены в конфигурацию, и время тратится впустую
02
Дорабатывать типовые общие модули напрямую — изменения будут потеряны при ближайшем обновлении конфигурации
03
Обновить конфигурацию только на одной стороне обмена — версии формата расходятся, сообщения перестают разбираться
04
Менять правила без теста на копии — ошибка в обработчике загрузки может испортить данные в рабочей базе
05
Игнорировать сопоставление данных при первой синхронизации — получаете дубли справочников, которые потом приходится разбирать вручную
Контрольные точки

Как проверить результат обмена

Версия формата в настройках обеих баз
Норма

Версии совпадают или совместимы

Тревожный признак

Версии различаются, есть ошибки разбора сообщений

Содержимое выгруженного XML
Норма

Объект присутствует, ключевые поля заполнены

Тревожный признак

Объекта нет в сообщении или поля пустые

Журнал регистрации после загрузки
Норма

Нет ошибок обмена данными

Тревожный признак

Ошибки конвертации, незаписанные объекты

Данные в базе-приёмнике
Норма

Документы и справочники созданы корректно, без дублей

Тревожный признак

Дубли элементов, пустые реквизиты, битые ссылки

Альтернативы универсальному формату

Универсальный формат — не единственный способ интеграции. Классический обмен через правила конвертации 2.x удобен, когда нужен полный контроль над файлом правил и возможность менять его без обновления конфигурации, а также для обмена с сильно нестандартными конфигурациями. Веб-сервисы и HTTP-интерфейсы подходят для интеграции с внешними системами в реальном времени. Планы обмена в режиме «Распределённая информационная база» решают задачу идентичных узлов, но не подходят для обмена между разными конфигурациями.

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

Сравнение вариантов обмена

Универсальный формат (EnterpriseData)

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

Правила конвертации 2.x

Гибкая доработка отдельным файлом правил без обновления конфигурации; требует ручной загрузки правил в узел

Веб-сервисы / HTTP

Для интеграции с внешними системами в реальном времени; требует разработки и поддержки интерфейса

Распределённая ИБ

Только для идентичных конфигураций; не подходит для обмена между разными решениями

Частые вопросы

Можно ли выгрузить правила универсального формата в отдельный файл?

Штатно — нет. Правила EnterpriseData реализованы кодом в общих модулях конфигурации и не существуют в виде отдельного файла, как в конвертации 2.x. Перенести доработку между базами можно только через расширение конфигурации с модулем менеджера обмена, сформированным в Конвертации данных 3.0.

Почему после обновления конфигурации обмен перестал работать?

Наиболее вероятная причина — расхождение версий формата EnterpriseData: обновлённая база выгружает в новой версии, которую вторая сторона не поддерживает. Обновите вторую конфигурацию и проверьте версию формата в настройках синхронизации. Также проверьте журнал регистрации: там видно, на каком этапе сообщение отклоняется.

Как передать дополнительный реквизит, которого нет в типовых правилах?

Через Конвертацию данных 3.0: добавьте в правила конвертации объекта новое свойство, опишите его заполнение в обработчике, выгрузите модуль менеджера обмена и подключите как расширение. Если реквизит должен попадать в приёмник, симметричное изменение нужно и на стороне загрузки. Альтернатива без доработки — использовать типовой механизм дополнительных реквизитов и сведений, который часть конфигураций передаёт штатно.

Чем опасна правка типовых модулей обмена напрямую?

Изменённый типовой модуль будет перезаписан при очередном обновлении конфигурации, и доработка исчезнет — обмен начнёт работать по стандартным правилам без предупреждения. Кроме того, конфигурация частично снимается с поддержки, что усложняет последующие обновления. Корректный путь — только расширение конфигурации.

Где посмотреть, какие данные реально отправляются в другую базу?

Состав данных определяется двумя уровнями: настройкой синхронизации (отборы, дата начала, перечень видов документов) и регистрацией изменений в узле плана обмена. Откройте настройку синхронизации и команду регистрации изменений — там видно, какие объекты попадут в ближайшую выгрузку. Фактическое содержимое можно проверить, открыв выгруженный XML-файл сообщения.

Подходит ли универсальный формат для обмена с сайтом или сторонней системой?

Да, EnterpriseData изначально проектировался в том числе для интеграции с внешними системами: сообщения формата можно передавать через веб-сервисы или файловый обмен. Однако внешняя система должна уметь формировать и разбирать XML по XDTO-схемам формата, что обычно требует разработки на её стороне. Для интернет-магазинов часто проще использовать специализированные форматы обмена с сайтом, поддерживаемые типовыми конфигурациями.

Итог

Что важно запомнить

Правила универсального формата EnterpriseData встроены в код конфигурации — отдельного файла нет. Версия правил равна версии конфигурации, поэтому стороны обмена обновляют синхронно. Доработка выполняется только через Конвертацию данных 3.0 и расширения, с обязательным тестированием на копиях баз.