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