Каталог решений - Конвертация данных 2.1. Как реквизит справочника конвертировать в регистр сведений?

Конвертация данных 2.1. Как реквизит справочника конвертировать в регистр сведений?

Конвертация данных 2.1. Как реквизит справочника конвертировать в регистр сведений?

В наличии

В публикации рассмотрен пример конвертации реквизита справочника в регистр сведений.

Категория:

Описание

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

Вариант 1.

1. В обработчике "После выгрузки" ПКО "Номенклатура" пишем код:

Если НЕ Источник.ЭтоГруппа Тогда
	//Если ЗначениеЗаполнено(Источник.Длина) Тогда//всегда передаем, т.к. могут обнулить и источнике значение
		ИсходящиеДанные = Новый Структура();
		ИсходящиеДанные.Вставить("КодЭлементаПВХСвойстваОбъектов", "опл00000004");//Длина 
		ИсходящиеДанные.Вставить("Значение", Источник.Длина); 
		ВыгрузитьПоПравилу(Источник,,ИсходящиеДанные,,"РеквизитНоменклатурыВСвойство");
	//КонецЕсли; 
	
	//Если ЗначениеЗаполнено(Источник.весНетто) Тогда  //всегда передаем, т.к. могут обнулить и источнике значение
	ИсходящиеДанные = Новый Структура();
	ИсходящиеДанные.Вставить("КодЭлементаПВХСвойстваОбъектов", "опл00000003"); //Вес
	ИсходящиеДанные.Вставить("Значение", Источник.весНетто); 
	ВыгрузитьПоПравилу(Источник,,ИсходящиеДанные,,"РеквизитНоменклатурыВСвойство");
	//КонецЕсли;   
КонецЕсли;	

2. Добавим ПКО "РеквизитНоменклатурыВСвойство":

3. У ПКО "РеквизитНоменклатурыВСвойство" поставим флажок "Не запоминать выгруженные данные":

4. Настраиваем конвертацию свойств ПКО "РеквизитНоменклатурыВСвойство":

 

Вариант 2. (подсказал PLAstic)

1. В обработчике "После выгрузки" ПКО "Номенклатура" пишем код:

Если НЕ Источник.ЭтоГруппа Тогда
	ВыгрузитьПоПравилу(Новый Структура("Объект, Значение, Свойство", Источник, Источник.весНетто, "опл00000003"),,,, "РеквизитНоменклатурыВСвойство");	
	ВыгрузитьПоПравилу(Новый Структура("Объект, Значение, Свойство", Источник, Источник.Длина, "опл00000004"),,,, "РеквизитНоменклатурыВСвойство");
КонецЕсли;	

2. Убрать все обработчики у свойств в ПКО "РеквизитНоменклатурыВСвойство", флажки "Получить значение из входящих данных" тоже снять:


 

Вариант 2 проще и нагляднее.

Вот и все. Удачной работы с КД!

Правила обмена проверены на конфигурации УПП 1.3.49.1.

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