Имя: Пароль:
1C
1С v8
СКД Добавление вложенной группировки при расшифровке отчета
0 olo_lo1
 
06.08.12
12:12
Задачка стоит наверное простая, но сцу*а с заковыркой

в момент расшифровки необходимо к уже имеющимся группировкам что настроил себе пользователь в отчете добавить и ту что он указал при расшифровке.

Итого в обработке РезультатОбработкиРасшифровке

мы знаем какую группировку выбрал пользователь ТекНастройкиКомпоновщика =КомпоновщикНастроек.Настройки;
и знаем все наши группировки ТекНастройкиКомпоновщика =КомпоновщикНастроек.Настройки;

а теперь вопрос: как добавить эту группировку как вложенную на самый низкий уровень
1 olo_lo1
 
06.08.12
12:14
опечатка, настройку расшифровки определяем через
Настройка = ОбработкаРасшифровки.Выполнить(Расшифровка,ВыполненноеДействие)
2 olo_lo1
 
06.08.12
12:29
вверх
3 olo_lo1
 
06.08.12
15:33
Может кто то подскажет как добавить вложенную группировку в СКД ?
4 olo_lo1
 
07.08.12
10:02
получило сделать так:
ТекНастройкаКомпоновщика = КомпоновщикНастроек.Настройки;
           Группировка = ВернутьПоследнююГруппировку(ТекНастройкаКомпоновщика);
           НоваяГруппировка = Группировка.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных"));
           НоваяГруппировка.Имя = ""+Настройки.Структура.Получить(0).ПоляГруппировки.Элементы.Получить(0).Поле;
           НоваяГруппировка.Использование = Истина;

           ПолеГруппировки = НоваяГруппировка.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных"));
           ПолеГруппировки.Использование=Истина;
           ПолеГруппировки.Поле = Настройки.Структура.Получить(0).ПоляГруппировки.Элементы.Получить(0).Поле;
           ПолеГруппировки.ТипГруппировки=ТипГруппировкиКомпоновкиДанных.Элементы;
           ПолеГруппировки.ТипДополнения=ТипДополненияПериодаКомпоновкиДанных.БезДополнения;
           АвтоПоле =  НоваяГруппировка.Выбор.Элементы.Добавить(Тип("АвтоВыбранноеПолеКомпоновкиДанных"));
           АвтоПоле.Использование=Истина;
           
           Для Каждого СтрокаОбхода Из Настройки.Отбор.Элементы Цикл
               Если СтрокаОбхода.Использование Тогда
                   ЛевоеЗначение = СтрокаОбхода.ЛевоеЗначение;
                   Отбор = ВернутьЭлементОтбора(ТекНастройкаКомпоновщика.Отбор.Элементы,ЛевоеЗначение);
                   Если Отбор=Неопределено Тогда
                       Отбор = ТекНастройкаКомпоновщика.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
                   КонецЕсли;
                   Отбор.ЛевоеЗначение=ЛевоеЗначение;
                   Отбор.Использование=Истина;
                   Отбор.ВидСравнения=ВидСравненияКомпоновкиДанных.Равно;
                   Отбор.ПравоеЗначение= СтрокаОбхода.ПравоеЗначение;
               КонецЕсли;
           КонецЦикла;
5 olo_lo1
 
07.08.12
10:05
но теперь возникла новая дилемма: интеактивно форма компоновщика настроек не изменяется, т.е. количество галок и отборов добавляется, а когда я перехожу скажем на первоначальные настройки через
Настройки=СхемаКомпоновкиДанных.НастройкиПоУмолчанию;

то галки с отборами на форме настройкакампоновщика.отбор, а также группировки остаются, хотя отчет формируется со структурой которая была по умолчанию. Как сделать что бы форма табличного поля отбора также обновлялась ?
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн