Администрирование · 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, которую использует узел. Обе стороны обмена должны поддерживать совместимую версию: если источник выгружает в новой версии формата, а приёмник её не понимает, сообщение будет отклонено или часть данных потеряется.
Практическое правило: обновляйте конфигурации парами и проверяйте совместимость после каждого обновления одной из сторон. В типовых релизах фирма «1С» поддерживает несколько версий формата одновременно, но гарантировать полную передачу новых полей может только совпадающая версия. Если после обновления одной базы в обмене появились ошибки разбора сообщений — первым делом сверьте версии формата на обеих сторонах.
Когда типовых правил достаточно, а когда нужна доработка
Типовые правила покрывают стандартные сценарии: передачу справочников, основных документов продаж и закупок, денежных документов между конфигурациями одного поколения. Если обе базы — типовые решения без доработанных реквизитов, доработка обычно не требуется: достаточно правильно настроить состав отправляемых данных и сопоставление при первой синхронизации.
Доработка нужна в типичных ситуациях: в конфигурации добавлены собственные реквизиты или документы, которые должны передаваться; требуется нестандартная логика заполнения полей (например, договор подбирается по особому алгоритму); нужно отфильтровать или трансформировать данные, не охваченные типовыми отборами; одна из сторон — самописная или сильно переписанная конфигурация. Во всех этих случаях правила расширяются через механизм Конвертации данных 3.0.
Как выбрать действие
Как доработать правила через Конвертацию данных 3.0
Конвертация данных 3.0 — это конфигурация-инструмент, в которой правила EnterpriseData описываются декларативно: как правила конвертации объектов, свойств и значений, а нестандартная логика — на встроенном языке в обработчиках. Из этой конфигурации правила выгружаются в виде модуля, который подключается к рабочей базе как расширение конфигурации. Такой подход позволяет менять правила, не снимая основную конфигурацию с поддержки.
Порядок работы следующий. Загрузите в Конвертацию данных 3.0 структуру обеих конфигураций (через выгрузку метаданных) и типовые правила соответствующего релиза — они поставляются вместе с конфигурацией или доступны в составе обновления. Добавьте или измените нужные правила конвертации объектов и свойств, пропишите обработчики для нестандартных алгоритмов. Затем выполните выгрузку модуля менеджера обмена и подключите его в рабочей базе как расширение.
Критически важно: доработанные правила должны быть симметричными на обеих сторонах обмена, если меняется структура передаваемых данных. Если источник выгружает дополнительное поле, а приёмник его не обрабатывает, данные просто не попадут в базу. Поэтому расширение с доработанными правилами обычно устанавливается в обе базы, либо изменения делаются только на стороне, где это осмысленно.
- 1Сделайте резервную копию обеих баз и убедитесь, что обмен работает на типовых правилах
- 2Загрузите в Конвертацию данных 3.0 структуры метаданных обеих конфигураций и типовые правила
- 3Добавьте или измените правила конвертации объектов, свойств и обработчики
- 4Выгрузите модуль менеджера обмена и подключите его как расширение в тестовой копии базы
- 5Выполните тестовую выгрузку и загрузку, проверьте перенос изменённых данных
- 6Установите расширение в рабочие базы и проконтролируйте первый реальный обмен
Проверка результата и типичные ошибки
После настройки или доработки обмена проверяйте три вещи. Первое — регистрация данных: в узле плана обмена должны быть зарегистрированы изменения по нужным объектам (команда «Зарегистрировать изменения» в настройке синхронизации). Второе — содержимое сообщения: выгруженный XML-файл можно открыть и убедиться, что объект присутствует и заполнен ожидаемыми полями. Третье — результат загрузки: в журнале регистрации и в форме «Результаты обмена данными» не должно быть ошибок разбора и неотправленных предупреждений.
Частые проблемы имеют узнаваемые признаки. Ошибка вида «Ошибка формата сообщения» почти всегда означает несовпадение версий формата или повреждённый файл. Ситуация, когда объект загружается, но с пустыми реквизитами, указывает на то, что правило приёмника не обрабатывает соответствующие поля. Дубли контрагентов и номенклатуры — следствие неправильного сопоставления при первой синхронизации, а не дефекта правил.
Как проверить результат обмена
Версии совпадают или совместимы
Версии различаются, есть ошибки разбора сообщений
Объект присутствует, ключевые поля заполнены
Объекта нет в сообщении или поля пустые
Нет ошибок обмена данными
Ошибки конвертации, незаписанные объекты
Документы и справочники созданы корректно, без дублей
Дубли элементов, пустые реквизиты, битые ссылки
Альтернативы универсальному формату
Универсальный формат — не единственный способ интеграции. Классический обмен через правила конвертации 2.x удобен, когда нужен полный контроль над файлом правил и возможность менять его без обновления конфигурации, а также для обмена с сильно нестандартными конфигурациями. Веб-сервисы и HTTP-интерфейсы подходят для интеграции с внешними системами в реальном времени. Планы обмена в режиме «Распределённая информационная база» решают задачу идентичных узлов, но не подходят для обмена между разными конфигурациями.
Выбор зависит от задачи: для связки типовых решений одного поколения универсальный формат — самый простой и поддерживаемый путь. Для сложной нестандартной логики с частыми изменениями правил классическая конвертация даёт больше гибкости, поскольку файл правил можно править и загружать независимо от релизов.
Сравнение вариантов обмена
Подходит для типовых конфигураций; правила встроены в код, доработка только через расширения
Гибкая доработка отдельным файлом правил без обновления конфигурации; требует ручной загрузки правил в узел
Для интеграции с внешними системами в реальном времени; требует разработки и поддержки интерфейса
Только для идентичных конфигураций; не подходит для обмена между разными решениями
Частые вопросы
Можно ли выгрузить правила универсального формата в отдельный файл?
Штатно — нет. Правила EnterpriseData реализованы кодом в общих модулях конфигурации и не существуют в виде отдельного файла, как в конвертации 2.x. Перенести доработку между базами можно только через расширение конфигурации с модулем менеджера обмена, сформированным в Конвертации данных 3.0.
Почему после обновления конфигурации обмен перестал работать?
Наиболее вероятная причина — расхождение версий формата EnterpriseData: обновлённая база выгружает в новой версии, которую вторая сторона не поддерживает. Обновите вторую конфигурацию и проверьте версию формата в настройках синхронизации. Также проверьте журнал регистрации: там видно, на каком этапе сообщение отклоняется.
Как передать дополнительный реквизит, которого нет в типовых правилах?
Через Конвертацию данных 3.0: добавьте в правила конвертации объекта новое свойство, опишите его заполнение в обработчике, выгрузите модуль менеджера обмена и подключите как расширение. Если реквизит должен попадать в приёмник, симметричное изменение нужно и на стороне загрузки. Альтернатива без доработки — использовать типовой механизм дополнительных реквизитов и сведений, который часть конфигураций передаёт штатно.
Чем опасна правка типовых модулей обмена напрямую?
Изменённый типовой модуль будет перезаписан при очередном обновлении конфигурации, и доработка исчезнет — обмен начнёт работать по стандартным правилам без предупреждения. Кроме того, конфигурация частично снимается с поддержки, что усложняет последующие обновления. Корректный путь — только расширение конфигурации.
Где посмотреть, какие данные реально отправляются в другую базу?
Состав данных определяется двумя уровнями: настройкой синхронизации (отборы, дата начала, перечень видов документов) и регистрацией изменений в узле плана обмена. Откройте настройку синхронизации и команду регистрации изменений — там видно, какие объекты попадут в ближайшую выгрузку. Фактическое содержимое можно проверить, открыв выгруженный XML-файл сообщения.
Подходит ли универсальный формат для обмена с сайтом или сторонней системой?
Да, EnterpriseData изначально проектировался в том числе для интеграции с внешними системами: сообщения формата можно передавать через веб-сервисы или файловый обмен. Однако внешняя система должна уметь формировать и разбирать XML по XDTO-схемам формата, что обычно требует разработки на её стороне. Для интернет-магазинов часто проще использовать специализированные форматы обмена с сайтом, поддерживаемые типовыми конфигурациями.
Что важно запомнить
Правила универсального формата EnterpriseData встроены в код конфигурации — отдельного файла нет. Версия правил равна версии конфигурации, поэтому стороны обмена обновляют синхронно. Доработка выполняется только через Конвертацию данных 3.0 и расширения, с обязательным тестированием на копиях баз.