Имя: Пароль:
1C
 
Переход 7.7 в УТ11 -конвертация данных
0 leoshko84
 
27.10.17
09:25
Источник: спр. источник ФильтрыПоТоварам, приемник ??.
В источнике поля: "Номенклатура", "Группа" (спр. Номенклатуры, родитель), "Фильтр" (спр. Фильтры), "ФильтрЗначение". см.  http://dropmefiles.com/0s0UD

Есть задача перетянуть это в доп. реквизиты с привязкой к спр. ВидНоменклатуры и записать значения доп реквизитов в номенклатуру.

Как значение этих полей "ловить" в приемнике в процедуре "ПриЗагрузке"?

"ПриВыгрузке" делаю так:

    СЗ = СоздатьОбъект("СписокЗначений");
    СЗ.ДобавитьЗначение(Источник.Код, "Код");    
    СЗ.ДобавитьЗначение(Источник.НоменклатураГруппа, "Группа");
    СЗ.ДобавитьЗначение(Источник.Фильтр, "Фильтр");
    СЗ.ДобавитьЗначение(Источник.ФильтрЗначение, "ФильтрЗначение");
    Значение=СЗ;

ПриЗагрузке:

Для каждого элементТЗ из Значение Цикл
    Сообщить(элементТЗ.Код);    
КонецЦикла;

Пишет что итератор не задан для "Значение".
1 leoshko84
 
27.10.17
10:40
up
2 Ёпрст
 
27.10.17
11:03
В ПКО Номенклатура в ПКГС ДополнительныеРеквизиты в
обработчике ПередОбработкой определяешь
КоллекцияОбъектов . Усё.

КоллекцияОбъектов  заполняешь как умеешь - либо запросом к своему справочнику ФильтрыПоТоварам, либо прямым запросом, либо выборкой.
3 leoshko84
 
27.10.17
11:24
Не могу понять где задается  Коллекция объектов?
http://dropmefiles.com/y79W5
4 Ёпрст
 
27.10.17
15:11
(3)
Нет.
Открываешь ПКО Номенклатура. Там в пкс есть группа свойств ДополнительныеПараметры. вот ей в свойства как в (2).
5 Ёпрст
 
27.10.17
15:12
точнее, дополнительныеРеквизиты
6 leoshko84
 
30.10.17
09:24
Делаю так: в ПКГС "ДополнительныеРеквизиты" -ПередОбработкой
КоллекцияОбъектов = СоздатьОбъект("ТаблицаЗначений");
КоллекцияОбъектов.НоваяКолонка("Номенклатура");
КоллекцияОбъектов.НоваяКолонка("НоменклатураГруппа");
КоллекцияОбъектов.НоваяКолонка("Фильтр");
КоллекцияОбъектов.НоваяКолонка("Значение");

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

ВыгрузитьДополнительныеРеквизиты();
7 leoshko84
 
30.10.17
09:31
И уже в процедуре ВыгрузитьДополнительныеРеквизиты()
я буду создавать записи в  ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения и Справочники.НаборыДополнительныхРеквизитовИСведений.
8 Йохохо
 
30.10.17
09:55
(7) не надо ничего выгружать, работайте в ПКС ПКГС дальше. Структура ТЗ КоллекцияОбъектов должна соответствовать списку свойств ПКГС