При настройке правил обмена в конфигурации «Конвертация данных 2.1» (КД 2.1) для переноса документов ОперацияБух часто возникает ситуация, когда сам документ переносится успешно, но его проводки в базе-приемнике не появляются либо процесс прерывается ошибкой. Разберем по шагам, почему возникает эта проблема и как корректно перенести документ «Операция» вместе с движениями по регистру бухгалтерии Хозрасчетный.
Рассмотрим две наиболее распространенные технические проблемы, с которыми сталкиваются разработчики:
ОперацияБух нет табличной части или реквизита с именем регистра. Движения хранятся в свойстве Движения.Хозрасчетный. Попытка обратиться к регистру напрямую через объект документа в произвольном алгоритме выборки вызывает исключение платформы.Разберем процесс правильной настройки правил в Конвертации данных 2.1:
MD82Exp.epf или MD83Exp.epf обязательно убедимся, что включена выгрузка движений регистров и установлен признак выгрузки движений для документов без проведения.ОперацияБух с сопоставлением свойств шапки (Дата, Номер, Организация, Содержание, СуммаОперации).Хозрасчетный источника с набором движений Хозрасчетный приемника. Настраиваем правила конвертации свойств для реквизитов проводки (СчетДт, СчетКт, Сумма, СуммаНУ, СуммаПР, СуммаВР, субконто и валютные показатели).Выясним, как заставить базу-приемник сохранить проводки. Для этого перейдем в ПКО документа ОперацияБух и откроем обработчик «После загрузки». Добавим следующий код:
Для Каждого НаборДвижений Из Объект.Движения Цикл
НаборДвижений.Записывать = Истина;
КонецЦикла;
Проанализируем работу данного алгоритма: при загрузке документа в базу-приемник коллекция Объект.Движения уже заполнена десериализованными строками проводок. Цикл обходит все наборы движений документа и для каждого набора устанавливает свойство Записывать = Истина. При последующей записи объекта документа платформа автоматически произведет физическую запись набора движений в таблицу регистра бухгалтерии Хозрасчетный.
Рассмотрим важные нюансы, которые необходимо учитывать при сопоставлении проводок между БП 2.0 и БП 3.0:
ВидыСубконтоХозрасчетные, а также ПКО для всех ссылочных типов данных, выступающих в роли значений аналитики (Контрагенты, ДоговорыКонтрагентов, НоменклатурныеГруппы, СтатьиЗатрат и др.).СуммаОперации напрямую либо рассчитать его суммированием строк набора в обработчике.Если требуется нестандартная трансформация данных или обход типовых механизмов ПКГС, можно применить следующие подходы:
РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто с отбором по регистраторам. Данные собираются в структуру или таблицу значений и передаются в приемник через входящие данные (ВходящиеДанные).V83.COMConnector. Обработка последовательно считывает наборы записей регистра «Хозрасчетный» по регистраторам и создает аналогичные документы и наборы в базе БП 3.0 с непосредственным вызовом метода Записать() у набора записей.