Имя: Пароль:
1C
 
СКД: Как программно запустить компоновку вместо кнопки "Сформировать"?
0 Икогнито
 
27.08.09
10:02
Есть готовый отчет с настройками в компоновке данных.
Как программно запустить компоновку - аналог нажатия предопределенной кнопки "Сформировать"?
1 H A D G E H O G s
 
27.08.09
10:04
ЭтотОбъект.СкомпоноватьРезультат(ЭлементыФормы.ПолеТабличногоДоркумента);
2 Икогнито
 
27.08.09
10:12
(1) спасибо.
3 H A D G E H O G s
 
27.08.09
10:14
Это тебе не в Лайфе трындеть...
4 Икогнито
 
27.08.09
15:33
(3) да, только в таком режиме у табличного документа исчезает расшифровка ячейки таблицы почемуто... при клике по ячейке нет выпадающего меню....
5 H A D G E H O G s
 
27.08.09
15:36
СкомпоноватьРезультат(ЭлементыФормы.ПолеТабличногоДоркумента,ДанныеРасшифровки);
6 Икогнито
 
27.08.09
15:44
(5) при клике появляется не выпадающее меню с разными действиями, а просто отображается представление объекта
7 Икогнито
 
27.08.09
15:48
(5) короче говоря, нет ОбработкаРасшифровкиКомпоновкиДанных
8 luns
 
27.08.09
15:50
так:

Процедура Отчет() Экспорт
   
   // выводим результат
   ЭлементыФормы.Результат.Очистить();
   СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
   
   Настройки = КомпоновщикНастроек.Настройки;
   
   СтруктураПараметров = ПолучитьСтруктуруПараметров();
   
   ЗаполнитьПараметрыПоСтруктуреПараметров(Настройки,СтруктураПараметров);
   
   КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
   МакетОформления = ПолучитьМакет("МакетОформления");
   МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,Настройки,ДанныеРасшифровки,МакетОформления);
   
   ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
   ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,,ДанныеРасшифровки);
   
   ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
   ПроцессорВывода.УстановитьДокумент(ЭлементыФормы.Результат);
   ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
   
КонецПроцедуры //Отчет()
9 Икогнито
 
27.08.09
15:59
Что у меня не так?

ЭлементыФормы.Результат.Очистить();
   
   КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
   МакетКомпоновки = КомпоновщикМакета.Выполнить(ЭтотОбъект.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"),ЭтотОбъект.КомпоновщикНастроек.Настройки,ИнформацияРасшифровки);
   
   
   ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
   ПроцессорКомпоновки.Инициализировать(МакетКомпоновки);
   
   ДокументРезультат = ЭлементыФормы.Результат;
   
   ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
   ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
   
   ПроцессорВывода.НачатьВывод();
   
   Пока  Истина Цикл
       ЭлементРезультата = ПроцессорКомпоновки.Следующий();
       Если ЭлементРезультата = Неопределено Тогда
           Прервать;
       Иначе
           ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата);
       КонецЕсли;
   КонецЦикла;
   
   ПроцессорВывода.ЗакончитьВывод();
   
   ДокументРезультат.ОтображатьСетку = Ложь;
   ДокументРезультат.ОтображатьЗаголовки = Ложь;
   ДокументРезультат.Показать();
10 Икогнито
 
27.08.09
16:03
Как сделать чтобы это меню появлялось ОбработкаРасшифровкиКомпоновкиДанных?
11 Икогнито
 
27.08.09
16:06
млин, разобрался
12 Икогнито
 
27.08.09
16:07
должно присутствовать событие в модуле РезультатОбработкаРасшифровки()