Имя: Пароль:
1C
1С v8
Как свернуть нужный иерархический уровень группировки в СКД?
0 zett
 
23.05.13
10:06
Добрый День!
С помощью СКД вывожу отчет с 3-мя группировками (Подразделение,Сотрудник,ВидРасчета), причем первая группировка выводится с ИЕРАРХИЕЙ.
Таким образом, уровень группировки сотрудника может быть любым (в зависимости от иерархии подразделений).
Как свернуть только группировку по сотруднику, чтобы виды расчетов не были видны?
1 zett
 
23.05.13
10:12
Это команда естетсвенно не дает нужно результата:

ЭлементыФормы.Результат.ПоказатьУровеньГруппировокСтрок(1);
2 zett
 
23.05.13
16:14
Т.е. отчет должен выглядеть примерно так:
подразделение1
 подразделение2
  сотрудник1
   вр1
   вр2
   вр3
Подразделение3
 подразделени4
  сотрудник2
   вр1
   вр2
   вр3
   подразделение5
    сотрудник3
     вр1
     вр2
     вр3


Вр (Вид расчета) нужно свернуть по сотруднику.
3 zett
 
23.05.13
16:16
Решение нашел следующее:

   ЭтотОбъект.СкомпоноватьРезультат(ЭлементыФормы.Результат,ДанныеРасшифровки);
   
   //Извраты...
   ЭлементыФормы.Результат.НачатьАвтогруппировкуСтрок();
   Уровень = 0;
   ИмяУдаляемой = "R4:R" + Формат(ЭлементыФормы.Результат.ВысотаТаблицы, "ЧГ=0");
   Для Счетчик = 4 По ЭлементыФормы.Результат.ВысотаТаблицы Цикл
       ОбработкаПрерыванияПользователя();
       Сч = Формат(Счетчик, "ЧГ=0");
       ТекПодразделение = Справочники.ПодразделенияОрганизаций.НайтиПоНаименованию(ЭлементыФормы.Результат.Область(Сч, 1).Текст);
       ТекФИО = Справочники.СотрудникиОрганизаций.НайтиПоНаименованию(ЭлементыФормы.Результат.Область(Сч, 1).Текст);
       Уровень = ?(ТекПодразделение.Пустая(), Уровень, ТекПодразделение.Уровень());
       Если Не ТекПодразделение.Пустая() Тогда
           ЭлементыФормы.Результат.Вывести(ЭлементыФормы.Результат.ПолучитьОбласть("R" + Сч + ":R" + Сч), Уровень, , Истина);
       ИначеЕсли Не ТекФИО.Пустая() Тогда
           ЭлементыФормы.Результат.Вывести(ЭлементыФормы.Результат.ПолучитьОбласть("R" + Сч + ":R" + Сч), Уровень + 1, , Истина);
       Иначе
           ЭлементыФормы.Результат.Вывести(ЭлементыФормы.Результат.ПолучитьОбласть("R" + Сч + ":R" + Сч), Уровень + 2, , Ложь);
       КонецЕсли;
   КонецЦикла;
   ЭлементыФормы.Результат.ЗакончитьАвтогруппировкуСтрок();
   ЭлементыФормы.Результат.УдалитьОбласть(ЭлементыФормы.Результат.Область(ИмяУдаляемой), ТипСмещенияТабличногоДокумента.ПоВертикали);
4 Лефмихалыч
 
23.05.13
16:19
глупая проблема, глупое решение...
5 zett
 
23.05.13
16:44
Подскажите тогда, как сделать?
6 Лефмихалыч
 
23.05.13
16:46
(5) я тебе в прошлой ветке подсказал - если группировка не нужна, не надо ее включать в настройки. Обучи пользюков пользоваться расшифровкой - по умолчанию отчет без детализации до видов расчета, а если понадобится детализация, то - дабылклик...расшифровать...виды расчета. Эвуаля - щастя
2 + 2 = 3.9999999999999999999999999999999...