Вход | Регистрация
 

СКД - с отборами на форме

СКД - с отборами на форме
Я
   lamme
 
10.08.21 - 21:23
запрос - в макете.
в самом тексте запроса есть параметр, типа " ... ВидЦены = &ВидЦены ..."
на форме - отборы этого скд.

цель - вывести результат запроса в таблицу значений

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



Где тут параметр установить?
   Asmody
 
1 - 10.08.21 - 21:29
во втором параметре метода Выполнить() компоновщика макета
   lamme
 
2 - 10.08.21 - 21:35
ОтборНаФорме.Настройки - это параметры на форме. которые ползователь задает руками.
но это не тот параметр - что в запросе прописан как " ... ВидЦены = &ВидЦены ..."

те в обычном звапросе это было бы типа
запрос.установитьпараметр("ВидЦены",ЧегоТоТам);
   Жан Пердежон
 
3 - 10.08.21 - 21:53
(2) а ты внимательней посмотри
   Asmody
 
4 - 10.08.21 - 21:59
(2) что ты себе там придумал  СКД не сильно волнует.
параметры задаются в настройках
   Asmody
 
5 - 10.08.21 - 21:59
   echo77
 
6 - 11.08.21 - 07:02
(0) Я компоную результат с помощью этой процедуры - здесь все просто
Процедура ПолучитьДанныеНаОснованииСКД:
https://infostart.ru/public/80164/
   lamme
 
7 - 11.08.21 - 07:22
спасибо
статья интересная

но все равно не понимаю
куда и как надо добавить свои настройки

подскажите
   lamme
 
8 - 11.08.21 - 07:32
   echo77
 
9 - 11.08.21 - 07:43
вот пример:

ТаблицаЗначений = Новый ТаблицаЗначений;
СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
СтруктураПараметров = Новый Структура("ДатаОтчета", НашаДата);
ПолучитьДанныеНаОснованииСКД(СхемаКомпоновкиДанных, СхемаКомпоновкиДанных.НастройкиПоУмолчанию, ТаблицаЗначений, СтруктураПараметров);
   lamme
 
10 - 11.08.21 - 07:46
да
это видел

согласно коду

ИсполняемыеНастройки = СКД.НастройкиПоУмолчанию;
КоллекцияЗначенийПараметров = ИсполняемыеНастройки.ПараметрыДанных.Элементы;

те вот тут устанавливаются параметры КоллекцияЗначенийПараметров

а у меня в этом месте нет ни одного доступного для установки параметра
   lamme
 
11 - 11.08.21 - 07:47
если не сложно
можешь куда ниб кинуть пример работающий по твоему алгоритму
чтобы не скачивать
   lamme
 
12 - 11.08.21 - 07:53
попробовал сделать как в (6)
и все равно ругается
что

 Не задано значение параметра "КонецПериода"
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(<<?>>&КонецПериода, ВидЦен = &ВидЦен) КАК ЦеныНоменклатурыСрезПоследних


СхемаКомпоновкиДанных = РеквизитФормыВЗначение("Объект").ПолучитьМакет("СКД");
    
    
    ДеревоЗначений = Новый ДеревоЗначений;
    
    СтруктураПараметров = Новый Структура("КонецПериода, ВидЦен", ТекущаяДата(), ВидЦен);
    ПолучитьДанныеНаОснованииСКД(СхемаКомпоновкиДанных, ДеревоЗначений, СхемаКомпоновкиДанных.НастройкиПоУмолчанию, СтруктураПараметров);
   echo77
 
13 - 11.08.21 - 08:16
(12) проверьте еще раз параметры. Похоже, что здесь ошибка. Должно быть:

ДеревоЗначений = Новый ДеревоЗначений;
    
СтруктураПараметров = Новый Структура("КонецПериода, ВидЦен", ТекущаяДата(), ВидЦен);
ПолучитьДанныеНаОснованииСКД(СхемаКомпоновкиДанных, СхемаКомпоновкиДанных.НастройкиПоУмолчанию, ДеревоЗначений, СтруктураПараметров);
   echo77
 
14 - 11.08.21 - 08:23
Да, тут баг :-)
Надо компоновщик настроек создавать

    СхемаКомпоновкиДанных = ПолучитьМакет("СхемаИзвлеченияДанных");
    ДеревоЗначений = Новый ДеревоЗначений;
    СтруктураПараметров = Новый Структура("КонецПериода", ТекущаяДата());
    
    КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;
    КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
    КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
    
    ПолучитьДанныеНаОснованииСКД(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, ДеревоЗначений, СтруктураПараметров);
   lamme
 
15 - 11.08.21 - 08:36
Поле объекта не обнаружено (ПараметрыДанных)
        КоллекцияЗначенийПараметров = ИсполняемыеНастройки.ПараметрыДанных.Элементы;
   lamme
 
16 - 11.08.21 - 10:37
прошу помощи
   ДенисЧ
 
17 - 11.08.21 - 10:39
А отладчик украли? О_о
   lamme
 
18 - 11.08.21 - 10:44
нет
но в какое место тыкнуться
чтобы параметры установить
   ДенисЧ
 
19 - 11.08.21 - 10:46
Что у тебя отладчик про ИсполняемыеНастройки говорит?
   lamme
 
20 - 11.08.21 - 10:49
извини
сейчас буду тупить..

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


то тут у 
СхемаКомпоновкиДанных  - не вижу где есть ИсполняемыеНастройки
   ДенисЧ
 
21 - 11.08.21 - 10:53
А откуда ты вообще такое слово взял нецензурное?
   lamme
 
22 - 11.08.21 - 10:53
какое из них ?
   ДенисЧ
 
23 - 11.08.21 - 11:08
"ИсполняемыеНастройки", на которое 1с ругается.
   lamme
 
24 - 11.08.21 - 11:14
прикол ...
   lamme
 
25 - 11.08.21 - 11:14
спасибо
   lamme
 
26 - 11.08.21 - 11:15
было
ПолучитьДанныеНаОснованииСКД(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, ДеревоЗначений, СтруктураПараметров);
надо
ПолучитьДанныеНаОснованииСКД(СхемаКомпоновкиДанных, ДеревоЗначений, КомпоновщикНастроек.Настройки,  СтруктураПараметров);
   lamme
 
27 - 11.08.21 - 11:17
(6)
Спасибо
   lamme
 
28 - 11.08.21 - 11:17
(23)
Спасибо


Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.