Имя: Пароль:
1C
1С v8
1С как в СКД свернуть вообще все группировки?
0 DeXeD
 
15.12.14
08:36
Нужно, чтобы при открытии вложенной группировки, вложенные в нее были также свернуты.
1 DeXeD
 
15.12.14
08:37
ПоказатьУровеньГруппировокСтрок сворачивает самый верхний уровень, вложенные в нее остаются развернуты
2 Бледно Золотистый
 
15.12.14
08:50
(1) КоличествоУровнейГруппировокСтрок()
Описание:
Получает количество уровней группировок строк.
3 DeXeD
 
15.12.14
08:56
(2)Как это помогает?
* Вывод идет в поле табличного документа.
4 DeXeD
 
16.12.14
07:44
ап
5 Mankubus
 
16.12.14
07:57
ПоказатьУровеньГруппировокСтрок (ShowRowGroupLevel)
Синтаксис:

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

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

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

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

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

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Пример:

// ПолеТД - реквизит (поле табличного документа) для показа результатов отчета
// В имени кнопки содержится уровень
Процедура ОткрытьУровень(Кнопка)
    Уровень = Число(Сред(Кнопка.Имя, 2)) - 1;
    У = ПолеТД.КоличествоУровнейГруппировокСтрок() - 1;
    Пока У > Уровень Цикл
        ПолеТД.ПоказатьУровеньГруппировокСтрок(У);
        У = У - 1;
    КонецЦикла;
    ПолеТД.ПоказатьУровеньГруппировокСтрок(Уровень);
КонецПроцедуры
6 Лефмихалыч
 
16.12.14
08:31
жаль сдох ТелепатБот
(0) кодом свернуть все после вывода отчета
7 Мимохожий Однако
 
16.12.14
08:36
(6)С ним было весело
8 DeXeD
 
16.12.14
09:22
(6) - ну будет свернуто, все до указанного уровня. Раскрываешь группировку - там все уже развернуто. Вариант ПоказатьУровеньГруппировокСтрок(<Уровень>) не канает.
9 DeXeD
 
16.12.14
09:25
Группировок больше 2-х. Допустим , их 3. ПоказатьУровеньГруппировокСтрок(1). Верхний уровень свернут. Раскрываю группировку - раскрывается 2 и 3 сразу. Надо , чтобы 1 был раскрыт, 2 и 3 свернут. (7) - Что не понятного в вопросе?
10 pessok
 
16.12.14
09:34
(8) чтобы понять рекурсию, надо понять рекурсию
11 pessok
 
16.12.14
09:35
+(10) циклом прекрасно сворачиваются все вложенные группировки
12 DeXeD
 
16.12.14
09:38
(11) - напиши пример для ТабличногоДокумента. Вывод идет через  ПроцессорВывода.
13 pessok
 
16.12.14
09:41
(12) а процессор вывода у тебя идет не в ПолеТабличногоДокумента? А в ПолеТабличногоДокумента у тебя не ТабличныйДокумент? А после обработки ПроцессораВывода уже нельзя с ПТД ничего делать?
14 DeXeD
 
16.12.14
09:43
(13) - конкретно. У меня есть ПолеТабличногоДокумента. В нем области. Что дальше?
15 pessok
 
16.12.14
09:49
(13) конкретно было в (5)
16 pessok
 
16.12.14
09:49
Процедура ДействияФормыСформироватьВручную(Кнопка)
    ЭлементыФормы.Результат.Очистить();
    
    ИсполняемыеНастройки = КомпоновщикНастроек.Настройки;
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, ИсполняемыеНастройки);
    
    ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных);
    
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ЭлементыФормы.Результат);
    ПроцессорВывода.НачатьВывод();
    Пока Истина Цикл
        ЭлементРезультатаКомпоновкиДанных = ПроцессорКомпоновкиДанных.Следующий();
        Если ЭлементРезультатаКомпоновкиДанных = Неопределено Тогда
            Прервать;
        КонецЕсли;
        ПроцессорВывода.ВывестиЭлемент(ЭлементРезультатаКомпоновкиДанных);
    КонецЦикла;
    ПроцессорВывода.ЗакончитьВывод();
    ЭлементыФормы.Результат.ПоказатьУровеньГруппировокСтрок(0);
КонецПроцедуры
17 DeXeD
 
16.12.14
09:54
(16) и? что вложенные группировки там свернуты? - Нет. Вопрос в теме звучит именно: (0)
18 pessok
 
16.12.14
10:07
(17) ну так цикл как в (5)...
У = ЭлементыФормы.Результат.КоличествоУровнейГруппировокСтрок() - 1;
    Пока У > 0 Цикл
        ЭлементыФормы.Результат.ПоказатьУровеньГруппировокСтрок(У);
        У = У - 1;
    КонецЦикла;
19 DeXeD
 
16.12.14
10:09
(18) к чему его привязать? Это цикл подошел бы, если бы было событие ПриРаскрытииГруппировки.
20 pessok
 
16.12.14
10:09
(19) это цикл вызывается после полной компоновки результат
21 pessok
 
16.12.14
10:10
+(20) он сворачивает все группировки после компоновки. если группы уже были развернуты вручную, то уже никак их не свернуть
22 pessok
 
16.12.14
10:11
и да,
Пока У >= 0 Цикл
23 DeXeD
 
16.12.14
10:16
(21) - Спасибо. Не думал, что этот метод сворачивает группировки. Даже не пробывал этот цикл. Все, тема закрыта.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший