0
KSergey1C
03.10.16
✎
08:07
|
Не получается выгрзить периодические значения справочников.
Создаю ПВД, помещаю измененные цены в ВыборкаДанных
Картинка:
Создал ПКС
Картинка:
Для каждого ПКС описываю выбор значений из источника:
В результате выгружается только ОДНА цена.
В модули выгрузки номрмально отрбатывается код:
ИначеЕсли Правило.СпособОтбораДанных = "ПроизвольныйАлгоритм" Тогда
Если ПустоеЗначение(ВыборкаДанных) = 0 Тогда
Если ТипЗначенияСтр(ВыборкаДанных) = "ТаблицаЗначений" Тогда
ВыборкаДанных.ВыбратьСтроки();
Пока ВыборкаДанных.ПолучитьСтроку() > 0 Цикл
ВыборкаДанных.ТекущаяСтрока(ВыборкаДанных.НомерСтроки);
ВыгрузкаОбъектаВыборки(ВыборкаДанных, Правило, ИсходящиеДанные);
В Функции ПКС_ПередВыгрузкой_ЦеныЗаПериод_Валюта_Реквизит1(
Источник, Приемник, ВходящиеДанные, ИсходящиеДанные, НомерПКС, НомерПКО, ОбъектКоллекции, Значение, ТипПриемника, ИмяПКО, ИмяПКОВидСубконто, Пусто, Выражение, НеЗамещать, УзелКоллекцииСвойств)
ЗНачения содержит только реквизит Источник, в ВходящиеДанные, ОбъектКоллекции - вроде как нет ничего.
Подскажите куда крестьянину деваться.
|
|
1
KSergey1C
03.10.16
✎
09:07
|
код выборки данных:
ВыборкаДанных = СоздатьОбъект("ТаблицаЗначений");
ВыборкаДанных.НоваяКолонка("Период");
ВыборкаДанных.НоваяКолонка("Валюта");
ВыборкаДанных.НоваяКолонка("Единица");
ВыборкаДанных.НоваяКолонка("Процент");
ВыборкаДанных.НоваяКолонка("ТипЦен");
ВыборкаДанных.НоваяКолонка("Цена");
ВыборкаДанных.НоваяКолонка("Владелец");
СправочникНомен = СоздатьОбъект("Справочник.Номенклатура");
СправочникНомен.ВыбратьЭлементы();
Пока СправочникНомен.ПолучитьЭлемент() > 0 Цикл
СправочникЦены = СоздатьОбъект("Справочник.Цены");
СправочникЦены.ИспользоватьВладельца(СправочникНомен.ТекущийЭлемент());
СправочникЦены.ВыбратьЭлементы();
Пока СправочникЦены.ПолучитьЭлемент() > 0 Цикл
Цены = СоздатьОбъект("Периодический");
Цены.ИспользоватьОбъект("Цена", СправочникЦены.ТекущийЭлемент());
Если ПустоеЗначение(ДатаОкончания) = 0 Тогда
Цены.ВыбратьЗначения(ДатаНачала, ДатаОкончания);
Иначе
Цены.ВыбратьЗначения(ДатаНачала);
КонецЕсли;
Пока Цены.ПолучитьЗначение() > 0 Цикл
ВыборкаДанных.НоваяСтрока();
ВыборкаДанных.Владелец = СправочникНомен.ТекущийЭлемент();
ВыборкаДанных.Период = Цены.ДатаЗнач;
ВыборкаДанных.Валюта = СправочникЦены.Валюта.ТекущийЭлемент();
ВыборкаДанных.Процент = СправочникЦены.Процент;
ВыборкаДанных.ТипЦен = СправочникЦены.ТипЦен.ТекущийЭлемент();
ВыборкаДанных.Цена = Цены.Значение;
ВыборкаДанных.Единица = СправочникЦены.ТекущийЭлемент().Единица.Получить(Цены.ДатаЗнач);
КонецЦикла;
КонецЦикла;
КонецЦикла;
КоллекцияОбъектов = ВыборкаДанных;
|
|