Перенос данных между конфигурациями, имеющими существенные различия в структуре метаданных, часто ставит перед специалистами сложные задачи. Одной из наиболее типичных проблем является выгрузка движений РегистрБухгалтерии, так как они не всегда автоматически определяются как табличные части документа. Рассмотрим, как правильно настроить этот процесс в Конвертации данных 2.0.
Прежде чем приступать к настройке, необходимо убедиться, что структура обеих конфигураций корректно загружена в Конвертацию данных 2.0. Зачастую при выгрузке структуры из базы в КД 2.0 регистры бухгалтерии могут отображаться не сразу, или их наименование может отличаться от стандартного.
Первым делом откройте конфигурацию в режиме Конфигуратора и проверьте точные имена объектов. Если вы не видите нужный регистр в списке синхронизации, это может быть следствием того, что он не попал в выгрузку метаданных. Убедитесь, что при создании ПравилаОбмена вы выбрали необходимые объекты и они успешно распознаны программой.
Основная сложность, с которой сталкиваются разработчики — это сопоставление движений в интерфейсе Синхронизация свойств. Если вы видите, что поля источника и приемника «разъезжаются» или остаются пустыми, значит, необходимо применить групповое сопоставление объектов.
Правила конвертации объектов (ПКО) для нужного документа.Синхронизация свойств.РегистрБухгалтерии (например, ЖурналПроводокЕПСБУ).Конвертация данных автоматически сопоставит вложенные реквизиты.Важно помнить: если при выборе группы свойств создаются отдельные папки (объекты), это означает, что система воспринимает их как независимые сущности. В таком случае необходимо убедиться, что для этих регистров созданы отдельные Правила конвертации объектов, которые будут вызываться в процессе выгрузки самого документа.
Когда стандартных настроек синхронизации недостаточно из-за глубоких различий в структуре (например, при переходе с БГУ 1.0 на БГУ 2.0), рекомендуется использовать обработчики событий. Это дает максимальный контроль над процессом.
В обработчике ПослеВыгрузки документа-регистратора вы можете программно выбрать все записи, относящиеся к данному документу, и выгрузить их в файл. Это выглядит следующим образом:
// Пример логики в обработчике ПослеВыгрузки документа
НаборЗаписей = РегистрыБухгалтерии.ЕПСБУ.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(Источник.Ссылка);
НаборЗаписей.Прочитать();
// Далее передаем данные в правило конвертации движений
ВыгрузитьПоПравилу(НаборЗаписей, , , , "ПравилоКонвертацииПроводок");
При загрузке движений в базу-приемник основная задача — правильно обработать НаборЗаписейРегистраБухгалтерии. Так как в целевой конфигурации структура субконто или счетов может отличаться, вам потребуется реализовать алгоритм поиска объектов в обработчике ПослеЗагрузки.
Для эффективной записи проводок используйте следующие приемы:
Регистратору: НаборЗаписей.Отбор.Регистратор.Установить(Объект.Ссылка).НаборЗаписей.Записывать = Истина, чтобы инициировать запись в базу данных с учетом пересчета итогов.Работа с Конвертацией данных 2.0 требует внимательного отношения к типам данных. Помните, что при переносе между разными редакциями (например, старая и новая бухгалтерия бюджетного учреждения) счета могут требовать конвертации по коду, а субконто — приведения к новым типам через НайтиПоНаименованию или НайтиПоКоду. Программная обработка через обработчики событий — самый надежный способ сделать перенос движений корректным и предсказуемым.