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

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

Где в 1С лежат правила обмена и как их найти

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

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

Чаще всего вопрос возникает у администраторов, которые получили типовой обмен между «Управлением торговлей» и «Бухгалтерией» или обмен с сайтом и хотят понять, что именно передаётся и где это можно изменить. Ответ зависит от того, какой механизм используется: универсальный обмен через «Конвертацию данных», обмен по правилам регистрации, синхронизация через EnterpriseData или прямая выгрузка обработкой.

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

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

Макет с правилами обмена — это XML-файл, вложенный в конфигурацию. Из конфигуратора его можно сохранить на диск: открыть макет и использовать пункт меню «Файл — Сохранить как». Полученный XML затем можно доработать в «Конвертации данных» и подключить обратно как внешний файл, не меняя саму конфигурацию.

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

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

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

Если выбран вариант «из файла», рядом отображается имя загруженного файла и дата его загрузки. Важно понимать: после загрузки файл правил сохраняется внутри информационной базы (в хранилище значения или в данных узла), поэтому исходный файл на диске можно переместить или удалить — обмен продолжит работать. Но для доработки этот файл нужно хранить отдельно, иначе восстановить правила придётся выгрузкой из базы.

Для обменов через универсальный формат и обработку «Универсальный обмен данными в формате XML» файл правил указывается непосредственно в форме обработки перед выгрузкой. Правила при этом нигде в базе не закреплены — каждый раз выбирается файл с диска. Это типичный сценарий для разовых переносов данных.

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

Где лежат правила на диске и в поставке

Отдельно от базы файлы правил встречаются в нескольких местах. При установке шаблона типовой конфигурации правила конвертации иногда входят в комплект поставки и лежат в каталоге шаблонов — обычно это папка вида «C:\Users\Имя\AppData\Roaming\1C\1cv8\tmplts\…» с подкаталогом конкретной конфигурации и релиза. Там могут находиться файлы с именами вроде «ПравилаОбмена.xml» или «ExchangeRules.xml» рядом с файлами выгрузки конфигурации.

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

Для обмена с сайтом (механизм обмена с 1С-Битрикс) отдельные правила конвертации, как правило, не используются — обмен идёт по протоколу CommerceML, и настройки лежат в узле плана обмена «Обмен с сайтом»: состав выгружаемых данных, отборы, каталоги и режимы обмена. Искать там XML-файл правил бессмысленно.

Макет в конфигуратореТиповые правила

Ищите в планах обмена и общих макетах; меняются при обновлении релиза

Файл в настройках узлаДоработанные правила

Загружен в базу, исходник ищите в папке проекта или у разработчика

Нет файла вообщеEnterpriseData или CommerceML

Логика в программных модулях или встроенном протоколе обмена

Обработка на дискеРазовый перенос

Правила выбираются вручную при каждом запуске выгрузки

Как открыть и отредактировать правила

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

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

Что происходит с правилами при обновлении конфигурации

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

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

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

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

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

Журнал регистрации и протокол обмена (если он включён в настройках узла) покажут ошибки конвертации: несоответствие версий формата, не найденные правила конвертации объектов, ошибки в обработчиках событий. Отсутствие ошибок в протоколе при пустом результате в приёмнике обычно означает, что объект не прошёл по правилам регистрации или отбору.

Контрольные точки

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

Протокол обмена
Норма

Нет ошибок конвертации, объекты выгружены и загружены

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

Ошибки формата, «правило конвертации не найдено»

Тестовый объект в приёмнике
Норма

Все ключевые реквизиты и ссылки совпадают с источником

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

Пустые поля, битые ссылки, дубли элементов

Версия правил
Норма

Файл правил соответствует текущему релизу конфигурации

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

Правила старше релиза, появились новые обязательные реквизиты

Состав макетов после обновления
Норма

Типовые правила обновились вместе с конфигурацией

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

Узел использует устаревший внешний файл

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

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

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

Где хранятся правила регистрации и чем они отличаются от правил конвертации?

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

Почему после загрузки файла правил обмен всё равно работает по старым правилам?

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

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

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

Нужна ли «Конвертация данных» для простых доработок правил?

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

Где лежат правила обмена с сайтом на 1С-Битрикс?

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

Итог

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

Правила обмена в 1С лежат либо в макетах планов обмена внутри конфигурации (типовые), либо во внешнем XML-файле, загруженном в настройки узла (доработанные). Для обменов через EnterpriseData и CommerceML отдельного файла правил нет — логика в коде. Редактируют правила в «Конвертации данных», а перед подключением к рабочей базе обязательно тестируют на копии.