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

Разработка и Конфигурация · 11 мин

Как создать правило обмена в 1С 8.3

Как создать правило обмена в 1С 8.3 через Конвертацию данных 2.0 и 3.0: настройка ПКО, ПКС, выгрузка и загрузка правил, типичные ошибки и проверка результата.

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

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

Ниже разобран полный цикл: подготовка, создание правил конвертации объектов и свойств, обработчики, выгрузка правил в файл, загрузка в рабочую базу и проверка результата. Материал рассчитан на администратора или разработчика, который настраивает обмен самостоятельно.

Подготовка: что нужно сделать до создания правил

Перед началом работы определите пару конфигураций, между которыми пойдёт обмен: например, «Управление торговлей 11» и «Бухгалтерия предприятия 3.0». Для Конвертации данных 2.0 потребуется выгрузить структуру метаданных обеих баз в файлы — это делается обработкой MD83Exp.epf (для обычных форм) или «Выгрузка описания структуры метаданных» из комплекта поставки конвертации.

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

Выбор инструмента: Конвертация данных 2.0 или 3.0

Конвертация данных 2.0 — универсальный инструмент, который работает с любыми конфигурациями на платформе 8.3. Правила хранятся в XML-файле и подключаются к обмену через универсальный обмен данными. Этот вариант подходит для нестандартных связок, самописных конфигураций и случаев, когда нужен полный контроль над логикой переноса.

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

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

Конвертация данных 2.0

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

Конвертация данных 3.0 (EnterpriseData)

Для типовых конфигураций со встроенной синхронизацией. Правила — модули менеджера обмена. Быстрее в настройке, но привязан к формату XDTO.

Типовые правила из поставки

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

Создание правил конвертации в Конвертации данных 2.0

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

Основная единица настройки — правило конвертации объектов (ПКО). Для каждого объекта, который должен переноситься (справочник «Номенклатура», документ «Реализация товаров и услуг» и т.д.), создайте ПКО: укажите объект источника, объект приёмника и способ поиска существующих элементов. Поиск обычно настраивают по уникальному идентификатору с дополнительными полями поиска — например, по ИНН и КПП для контрагентов.

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

Порядок создания правил в КД 2.0
  1. 1
    Выгрузите структуры метаданных обеих конфигураций в файлы
  2. 2
    Создайте новую конвертацию и загрузите структуры источника и приёмника
  3. 3
    Создайте ПКО для каждого переносимого объекта (справочники, документы)
  4. 4
    Настройте способ поиска существующих элементов (по GUID и полям поиска)
  5. 5
    Настройте ПКС внутри каждого ПКО, свяжите ссылочные реквизиты через ПКО
  6. 6
    При необходимости добавьте обработчики событий на встроенном языке
  7. 7
    Сохраните правила и выгрузите их в XML-файл
  8. 8
    Загрузите правила в настройку обмена и протестируйте на копиях баз

Обработчики событий и нестандартная логика

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

Типичный сценарий: в источнике контрагент хранится одним справочником, а в приёмнике юридические и физические лица разнесены. В обработчике ПКО по условию на длину ИНН выбирается нужный вид контрагента. Другой частый случай — конвертация перечислений, когда значения в двух конфигурациях называются по-разному: для этого создаётся правило конвертации значений (ПКЗ) с явным соответствием.

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

Выгрузка правил и подключение к обмену

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

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

При ручном обмене последовательность такая: в базе-источнике запускается универсальная обработка обмена, указывается файл правил, выбираются правила выгрузки данных (ПВД) и период, выполняется выгрузка в файл данных. Затем в базе-приёмнике той же обработкой файл загружается. Именно на этой схеме удобно отлаживать правила перед настройкой автоматического обмена.

Проверка результата и отладка

После тестовой загрузки сверьте данные в приёмнике: количество перенесённых документов за период, заполненность ключевых реквизитов, отсутствие дублей в справочниках. Удобный приём — сравнить итоговые суммы по оборотам или по конкретному документу в источнике и приёмнике.

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

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

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

Количество объектов
Норма

Число выгруженных объектов совпадает с числом загруженных (с учётом отборов)

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

Часть объектов потеряна без записей в протоколе — проверяйте ПВД и отборы

Дубли справочников
Норма

Каждый элемент источника соответствует одному элементу приёмника

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

Появились дубли по наименованию — неверно настроен поиск в ПКО

Реквизиты документов
Норма

Суммы, даты, контрагенты и табличные части совпадают с источником

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

Пустые реквизиты или битые ссылки — не настроены ПКС или ПКО связанных объектов

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

Ошибок нет либо все ошибки объяснимы и обработаны

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

Массовые ошибки одного типа — ошибка в обработчике или правиле

Типичные ошибки и ограничения

Самая частая проблема — дубли справочников из-за неправильного поиска. Если искать контрагентов только по наименованию, любое расхождение в написании создаст новый элемент. Используйте связку полей с высокой уникальностью (ИНН+КПП, код, GUID) и отключайте поиск по наименованию, если оно не нормализовано.

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

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

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

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

Можно ли создать правила обмена без Конвертации данных?

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

Где взять обработку Конвертация данных 2.0?

Обработка входит в состав конфигурации «Конвертация данных, редакция 2», которая доступна зарегистрированным пользователям платформы 1С на портале 1С. Там же находятся обработки выгрузки структуры метаданных и документация по настройке правил.

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

Причина почти всегда в настройке поиска в ПКО. Проверьте, что поиск идёт по уникальному идентификатору и дополнительным полям (код, артикул), а не только по наименованию. Существующие дубли придётся удалять или объединять отдельно — правила сами их не свернут.

Чем Конвертация данных 3.0 отличается от 2.0 на практике?

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

Нужно ли заново создавать правила после обновления конфигурации?

Не обязательно заново, но обязательно проверить. Если в обновлении переименовали или удалили реквизиты, участвующие в ПКС, соответствия сломаются. После каждого обновления прогоняйте тестовый обмен на копиях баз и сверяйте заполненность ключевых полей.

Как перенести только часть документов, а не все за период?

Используйте отборы в правилах выгрузки данных (ПВД): там можно задать условие по организации, складу, виду документа или произвольному запросу. Более гибкая фильтрация реализуется в обработчике «Перед выгрузкой» ПКО с установкой отказа от выгрузки по условию.

Итог

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

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