Администрирование · 12 мин
Где хранятся правила обмена в 1С и как их найти
Где хранятся правила обмена в 1С: в конфигурации, файле XML и внешних обработках. Как найти, сохранить, обновить и проверить правила конвертации данных.
Правила обмена в 1С — это описание того, как объекты одной конфигурации сопоставляются с объектами другой при переносе данных. В зависимости от способа обмена они могут храниться в трёх разных местах: внутри конфигурации в виде макета, во внешнем XML-файле или в регистре сведений информационной базы. Понимание того, где именно лежат правила в вашей базе, критично при обновлении конфигурации, доработке обмена и диагностике ошибок синхронизации.
Чаще всего путаница возникает из-за того, что типовые конфигурации (Управление торговлей, Бухгалтерия предприятия, ERP) содержат встроенные правила для обмена между собой, а доработанные правила, созданные в «Конвертации данных», сохраняются отдельно и подключаются к настройке синхронизации. Эти два варианта не заменяют друг друга автоматически: если вы положили файл правил в каталог, но не указали его в настройке обмена, база продолжит использовать встроенные.
Ниже разобраны все места хранения, способы определить, какие правила реально используются, порядок их выгрузки и обновления, а также типичные ошибки, из-за которых обмен «внезапно» идёт не по тем правилам.
Где физически хранятся правила обмена: три варианта
Первый вариант — макеты конфигурации. В типовых решениях правила конвертации для обмена между продуктами 1С (например, «Управление торговлей» ↔ «Бухгалтерия предприятия») встроены в конфигурацию. Откройте конфигуратор, найдите нужный план обмена и разверните его ветку «Макеты» — там лежат XML-макеты с именами вида «ПравилаОбмена», «ПравилаРегистрации», «ПравилаКонвертации». Эти правила поставляет вендор, и они обновляются вместе с релизом конфигурации.
Второй вариант — внешний XML-файл. Если правила дорабатывались в конфигурации «Конвертация данных» (редакция 2 или 3), результат сохраняется в файл с расширением .xml. Сам файл может лежать где угодно: на диске сервера, в сетевой папке, в хранилище документов. Важно не то, где лежит файл, а то, что он загружен в настройку синхронизации — после загрузки содержимое правил сохраняется внутри информационной базы, и внешний файл больше не нужен для работы обмена.
Третий вариант — программно формируемые правила. При использовании формата EnterpriseData или универсального формата обмена часть логики сопоставления зашита непосредственно в коде общих модулей (например, «ОбменДаннымиXDTOСервер» и связанных). Отдельного файла правил в этом случае нет: логика определяется версиями формата и процедурами заполнения в конфигурации.
Как определить, какие правила использует ваша настройка обмена
Практический способ — открыть карточку настройки синхронизации. В типовых конфигурациях перейдите в раздел «Администрирование» → «Синхронизация данных» (в некоторых конфигурациях — «Настройки синхронизации данных»), откройте нужную настройку и найдите блок, связанный с правилами. Обычно там есть переключатель или надпись: «Типовые правила» либо «Правила, загруженные из файла» с указанием имени файла и даты загрузки.
Если в настройке указано, что используются правила из файла, но имя файла вам неизвестно, посмотрите историю загрузки. В ряде конфигураций доступна команда «Загрузить правила» / «Сохранить правила в файл» прямо из формы настройки — кнопка сохранения позволяет выгрузить текущие действующие правила обратно в XML-файл и сравнить его с тем, что лежит у разработчика.
Дополнительный признак — поведение при обновлении конфигурации. Если после обновления релиза обмен продолжает работать на старой логике и не подхватывает новые возможности типового обмена, почти наверняка подключены внешние правила: они не обновляются вместе с конфигурацией и «замораживают» логику на момент загрузки.
- 1Откройте «Администрирование» → «Синхронизация данных» и выберите нужную настройку обмена.
- 2Найдите блок с правилами: проверьте, указано «типовые» или «из файла», и запишите имя файла и дату.
- 3Используйте команду сохранения правил в файл, чтобы получить актуальную копию действующих правил.
- 4Сравните выгруженный файл с файлом разработчика (по дате, размеру или построчно), чтобы убедиться в идентичности.
Как найти правила внутри конфигурации в конфигураторе
Откройте конфигуратор, перейдите в ветку «Общие» → «Планы обмена» и выберите нужный план, например «ОбменУправлениеТорговлейБухгалтерияПредприятия». Внутри объекта раскройте узел «Макеты» — именно здесь типовые решения хранят XML с правилами конвертации и правилами регистрации объектов. Двойной клик по макету откроет его содержимое.
Имя макета обычно говорящее: «ПравилаОбмена», «ПравилаКонвертации», «ПравилаРегистрации», иногда с суффиксом корреспондента. Если макетов несколько, конфигурация может выбирать нужный в зависимости от версии программы-корреспондента — эта логика прописана в модуле менеджера плана обмена, процедурах вида «ПолучитьПравилаОбмена» или в общих модулях обмена.
Менять типовой макет напрямую — плохая практика: конфигурация станет частично снятой с поддержки, а при обновлении изменения будут конфликтовать с поставкой. Правильный путь — выгрузить правила, доработать их в «Конвертации данных» и подключить как внешние через настройку синхронизации.
Как выгрузить, сохранить и подключить внешние правила
Чтобы получить копию типовых правил для доработки, воспользуйтесь обработкой выгрузки. Во многих типовых конфигурациях есть команда «Сохранить правила в файл» в форме настройки синхронизации. Альтернатива — обработка «Выгрузка правил» из состава конфигурации «Конвертация данных» либо ручное извлечение макета из конфигуратора с сохранением текста в файл .xml.
После доработки в «Конвертации данных» правила подключаются через настройку синхронизации: откройте настройку обмена, выберите загрузку правил из файла и укажите подготовленный XML. Важный нюанс: для обменов, где правила нужны обеим сторонам, обычно готовятся два файла — правила выгрузки для источника и правила загрузки для приёмника. Загрузите каждый файл в соответствующую базу.
Храните файлы правил под версионным контролем: в хранилище конфигурации, git-репозитории или хотя бы в каталоге с понятным именованием (дата + версия правил + краткое описание изменений). Имена вида «правила_новые_финал_2.xml» гарантированно приведут к тому, что через полгода никто не вспомнит, какая версия реально загружена в базу.
Обмен через универсальный формат: где тогда логика сопоставления
При обмене через универсальный формат EnterpriseData отдельного файла правил конвертации может не быть вовсе. Сопоставление объектов выполняется программно: отправитель формирует XDTO-пакет по версии формата, а получатель разбирает его процедурами в общих модулях. Искать «файл правил» в такой связке бессмысленно — смотрите версию формата в настройке синхронизации и соответствующие модули в конфигураторе.
Доработка такого обмена выполняется через расширения конфигурации или подписки на события модулей обмена, а не через «Конвертацию данных». Это принципиально другой подход: вместо редактирования XML-правил вы переопределяете процедуры заполнения и поиска объектов. Прежде чем что-то менять, уточните, какой механизм обмена реально используется в вашей связке баз.
Как выбрать действие
Типичные ошибки при работе с правилами и их последствия
Самая частая ошибка — обновление конфигурации без проверки подключённых правил. Если использовались внешние правила, новый релиз мог изменить структуру метаданных, и старые правила начнут обращаться к переименованным реквизитам. Симптомы: ошибки при загрузке, пустые реквизиты в документах приёмника, потеря движений.
Вторая ошибка — загрузка правил только в одну базу при парном обмене. Правила выгрузки и загрузки должны быть согласованы по версии: если источник выгружает по новым правилам, а приёмник загружает по старым, часть объектов не сопоставится, и вы получите дубли или сообщения о неразобранных данных.
Третья группа ошибок — потеря файлов. Файл правил лежал на рабочем столе уволившегося сотрудника, а в базе загружена неизвестная версия. Восстановить логику придётся выгрузкой правил из настройки, и не факт, что выгруженное будет совпадать с тем, что когда-то редактировалось в «Конвертации данных» — проект конвертации (*.mdt или база КД) при этом может быть утерян окончательно.
Проверка результата и безопасное тестирование
Любую смену правил проверяйте на копии базы. Поднимите копии обеих сторон обмена, загрузите новые правила, выполните выгрузку и загрузку тестового набора данных: нескольких контрагентов, номенклатуры, документов разных видов. Затем сверьте результат в приёмнике — заполненность ключевых реквизитов, корректность ссылок, отсутствие дублей.
Обратите внимание на протокол обмена. Ошибки сопоставления и незагруженные объекты фиксируются в журнале синхронизации — разберите каждое предупреждение до переноса правил в рабочую базу. Молчаливое «обмен прошёл» с сотней предупреждений в протоколе — это незаметная порча данных.
После внедрения зафиксируйте состояние: сохраните файлы правил в хранилище, запишите, в какие базы и когда они загружены, сделайте резервную копию базы до первого рабочего обмена на новых правилах. Это позволит откатиться, если проблема проявится не сразу.
Как проверить результат
Указан ожидаемый источник правил и актуальное имя файла
Файл неизвестного происхождения или дата загрузки не совпадает с вашими действиями
Нет ошибок сопоставления и незагруженных объектов
Предупреждения о ненайденных реквизитах или пропущенных объектах
Реквизиты заполнены, ссылки сопоставлены, дублей нет
Пустые поля, дубли контрагентов и номенклатуры
Правила в хранилище с версией и описанием
Единственная копия на локальном диске
Частые вопросы
Можно ли выгрузить действующие правила обратно в файл?
Да. В форме настройки синхронизации типовых конфигураций обычно есть команда сохранения правил в файл — она выгружает именно те правила, которые сейчас используются базой. Это основной способ восстановить файл, если оригинал утерян. Учтите, что проект конвертации (база «Конвертация данных») так не восстановить — только сам XML.
Обновятся ли внешние правила при обновлении конфигурации?
Нет. Обновление релиза заменяет только типовые макеты. Внешние правила, загруженные из файла, остаются той версии, которую вы загрузили. Если новый релиз изменил структуру данных, внешние правила нужно доработать вручную и загрузить заново.
Где искать правила, если обмен настроен через универсальный формат?
Отдельного файла правил в этом случае нет. Логика сопоставления находится в общих модулях обмена данными внутри конфигурации, а версия формата указана в настройке синхронизации. Доработка выполняется через расширения конфигурации, а не через «Конвертацию данных».
Почему после загрузки новых правил обмен работает по-старому?
Наиболее вероятные причины: правила загружены не в ту настройку обмена, загружены только в одну из двух баз, либо файл правил не прошёл проверку и база продолжила использовать прежние. Проверьте в карточке настройки дату и имя загруженного файла и повторите загрузку с контролем сообщений об ошибках.
Нужно ли снимать конфигурацию с поддержки, чтобы изменить правила?
Нет, если действовать правильно. Выгрузите типовые правила в файл, доработайте их в «Конвертации данных» и подключите как внешние через настройку синхронизации. Конфигурация при этом остаётся на полной поддержке, а доработки сохраняются при обновлениях.
Что важно запомнить
Правила обмена в 1С хранятся либо в макетах плана обмена внутри конфигурации (типовые), либо загружаются из внешнего XML-файла в настройку синхронизации, либо вовсе отсутствуют как файл при обмене через универсальный формат. Определите действующий вариант в карточке настройки, храните файлы правил под версионным контролем и проверяйте любые изменения на копии базы.