Имя: Пароль:
1C
1С v8
Передача результата отчета в параметр обработки
0 skupidom
 
22.08.17
15:31
Есть отчет в который передаются параметры из обработки.Результат отчета нужно вернуть в обработку, но результат получаем не ТЗ,а путем обработки результата запроса по группировкам.Нужно вернуть результат запроса в виде параметра в эту обработку?
1 lexasan
 
22.08.17
16:16
Извини, но вопрос поставлен так: я пошел с столовую пообедать. Потом мне надо вернуться домой, но не пешком, а на автобусе. Нужно вернуться домой пешком?
2 aleksonic
 
22.08.17
16:27
В форме отчета:
РезультатОтчета = ПолучитьДанныеПоРезультатам();
ФормаОбработки.Открыть();

В форме обработки:
Процедура ПриОткрытии()

    ЭлементыФормы.ТабличноеПоле.Колонки.Очистить();
    ТабличноеПоле = Новый ТаблицаЗначений;
    ТабличноеПоле = РезультатОтчета ;
    ЭлементыФормы.ТабличноеПоле.Данные = "ТабличноеПоле";
    ЭлементыФормы.ТабличноеПоле.СоздатьКолонки();

КонецПроцедуры
3 lexasan
 
22.08.17
16:48
(2)

"РезультатОтчета = ПолучитьДанныеПоРезультатам();
ФормаОбработки.Открыть();" - здесь нет передачи в обработку результата отчета. На сколько я понял, у тебя используется толстый клиент обычное приложение, для передачи результата тебе нужен реквизит формы обработки типа, соответствующего переменной РезультатОтчета.

Если у тебя РезультатОтчета = ПолучитьДанныеПоРезультатам() - результат запроса с группировками, то в ТЗ ты его не загрузишь. Как минимум нужно дерево значений и тогда

ФормаОбработки.ДеревоЗначений = РезультатОтчета.Выгрузить(); //ДеревоЗначений это реквизит формы обработки с типом дерево значений
ФормаОбработки.Открыть();

и потом уже отображать дерево на форме
Процедура ПриОткрытии()
    ЭлементыФормы.ТабличноеПоле.Данные = "ДеревоЗначений";
    ЭлементыФормы.ТабличноеПоле.СоздатьКолонки();
КонецПроцедуры

примерно как то так
4 aleksonic
 
22.08.17
16:53
да, конечно. Предоставил лишь работающий код на примере ТЗ. Дерево совершенно не принципиально.
5 aleksonic
 
22.08.17
16:54
(3) ДеревоЗначений это реквизит формы обработки с типом дерево значений
Все верно, но создавать новое дерево в коде придется.