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