|
v7: Конвертация данных периодические реквизиты (цены номенклатуры) из 7.7 в 7.7 | ☑ | ||
---|---|---|---|---|
0
KSergey1C
03.10.16
✎
08:07
|
Не получается выгрзить периодические значения справочников.
Создаю ПВД, помещаю измененные цены в ВыборкаДанных Картинка: https://yadi.sk/i/IH_3lUKcw6zpV Создал ПКС Картинка: https://yadi.sk/i/DIt-b7Z-w6zpK Для каждого ПКС описываю выбор значений из источника: https://yadi.sk/i/Ps344Ea0w6zpT В результате выгружается только ОДНА цена. В модули выгрузки номрмально отрбатывается код: ИначеЕсли Правило.СпособОтбораДанных = "ПроизвольныйАлгоритм" Тогда Если ПустоеЗначение(ВыборкаДанных) = 0 Тогда Если ТипЗначенияСтр(ВыборкаДанных) = "ТаблицаЗначений" Тогда ВыборкаДанных.ВыбратьСтроки(); Пока ВыборкаДанных.ПолучитьСтроку() > 0 Цикл ВыборкаДанных.ТекущаяСтрока(ВыборкаДанных.НомерСтроки); ВыгрузкаОбъектаВыборки(ВыборкаДанных, Правило, ИсходящиеДанные); В Функции ПКС_ПередВыгрузкой_ЦеныЗаПериод_Валюта_Реквизит1( Источник, Приемник, ВходящиеДанные, ИсходящиеДанные, НомерПКС, НомерПКО, ОбъектКоллекции, Значение, ТипПриемника, ИмяПКО, ИмяПКОВидСубконто, Пусто, Выражение, НеЗамещать, УзелКоллекцииСвойств) ЗНачения содержит только реквизит Источник, в ВходящиеДанные, ОбъектКоллекции - вроде как нет ничего. Подскажите куда крестьянину деваться. |
|||
1
KSergey1C
03.10.16
✎
09:07
|
код выборки данных:
ВыборкаДанных = СоздатьОбъект("ТаблицаЗначений"); ВыборкаДанных.НоваяКолонка("Период"); ВыборкаДанных.НоваяКолонка("Валюта"); ВыборкаДанных.НоваяКолонка("Единица"); ВыборкаДанных.НоваяКолонка("Процент"); ВыборкаДанных.НоваяКолонка("ТипЦен"); ВыборкаДанных.НоваяКолонка("Цена"); ВыборкаДанных.НоваяКолонка("Владелец"); СправочникНомен = СоздатьОбъект("Справочник.Номенклатура"); СправочникНомен.ВыбратьЭлементы(); Пока СправочникНомен.ПолучитьЭлемент() > 0 Цикл СправочникЦены = СоздатьОбъект("Справочник.Цены"); СправочникЦены.ИспользоватьВладельца(СправочникНомен.ТекущийЭлемент()); СправочникЦены.ВыбратьЭлементы(); Пока СправочникЦены.ПолучитьЭлемент() > 0 Цикл Цены = СоздатьОбъект("Периодический"); Цены.ИспользоватьОбъект("Цена", СправочникЦены.ТекущийЭлемент()); Если ПустоеЗначение(ДатаОкончания) = 0 Тогда Цены.ВыбратьЗначения(ДатаНачала, ДатаОкончания); Иначе Цены.ВыбратьЗначения(ДатаНачала); КонецЕсли; Пока Цены.ПолучитьЗначение() > 0 Цикл ВыборкаДанных.НоваяСтрока(); ВыборкаДанных.Владелец = СправочникНомен.ТекущийЭлемент(); ВыборкаДанных.Период = Цены.ДатаЗнач; ВыборкаДанных.Валюта = СправочникЦены.Валюта.ТекущийЭлемент(); ВыборкаДанных.Процент = СправочникЦены.Процент; ВыборкаДанных.ТипЦен = СправочникЦены.ТипЦен.ТекущийЭлемент(); ВыборкаДанных.Цена = Цены.Значение; ВыборкаДанных.Единица = СправочникЦены.ТекущийЭлемент().Единица.Получить(Цены.ДатаЗнач); КонецЦикла; КонецЦикла; КонецЦикла; КоллекцияОбъектов = ВыборкаДанных; |
|||
2
KSergey1C
03.10.16
✎
11:31
|
ап
|
|||
3
Господин ПЖ
03.10.16
✎
11:37
|
поставь "не запоминать" чего-то там...
КД по дефалту кэширует значение для убыстрения работы - отсюда глюк |
|||
4
KSergey1C
03.10.16
✎
11:48
|
(3) Похоже оно. Вроде как работаеет, по позже проверю до конца.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |