Каталог решений - Конвертация данных. Создание Субконто в документе ОперацияБух или «А план видов характеристик чудесным образом, но обрабатывается».

Конвертация данных. Создание Субконто в документе ОперацияБух или «А план видов характеристик чудесным образом, но обрабатывается».

Конвертация данных. Создание Субконто в документе ОперацияБух или «А план видов характеристик чудесным образом, но обрабатывается».

В наличии

Необходимо при помощи конфигурации «Конвертация данных» в базе-источнике сформировать данные (в виде таблицы значений) и перегрузить в документ «ОперацияБух» базы-приемника так, чтобы строки таблицы значений стали строками документа «ОперацияБух» (то есть, формирование ручных проводок по таблице значений).
Платформа источника и приемника 8.х. В конфигурации источника план счетов есть, но нет субконто (нет «ПланВидовХарактеристикСсылка.ВидыСубконто…»).

Категория:

Описание

Здесь акцентирую внимание на создание субконто, так как это вызывает основную сложность.

1. Создание правила выгрузки данных.

Данное правило формирует таблицу значений для проводок.

Код правила выгрузки:

Запрос = Новый Запрос();
Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала);
Запрос.УстановитьПараметр("ДатаОкончания", ДатаОкончания); // ДатаНачала и ДатаОкончания предопределенные параметры конфигурации «Конвертация данных»
Запрос.УстановитьПараметр("…….",……………….); // дополнительные параметры
Запрос.Текст = "ВЫБРАТЬ
………………………………………………………..
| …………………..КАК Контрагент,
| ………………… КАК Договор,
| СУММА(…………………..Сумма) КАК Сумма,
| …………………. КАК СчетДт,
| …………………..КАК СчетКт,
| …………………. КАК КоличествоДт,
| ………………… КАК КоличествоКт
|ИЗ
| ……………… КАК ………………………………
|ГДЕ
| ……………………………………...Период МЕЖДУ &ДатаНачала И &ДатаОкончания

РезультатЗапроса = Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.Прямой); // таблица значений из запроса
Если РезультатЗапроса.Количество() > 0 Тогда
    // шапка документа
    ВходящиеДанные = Новый Структура("Дата, Хозрасчетный, Комментарий, Содержание ");
ВходящиеДанные.Дата = КонецДня(ДатаОкончания);
ВходящиеДанные.Содержание = "Взаиморасчеты компании.";
ВходящиеДанные.Комментарий = "Загружено из Альфа-Авто.";
ВходящиеДанные.СпособЗаполнения = "Вручную";
// табличная часть документа
РезультатЗапроса.Колонки.Добавить("СубконтоДт");
РезультатЗапроса.Колонки.Добавить("СубконтоКт");
Для Каждого ТекущаяСтрокаРезультатЗапроса Из РезультатЗапроса Цикл
СубконтоДт = Новый Соответствие;
СубконтоДт.Вставить(Новый Структура("Код", "00005"), ТекущаяСтрокаРезультатЗапроса.Контрагент);
СубконтоДт.Вставить(Новый Структура("Код", "00016"), ТекущаяСтрокаРезультатЗапроса. Договор);
ТекущаяСтрокаРезультатЗапроса.СубконтоДт = СубконтоДт;
        СубконтоКт = Новый Соответствие;
        ТекущаяСтрокаРезультатЗапроса.СубконтоКт = СубконтоКт;
    КонецЦикла;
    ВходящиеДанные.Хозрасчетный = РезультатЗапроса;
    ВыгрузитьПоПравилу(, ,ВходящиеДанные , , "ОперацияБух");
КонецЕсли;

Самая главная строка, необходимая для Субконто:

СубконтоДт.Вставить(Новый Структура(«Код», «00005»), ТекущаяСтрокаРезультатЗапроса.Контрагент)

Новый Структура(«Код», «00005») – добавляется код элемента плана видов характеристик, как он определен в базе-приемнике (в данном случае – это элемент «Контрагенты»).

 

2. Создание правил конвертации объектов

— Для документа «ОперацияБух»

 приемник — реквизит «Хозрасчетный» документа «ОперацияБух»

 

 

Здесь самая главная строка:

ИмяПКОВидСубконто = «ВидыСубконтоХозрасчетные»;

Аналогично заполяется для приемника и СубконтоКт


— Для плана видов характеристик «ВидыСубконтоХозрасчетные»

  

 

— Для Субконто «Контрагенты»

 

3. Последний штрих

То, что я не встретил ни в одном источнике: если создано несколько правил конвертации объектов с одинаковым типом у источника (например для контрагентов создано два правила по конвертации данных), то для того чтобы система попадала в нужное правило, приоритет у этого правила должен быть максимальными среди них.

 

 

Решил разместить публикацию, так как сам потратил много времени, пока нашёл нужное решение. В той литературе, что есть, этот момент описан скудно, пришлось пересмотреть множество правил обмена.

Надеюсь, кому-то поможет данная статья.

has been added to your cart:
Оформление заказа