Выпуск №87. Заметки по конвертации данных в 1С


Заметки по конвертации данных в 1С

В этом выпуске оставил для себя куски кода и скрины по работе с конфигурацией 1С "Конвертация данных", на примере правил выгрузки Отчетов о розничных продаж как реализации и Поступлений ТМЗ, в обмене между базами Аптека и Бухгалтерия для Казахстана

Через Объект конфигурации «Узел обмена», можно получить параметры из базы, которые можно будет потом использовать в правилах

Параметры узла обмена (параметры выгрузки данных, можно сказать Глобальные переменные), добавляются в правила конвертации в раздел «перед выгрузкой данных»

Параметры выгрузки получаем из запроса на вкладке «Алгоритмы/запросы». Сверху алгоритмы, снизу запросы

Перед выгрузкой любого документа или справочника можно выполнить пакет запросов или запрос, передав ему необходимые параметры в разделе «Перед выгрузкой» и полученные данные передать в структуру входящие данные

В разделе «После загрузки», можно выполнять алгоритмы, которые прописаны на вкладке «Алгоритмы/Запросы».
Здесь можно заполнить документ, используя процедуры приемника

После выгрузки можно также выполнять алгоритмы (алгоритмы ложим в папки «Выгрузка данных», «Загрузка данных» для порядка). Например, данные справочника источника («конт.информация») выгружаем в одноименный регистр сведений приемника (на примере контрагента):
В алгоритме описываем таблицу набора записей и отбор, перебираем в цикле справочник из источника:

Отбор = Новый ТаблицаЗначений;
Отбор.Колонки.Добавить("Имя");
Отбор.Колонки.Добавить("Значение");
Отбор.Колонки.Добавить("Использование");

СтрокаОтбора = Отбор.Добавить();
СтрокаОтбора.Имя			= "Объект";
СтрокаОтбора.Значение		= Объект.Ссылка;
СтрокаОтбора.Использование	= Истина;

Строки = Новый ТаблицаЗначений;
Строки.Колонки.Добавить("Ссылка");
Строки.Колонки.Добавить("Объект");
Строки.Колонки.Добавить("Вид");
Строки.Колонки.Добавить("Тип");
Строки.Колонки.Добавить("Поле1");
……..
// Заполняем строки
………..

// Выгрузка набора записей
// создаем виртуальный набор записей
НаборЗаписей = Новый Структура("Отбор, Строки");
НаборЗаписей.Отбор  = Отбор;
НаборЗаписей.Строки = Строки;

ВыгрузитьРегистр(НаборЗаписей, , , Истина, "КонтактнаяИнформация");


В Правилах выгрузки данных, добавляем после выгрузки

В самой конвертации в разделе «Перед конвертацией объекта», нужно объявить ВходящиеДанные

 

Ко всем объектам можно применить разные правила выгрузки. В правилах выгрузки может быть использовано несколько правил конвертации для одного объекта. Чтобы использовать в правилах выгрузки те или иные правила конвертации нужно их предварительно настроить на первой вкладке

Лучше отказываться от автоматического создания правил и аккуратно синхронизировать объекты и свойства вручную

Все выгружаемые свойства объекта источника синхронизируем со свойствами приемника. Также можно передать данные в Параметр

Алгоритмы можно применять в правилах конвертации свойств, например зашивать фиксированные значения и пр.

Если в Приемнике нет таблицы, то описываем правило конвертации группы. В разделе «Перед обработкой» создаем таблицу значений

Затем каждое значение фиксируем по возможности «перед выгрузкой», в правилах конвертации свойств

Оставшиеся не заполненные поля в приемнике, можно заполнить после выгрузки объекта

Если мы хотим избежать дублей при загрузке справочников, то нужно поставить галочку, чтобы искал по наименованию, если не найдет по ГУИД

Наверх


Добавить комментарий (через VK):

Добавить комментарий к статье могут только зарегистрированные пользователи: