Как перенести проводки регистра бухгалтерии в документ «Операция» в Конвертации данных 2.1?

Программист 1С v8.3 (Обычные формы) Бухгалтерский учет IT и автоматизация бизнеса
← На главную

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

1. Корректная выгрузка структуры метаданных

Если при создании правила конвертации объектов для документа ОперацияБух или ОперацияУпр в списке свойств отсутствуют подчиненные группы табличных частей и наборов движений (например, Хозрасчетный или Управленческий), причина кроется в установленных фильтрах при выгрузке структуры конфигурации.

Проанализируем порядок действий для получения полной структуры метаданных:

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

2. Настройка ПВД и ПКО для документа

Рассмотрим базовую настройку правил для документа-приемника:

  1. Правило выгрузки данных (ПВД): Создаем ПВД для переносимого документа. Если выгрузка происходит стандартным образом, указываем способ выборки СтандартнаяВыборка и оставляем обработчики пустыми.
  2. Правило конвертации объектов (ПКО): Указываем документ-источник и документ-приемник. В таблице Группа правил конвертации свойств (ПКГС) для набора движений регистра бухгалтерии (например, Хозрасчетный) ставим флаг активности.
  3. Для реквизитов набора движений (СчетДт, СчетКт, Сумма, Период) сопоставляем соответствующее правило конвертации (ПКО для плана счетов).

3. Настройка переноса видов субконто (СубконтоДт и СубконтоКт)

При выгрузке субконто платформа использует значение составного типа данных характеристики плана видов характеристик (ПВХ). Чтобы аналитика дебета и кредита заполнялась без ошибок, необходимо верно настроить подчиненные правила конвертации свойств (ПКС) для СубконтоДт и СубконтоКт.

Посмотрим на основные особенности настройки ПКС аналитики:

  1. В ПКС для СубконтоДт и СубконтоКт необходимо сопоставить ПВХ видов субконто (например, ВидыСубконтоХозрасчетные).
  2. Если для одного типа справочника в правилах настроено несколько разных ПКО (например, несколько правил для контрагентов), при выгрузке конкретного субконто рекомендуется явно указывать имя правила в обработчике события ПриВыгрузкеСвойства:

Если ТипЗнч(Значение) = Тип("СправочникСсылка.Контрагенты") Тогда
    ИмяПКО = "Контрагенты";
ЭлСели ТипЗнч(Значение) = Тип("СправочникСсылка.СтатьиЗатрат") Тогда
    ИмяПКО = "СтатьиЗатрат";
КонецЕсли;

4. Обработка несовпадения состава субконто на счетах

Выясним причину ситуации, когда в базе-источнике и базе-приемнике один и тот же счет имеет разное количество субконто (например, на счете 20 в источнике задано 3 субконто, а в приемнике — 4 или наоборот). При загрузке проводки могут возникать ошибки из-за попыток записать некорректные ключи аналитики.

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


ПараметрыАлгоритмов = Новый Структура;
ПараметрыАлгоритмов.Вставить("Объект", Объект);

КоллекцияДвижений = ПараметрыАлгоритмов.Объект.Движения.Найти("Хозрасчетный");
Если КоллекцияДвижений <> Неопределено Тогда
    Для Каждого Корреспонденция Из КоллекцияДвижений Цикл
        
        // Проверка и очистка Субконто Дт
        Для Каждого Субконто Из Корреспонденция.СубконтоДт Цикл
            НайденоСубконто = Ложь;
            Для Каждого ВидыСубконто Из Корреспонденция.СчетДт.ВидыСубконто Цикл
                Если ВидыСубконто.ВидСубконто = Субконто.Ключ Тогда
                    НайденоСубконто = Истина;
                    Прервать;
                КонецЕсли;
            КонецЦикла;
            Если Не НайденоСубконто Тогда
                Корреспонденция.СубконтоДт.Удалить(Субконто.Ключ);
            КонецЕсли;
        КонецЦикла;
        
        // Проверка и очистка Субконто Кт
        Для Каждого Субконто Из Корреспонденция.СубконтоКт Цикл
            НайденоСубконто = Ложь;
            Для Каждого ВидыСубконто Из Корреспонденция.СчетКт.ВидыСубконто Цикл
                Если ВидыСубконто.ВидСубконто = Субконто.Ключ Тогда
                    НайденоСубконто = Истина;
                    Прервать;
                КонецЕсли;
            КонецЦикла;
            Если Не НайденоСубконто Тогда
                Корреспонденция.СубконтоКт.Удалить(Субконто.Ключ);
            КонецЕсли;
        КонецЦикла;
        
    КонецЦикла;
КонецЕсли;

5. Важные рекомендации по проведению загруженных документов

Обратим внимание на режим проведения документа ОперацияУпр или ОперацияБух при загрузке:

← На главную