Имя: Пароль:
1C
1С v8
Принудительно открыть отчет на СКД с определенным уровнем группировки
0 Endrews_spb
 
10.02.12
16:22
1C 8.2 с УФ

Сделал замечательный отчет на СКД c группировками, хотелось принудительно бы его открывать с уровнем группировок = 3.

Как?
1 depthzer0
 
10.02.12
16:22
в коде надо
2 yanejsh
 
10.02.12
16:27
ТабличныйДокумент (SpreadsheetDocument)
ПоказатьУровеньГруппировокСтрок (ShowRowGroupLevel)
Синтаксис:

ПоказатьУровеньГруппировокСтрок(<Уровень>)
Параметры:

<Уровень> (обязательный)

Тип: Число.
Уровень, до которого необходимо раскрыть группировки строк.
Описание:

Показывает уровень группировки строк до заданного уровня.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
3 Endrews_spb
 
10.02.12
16:29
Т.е. придется прикручивать к СКД отчету форму как в 8.1
При каком событии этот код нужно писать, не понял?
4 yanejsh
 
10.02.12
16:31
полагаю, что после того, как сформировал и перед тем, как показать :)
5 Endrews_spb
 
10.02.12
16:36
Это понятно, но подходящего события не вижу
6 yanejsh
 
10.02.12
16:42
// Пытается напечатать отчет.
//
Процедура НапечататьОтчет(УровеньГруппировки=3)
   СхемаКомпоновкиДанных = ПолучитьМакет("СхемаКомпоновкиДанныхИтоги");

   //Из схемы возьмем настройки по умолчанию
   Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
   //Из открытой формы возьмем установленные настройки
   
   //Помещаем в переменную данные о расшифровке данных
   ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
   //Формируем макет, с помощью компоновщика макета
   КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;

   //Передаем в макет компоновки схему, настройки и данные расшифровки
   МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);

   //Выполним компоновку с помощью процессора компоновки
   ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
   ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,,ДанныеРасшифровки);

   ОтчетРезультат = Новый ТабличныйДокумент;
   
   //Выводим результат в табличный документ
   ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
   ПроцессорВывода.УстановитьДокумент(ОтчетРезультат);

   ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
   
   ОтчетРезультат.ОтображатьСетку = ложь;
   ОтчетРезультат.ОтображатьЗаголовки = Истина;
   ОтчетРезультат.ТолькоПросмотр = Истина;
   ОтчетРезультат.ПоказатьУровеньГруппировокСтрок(УровеньГруппировки.Значение);
   ОтчетРезультат.Показать();

КонецПроцедуры

Процедура ДействияФормыПечать(Кнопка)
   Список = Новый СписокЗначений;
   Список.Добавить(1, "1");
   Список.Добавить(2, "2");
   Список.Добавить(3, "3");
   Список.Добавить(4, "4");
   Список.Добавить(5, "5");
   ВыбЭлемент = Список.НайтиПоЗначению(3);
   
   //ВыбЭлемент = Список.ВыбратьЭлемент("Выберите уровень группировки:", ВыбЭлемент);

   Если ВыбЭлемент <> Неопределено Тогда
       НапечататьОтчет(ВыбЭлемент);
   КонецЕсли;

КонецПроцедуры
7 DitriX
 
10.02.12
17:43
Вообще рекомендую на инфостарте поискать шаблоны форм отчетов для СКД и туда запилить, там сразу тебе будет и время формирования отчета, и сумма по выделенным колонкам и много чего еще...
8 Endrews_spb
 
13.02.12
09:41
yanejsh помогло, но пришлось делать собственную кнопку. В итоге ррешил не использовать.