Как перенести бухгалтерские операции из 1С 8 в 1С 7.7 с помощью Конвертации данных 2

Программист 1С v7.7 1C:Бухгалтерия Бухгалтерский учет IT и автоматизация бизнеса
← На главную

Перенос бухгалтерских проводок и ручных операций из конфигураций платформы 1С:Предприятие 8 в базы 1С:Предприятие 7.7 — нестандартная задача, с которой сталкиваются разработчики при поддержке устаревших информационных баз или поэтапной миграции систем. Архитектура бухгалтерского учета в 1С 7.7 существенно отличается от восьмой версии платформы, что накладывает специфические ограничения при настройке правил обмена в конфигурации Конвертация данных 2.1.

Разберем архитектурные различия платформ, выясним причину сложностей при прямой выгрузке в ручные операции и рассмотрим два способа решения задачи: выгрузку в документ Бухгалтерская справка и прямую настройку правил для объекта Операция.

Архитектурные различия учета в 1С 8 и 1С 7.7

Для правильной настройки правил обмена проанализируем различия в хранении проводок между платформами:

  1. Тип объекта учета: в 1С 8 ручная операция — это документ конфигурации (Документ.ОперацияБух), движения которого записываются в регистр бухгалтерии (РегистрБухгалтерии.Хозрасчетный). В 1С 7.7 Операция является самостоятельным объектом метаданных, привязанным к журналу операций, либо встроенным свойством документа.
  2. Отсутствие признака проведения: ручная операция в 1С 7.7 не является стандартным документом и не имеет метода Проведен(). Попытка вызвать типовые проверки проведения при загрузке через внешнюю обработку V77Imp.ert приведет к ошибкам времени выполнения.
  3. Позиционирование субконто: в 1С 8 субконто хранятся как коллекция пар «Вид субконто — Значение». В 1С 7.7 на каждом счете жестко задано до трех субконто с фиксированными номерами: Субконто(1), Субконто(2), Субконто(3). При переносе важно соблюдать строгую позиционную последовательность.

Способ 1. Перенос через типовой документ «Бухгалтерская справка» (Рекомендуемый)

В типовой конфигурации «1С:Бухгалтерский учет 7.7» присутствует документ Бухгалтерская справка. Загрузка данных в табличную часть этого документа вместо создания прямой операции считается наиболее надежным подходом. В этом случае мы работаем со стандартным документом платформы 7.7, у которого проведение и формирование проводок выполняются штатными модулями конфигурации-приемника.

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

  1. Создание ПКО для документа: в качестве источника выступает ДокументСсылка.ОперацияБух (или произвольный источник данных, если проводки собираются запросом), а приемником выбирается Документ.БухгалтерскаяСправка.
  2. Заполнение табличной части: создаем группу правил конвертации свойств (ПКГС) для табличной части документа (например, Проводки или ТабличнаяЧасть в зависимости от конфигурации 7.7).
  3. Передача аналитики и счетов: для полей СчетДт и СчетКт настраиваются отдельные ПКО для планов счетов. Значения субконто передаются в соответствующие реквизиты строки табличной части с сопоставлением типов данных справочников.
  4. Проведение документа при загрузке: в настройках ПКО для документа-приемника устанавливаем флаг Автоматически проводить документ при загрузке. При проведении документ 7.7 самостоятельно создаст операцию и корректно заполнит регистры журнала проводок.

Способ 2. Прямая выгрузка в объект «Операция» 1С 7.7

Если требуется перегрузить данные именно в несвязанную с документами операцию, правила настраиваются напрямую для объекта Операция.

Рассмотрим порядок настройки ПКО:

  1. Создание ПКО: объектом-приемником выбирается метаданное Операция. Источником может служить выборка из регистра бухгалтерии, формируемая в обработчике ВыборкаДанных.
  2. Настройка ПКГС для коллекции проводок: создаем группу свойств с именем приемника Проводки. Сопоставляем реквизиты каждой проводки:
    
    // Обязательные свойства строки проводки:
    СчетДт        -> ПланСчетов (сопоставление через ПКО)
    СчетКт        -> ПланСчетов (сопоставление через ПКО)
    Сумма         -> Число
    КоличествоДт  -> Число
    КоличествоКт  -> Число
    ВалСумма      -> Число
    Валюта        -> Справочник.Валюты
    НомерЖурнала  -> Строка (например, "ГЛ")
    Содержание    -> Строка
    
  3. Обработка позиционных субконто: при переносе аналитики счетов в 7.7 необходимо четко распределить субконто по позициям 1, 2 и 3 в зависимости от настройки плана счетов 7.7. Для этого в обработчике ПередВыгрузкой свойства субконто определяется позиция вида субконто на счете приемника.

Программное формирование операции в обработчике «ПослеЗагрузки»

Если стандартный механизм сопоставления коллекции проводок в V77Imp.ert вызывает сложности с заполнением субконто или валютных сумм, операцию можно сформировать программно на встроенном языке 1С 7.7 в обработчике ПослеЗагрузки объекта-приемника.

Посмотрим на пример заполнения операции через код 1С 7.7:


// Обработчик "ПослеЗагрузки" в КД 2 (выполняется на стороне 1С 7.7)
Опер = СоздатьОбъект("Операция");

// Проверяем наличие операции на текущую дату и документ-основание
Если Опер.НайтиОперацию(Объект) = 1 Тогда
    Опер.УдалитьПроводки();
Иначе
    Опер.Новая();
    Опер.ДатаОперации = Объект.ДатаДок;
    Опер.Содержание = "Перенос из 1С 8: " + Объект.НомерДок;
КонецЕсли;

// В цикле обходим полученную из 1С 8 таблицу параметров проводок
Для Ном = 1 По ПараметрыОбъекта.ТаблицаПроводок.КоличествоСтрок() Цикл
    ПараметрыОбъекта.ТаблицаПроводок.ПолучитьСтрокуПоНомеру(Ном);
    
    Опер.НоваяПроводка();
    Опер.Дебет.Счет = ПараметрыОбъекта.ТаблицаПроводок.СчетДт;
    Опер.Дебет.Субконто(1, ПараметрыОбъекта.ТаблицаПроводок.СубконтоДт1);
    Опер.Дебет.Субконто(2, ПараметрыОбъекта.ТаблицаПроводок.СубконтоДт2);
    
    Опер.Кредит.Счет = ПараметрыОбъекта.ТаблицаПроводок.СчетКт;
    Опер.Кредит.Субконто(1, ПараметрыОбъекта.ТаблицаПроводок.СубконтоКт1);
    
    Опер.Сумма = ПараметрыОбъекта.ТаблицаПроводок.Сумма;
    Опер.НомерЖурнала = "ГЛ";
    Опер.СодержаниеПроводки = ПараметрыОбъекта.ТаблицаПроводок.Содержание;
КонецЦикла;

Опер.Записать();

Особенности загрузки через V77Imp.ert

При загрузке данных в 1С 7.7 обратите внимание на следующие нюансы:

  1. Версия обработки загрузки: используйте файл V77Imp.ert, поставляемый в каталоге шаблонов установленной конфигурации «Конвертация данных 2.1». Несоответствие версий формата выгрузки и файла загрузки приводит к ошибкам разбора XML.
  2. Идентификация объектов: поиск элементов справочников (контрагентов, номенклатуры, статей затрат) настраивайте по коду или по ИНН/КПП, так как внутренние идентификаторы (GUID) в 1С 7.7 отсутствуют.
← На главную