|
СКД: результат запроса СКД в табличный документ и колекцию значений |
☑ |
0
CTmuB
20.12.12
✎
12:24
|
Вопрос по "ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений & ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент"
Как сразу после вывода результата запроса в табличный документ сразу сохранить его (результат запроса) в ТаблицуЗначений (колекцию значений)
без повторного вызова
КомпоновщикМакета.Выполнить(...);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
|
|
1
cw014
20.12.12
✎
12:26
|
А чем тебе повторный вызов не устроил?
|
|
2
Нуф-Нуф
20.12.12
✎
12:27
|
сделать два процессора вывода?
|
|
3
CTmuB
20.12.12
✎
12:27
|
(1) запрос выполняется дооолго
|
|
4
CTmuB
20.12.12
✎
12:28
|
(2) запрос два раза выполняется доооолго
|
|
5
CTmuB
20.12.12
✎
12:37
|
Уточню суть вопроса.
Есть отчет на СКД, который выводится на экран. Как обратится к результату запроса/выборке?
|
|
6
le_
20.12.12
✎
12:39
|
(5) Выполни запрос, помести результат в ТЗ, в СКД передай уже готовую ТЗ.
|
|
7
CTmuB
20.12.12
✎
12:42
|
(6) запрос с группировками, генерится динамически, каждый раз разный
|
|
8
CTmuB
20.12.12
✎
12:43
|
(6) или я чето не понял?
|
|
9
le_
20.12.12
✎
12:46
|
(7) И что? Схему создать и настройки установить можно программно.
|
|
10
CTmuB
20.12.12
✎
12:49
|
(9) можно поподробнее про (6)
|
|
11
CTmuB
20.12.12
✎
12:51
|
(6)
"Выполни запрос" - выполнил
"в СКД передай уже готовую ТЗ" - не понял, как?
|
|
12
pessok
20.12.12
✎
12:55
|
(10) внешний источник данных тебе предлагают использовать
|
|
13
CTmuB
20.12.12
✎
13:00
|
(12) то что внешний источник понял, запрос выполнил, как передать готовый результат запроса в СКД?
|
|
14
pessok
20.12.12
✎
13:02
|
(13) не, передать ты сможешь только ТЗ или ДЗ туда. настройки можно формировать динамически, в зависимости от твеого ТЗ или ДЗ
|
|
15
le_
20.12.12
✎
13:02
|
Процедура ДействияФормыСформировать(Кнопка)
ВнешниеНаборыДанных = Новый Структура;
ТЗКотораяТебеНужнаДляОбработки = СформироватьТЗ();
//делай с ТЗ, что хочешь
//...
ВнешниеНаборыДанных.Вставить("ТЗ", ТЗКотораяТебеНужнаДляОбработки);
СхемаКомпоновкиДанных = ПолучитьМакет("СКД");
Настройки = КомпоновщикНастроек.Настройки;
ДанныеРасшифровкиСКД = Новый ДанныеРасшифровкиКомпоновкиДанных;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровкиСКД);
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных, ДанныеРасшифровкиСКД, Истина);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ЭлементыФормы.Результат);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
//делай с ТЗ, что хочешь
//...
КонецПроцедуры
|
|
16
CTmuB
20.12.12
✎
13:05
|
(15) спасибо. Написано как для меня. :-)
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший