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

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

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

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

Правила обмена — это файл с описанием того, как объекты одной базы 1С преобразуются в объекты другой базы при выгрузке и загрузке данных. Без корректно написанных правил типовой обмен между конфигурациями (например, «Управление торговлей» и «Бухгалтерия предприятия») либо не запускается, либо переносит данные с потерями и задвоениями.

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

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

Какие инструменты понадобятся и как выбрать версию конвертации

Для создания правил потребуется конфигурация «Конвертация данных» — она распространяется фирмой «1С» и входит в комплект поставки многих типовых решений, а также доступна подписчикам ИТС. Также нужна обработка для выгрузки структуры метаданных — она идёт в комплекте с конфигурацией конвертации (обычно файл вида MD83Exp.epf для платформы 8.3).

Выбор версии зависит от механизма обмена. Если базы обмениваются через «Универсальный формат» (EnterpriseData) — работайте в «Конвертации данных 3.0», правила там хранятся в составе расширения или внешней обработки. Если обмен построен на классическом XML-формате через узлы планов обмена и обработку «Универсальный обмен данными в формате XML» — используйте версию 2.1.

Сравнение версий конвертации

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

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

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

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

Ручная доработка типовых правил

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

Шаг 1. Выгрузка структуры метаданных конфигураций

Первое действие — получить описание структуры обеих баз: источника и приёмника. Откройте в каждой базе обработку выгрузки метаданных (MD83Exp.epf для платформы 8.3) через меню «Файл → Открыть». В форме обработки выберите, какие объекты выгружать: для экономии времени достаточно отметить только те справочники, документы и регистры, которые участвуют в обмене.

Нажмите кнопку выгрузки и сохраните XML-файл для каждой базы отдельно. Имена файлов делайте говорящими, например «Метаданные_УТ.xml» и «Метаданные_БП.xml» — при работе с несколькими версиями правил это избавит от путаницы.

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

Шаг 2. Создание новой конвертации в «Конвертации данных»

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

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

Порядок создания правил
  1. 1
    Выгрузите структуру метаданных обеих баз обработкой MD83Exp.epf
  2. 2
    Создайте новую конвертацию и загрузите оба файла метаданных
  3. 3
    Создайте правила конвертации объектов (ПКО) для справочников и документов
  4. 4
    Настройте правила конвертации свойств (ПКС) внутри каждого ПКО
  5. 5
    При необходимости добавьте обработчики событий и алгоритмы
  6. 6
    Сохраните правила в XML-файл кнопкой «Сохранить правила»
  7. 7
    Протестируйте обмен на копиях баз и только потом подключайте к рабочим

Шаг 3. Настройка правил конвертации объектов (ПКО)

Правило конвертации объекта — это соответствие вида «объект источника → объект приёмника». Например, справочник «Номенклатура» из УТ конвертируется в справочник «Номенклатура» БП, а документ «Реализация товаров и услуг» — в «Реализация (акты, накладные)». Создать ПКО можно вручную через кнопку добавления, либо воспользоваться автоматическим созданием правил по похожим именам объектов.

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

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

Шаг 4. Настройка правил конвертации свойств (ПКС)

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

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

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

Шаг 5. Обработчики событий и алгоритмы

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

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

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

Подключение правил к обмену и проверка результата

Готовые правила сохраняются в XML-файл: в «Конвертации данных» нажмите «Сохранить правила конвертации» и укажите путь. Далее файл подключается в настройке узла обмена — в типовых конфигурациях это делается в форме настройки синхронизации данных, где вместо типовых правил выбирается «Загрузить правила из файла». Либо правила используются напрямую обработкой «Универсальный обмен данными в формате XML».

Порядок проверки: сначала выгрузите небольшой пакет данных (например, один справочник за короткий период), загрузите его в копию приёмника и сверьте количество объектов, отсутствие дублей и корректность ключевых реквизитов. Затем проверьте документы: суммы, ставки НДС, заполненность обязательных полей. Только после успешной проверки расширяйте объём.

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

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

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

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

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

Объектов больше — вероятны дубли из-за неверных полей поиска

Контрагенты и номенклатура
Норма

Каждый контрагент и элемент номенклатуры существует в одном экземпляре, совпадают ИНН/КПП и артикулы

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

Один и тот же контрагент заведён несколько раз с разными наименованиями

Документы
Норма

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

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

Пустые организации, расходящиеся суммы, незаполненные ставки НДС

Повторная загрузка
Норма

Повторный обмен обновляет существующие объекты, а не создаёт новые

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

Каждая загрузка создаёт новые копии объектов

Типичные ошибки при создании правил

Большинство проблем обмена вызвано не сложностью инструмента, а невнимательностью на этапе настройки поиска и свойств. Разберите список ниже до запуска обмена — это сэкономит часы на исправление последствий.

Типичные ошибки
01
Поиск только по наименованию — приводит к массовым дублям контрагентов и номенклатуры, потому что написания в базах различаются
02
Не загружены актуальные метаданные после обновления конфигурации — правила не видят новые реквизиты, данные теряются молча
03
Пропущены ПКС для ставок НДС и признака «Сумма включает НДС» — суммы документов в приёмнике расходятся с источником
04
Неверный порядок ПКС — зависимый реквизит (договор) выгружается раньше родительского (контрагент) и остаётся пустым
05
Тестирование сразу на рабочей базе без копии и резервной копии — ошибки правил приходится исправлять вручную на живых данных
06
Отсутствие отбора выгружаемых объектов — в приёмник уходят помеченные на удаление и непроведённые документы

Ограничения и альтернативные подходы

Конвертация данных — мощный, но не единственный способ организовать обмен. Если обе базы на одной платформе и конфигурации идентичны, достаточно типового обмена через планы обмена без правил. Для разовых переносов справочников иногда проще воспользоваться обработкой «Выгрузка и загрузка данных XML» — она переносит объекты одинаковых конфигураций без настройки правил вообще.

Для интеграции с внешними системами (сайт, CRM, WMS) часто рациональнее использовать HTTP-сервисы, веб-сервисы или шину данных, а не файловый обмен по правилам. Правила конвертации оправданы там, где нужен регулярный обмен между двумя базами 1С с разной структурой метаданных.

Маршрут решения

Как выбрать подход

Обе базы — одинаковые типовые конфигурации без доработокИспользуйте типовую синхронизацию или обработку «Выгрузка и загрузка данных XML», правила не нужны
Конфигурации разные или доработаны, обмен через XML-форматСоздавайте правила в «Конвертации данных 2.1»
Обмен через универсальный формат EnterpriseData в современных типовыхДорабатывайте правила в «Конвертации данных 3.0»
Нужна интеграция с внешней системой не на 1СРассмотрите HTTP/веб-сервисы вместо файлового обмена по правилам

Часто задаваемые вопросы

Где взять конфигурацию «Конвертация данных»?

Она входит в комплект поставки многих типовых конфигураций и доступна на портале 1С для пользователей с действующей подпиской ИТС. Обработка выгрузки метаданных поставляется вместе с ней в одном каталоге.

Можно ли отредактировать типовые правила обмена?

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

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

Почти всегда причина в неправильно настроенных полях поиска в ПКО: поиск идёт по реквизиту, значения которого в базах записаны по-разному (например, наименование). Настройте поиск по стабильным признакам — ИНН и КПП для контрагентов, артикулу или коду для номенклатуры.

Как переносить только проведённые документы?

Добавьте в ПКО документа обработчик «Перед выгрузкой», в котором проверяется признак проведения объекта; если документ не проведён, устанавливается отказ от выгрузки. Альтернатива — настроить отбор в самой настройке обмена, если механизм это позволяет.

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

Выгрузите заново структуру метаданных обновлённой базы, загрузите её в «Конвертацию данных» и проверьте правила на предмет переименованных или удалённых реквизитов. Затем сохраните обновлённый файл правил и протестируйте обмен на копии.

Нужно ли программировать, чтобы создать правила?

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

Итог

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

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