Как настроить перенос бухгалтерских операций и проводок из БП 2.0 в БП 3.0 в Конвертации данных 2.1?

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

При настройке правил обмена в конфигурации «Конвертация данных 2.1» (КД 2.1) для переноса документов ОперацияБух часто возникает ситуация, когда сам документ переносится успешно, но его проводки в базе-приемнике не появляются либо процесс прерывается ошибкой. Разберем по шагам, почему возникает эта проблема и как корректно перенести документ «Операция» вместе с движениями по регистру бухгалтерии Хозрасчетный.

Причины возникновения проблем при выгрузке операций

Рассмотрим две наиболее распространенные технические проблемы, с которыми сталкиваются разработчики:

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

Пошаговая настройка правил конвертации объектов (ПКО)

Разберем процесс правильной настройки правил в Конвертации данных 2.1:

  1. Выгрузка структуры метаданных. При выгрузке метаданных из конфигураций-источника (БП 2.0) и приемника (БП 3.0) с помощью обработки MD82Exp.epf или MD83Exp.epf обязательно убедимся, что включена выгрузка движений регистров и установлен признак выгрузки движений для документов без проведения.
  2. Создание правила для документа. Создаем ПКО для документа ОперацияБух с сопоставлением свойств шапки (Дата, Номер, Организация, Содержание, СуммаОперации).
  3. Настройка ПКГС для регистра. В правилах конвертации группы свойств (ПКГС) сопоставляем набор движений Хозрасчетный источника с набором движений Хозрасчетный приемника. Настраиваем правила конвертации свойств для реквизитов проводки (СчетДт, СчетКт, Сумма, СуммаНУ, СуммаПР, СуммаВР, субконто и валютные показатели).
  4. Активация флага записи движений в базе-приемнике. Чтобы платформа записала полученный набор записей регистра бухгалтерии в информационную базу приемника, необходимо программно указать флаг записи.

Программная установка признака записи движений

Выясним, как заставить базу-приемник сохранить проводки. Для этого перейдем в ПКО документа ОперацияБух и откроем обработчик «После загрузки». Добавим следующий код:


Для Каждого НаборДвижений Из Объект.Движения Цикл
    НаборДвижений.Записывать = Истина;
КонецЦикла;

Проанализируем работу данного алгоритма: при загрузке документа в базу-приемник коллекция Объект.Движения уже заполнена десериализованными строками проводок. Цикл обходит все наборы движений документа и для каждого набора устанавливает свойство Записывать = Истина. При последующей записи объекта документа платформа автоматически произведет физическую запись набора движений в таблицу регистра бухгалтерии Хозрасчетный.

Особенности переноса аналитики и субконто

Рассмотрим важные нюансы, которые необходимо учитывать при сопоставлении проводок между БП 2.0 и БП 3.0:

  1. Правила для видов субконто. Для корректной трансляции видов субконто в правилах обмена обязательно должно присутствовать ПКО для плана видов характеристик ВидыСубконтоХозрасчетные, а также ПКО для всех ссылочных типов данных, выступающих в роли значений аналитики (Контрагенты, ДоговорыКонтрагентов, НоменклатурныеГруппы, СтатьиЗатрат и др.).
  2. Разделение суммовых показателей. В отличие от старых версий, в актуальных конфигурациях проводки содержат раздельные суммы по бухгалтерскому и налоговому учету (БУ, НУ, ПР, ВР). Убедимся, что соответствующие ресурсы регистра сопоставлены в ПКГС.
  3. Реквизит шапки «СуммаОперации». В БП 3.0 общая сумма операции хранится в реквизите шапки документа. Если перенести только проводки, сумма документа в журнале операций может оставаться нулевой до момента ручного пересчета или переоткрытия формы. Рекомендуется сопоставить реквизит шапки СуммаОперации напрямую либо рассчитать его суммированием строк набора в обработчике.

Альтернативные способы переноса проводок

Если требуется нестандартная трансформация данных или обход типовых механизмов ПКГС, можно применить следующие подходы:

  1. Выгрузка через произвольный алгоритм ПВД. В правиле выгрузки данных формируется запрос к виртуальной таблице РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто с отбором по регистраторам. Данные собираются в структуру или таблицу значений и передаются в приемник через входящие данные (ВходящиеДанные).
  2. Прямой перенос через COM-соединение. Для разовой миграции пишется внешняя обработка, подключающаяся к базе БП 2.0 через V83.COMConnector. Обработка последовательно считывает наборы записей регистра «Хозрасчетный» по регистраторам и создает аналогичные документы и наборы в базе БП 3.0 с непосредственным вызовом метода Записать() у набора записей.
← На главную