Имя: Пароль:
1C
 
УФ. Результат СКД вывести в ТЗ
,
0 Stim
 
22.06.15
12:52
Коллеги, доброе утро!

Подскажите, никак не выходит каменный цветок. Поиском не нашел.

Пробовал стандартную:

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


ТЗ - пустая, хотя отчет заполняется кнопкой по умолчанию, стандартным заполнением.

как же все-таки получить ТЗ как результат отчета СКД в управляемых формах??
1 фобка
 
22.06.15
12:54
Зачем скд?
Новый запрос(текстзапроса); ну и тд
2 LordCMEPTb
 
22.06.15
12:58
А схема точно существует? Настройки передаются точно нужные?
По идее должно заполняться, если и то, и другое правильное.
3 mikecool
 
22.06.15
12:58
работающий кусок

    СхемаКомпоновкиДанных = Обработки.ччч.ПолучитьМакет("Подбор");
    Настройки = КомпоновщикНастроек.ПолучитьНастройки();
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, , , Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
    ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, , );
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
    ТЗ = РеквизитФормыВЗначение("ТЗДанныеПодбора", Тип("ТаблицаЗначений"));
    Данные = Новый ТаблицаЗначений;
    ПроцессорВывода.УстановитьОбъект(Данные);
    ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
4 Stim
 
22.06.15
13:12
(3) это для обычных форм
5 mikecool
 
22.06.15
13:18
(4) мб, у меня в уф и в уп работает )
6 LordCMEPTb
 
22.06.15
13:20
(4) А в чем разница УФ и ОФ, если выполнять в модуле объекта?
7 LordCMEPTb
 
22.06.15
13:24
и то, судя по строке из (3)
ТЗ = РеквизитФормыВЗначение("ТЗДанныеПодбора", Тип("ТаблицаЗначений"));
это выполняется в управляемой форме на сервере, так что да, это только для обычных форм..
8 Stim
 
22.06.15
13:34
(6) а как ты в модуле получишь польз настройки - отбор и пр?
9 LordCMEPTb
 
22.06.15
13:38
(8) Хы хы, спросил человек, написавший:
ОбъектОтчет = РеквизитФормыВЗначение("Отчет");
... ОбъектОтчет.КомпоновщикНастроек.Настройки ...

В чем проблема из полученного компоновщика достать актуальные настройки как в (3):
Настройки = КомпоновщикНастроек.ПолучитьНастройки();
10 DmitrO
 
22.06.15
13:48
(0)
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
ТЗ = ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
11 Stim
 
22.06.15
13:57
(9) а что такое "КомпоновщикНастроек"?
где он в управляемой форме?
12 LordCMEPTb
 
22.06.15
15:20
(11) Че-т я мысль уже потерял, а нафига нам на управляемой форме компоновщик настроек, если мы получили уже объект отчета, в котором можем достать актуальный компоновщик?
Не, можно, конечно, завести отдельный реквизит на форме и скармливать ему другую схему и другие настройки, а уже по нему формировать новый вариант. Но исходная задача была в другом, я прав?
13 Гёдза
 
22.06.15
15:22
(11) ну ты даешь