Имя: Пароль:
1C
1С v8
ТабДок.НачатьАвтогруппировкуКолонок(); Принцип использования
,
0 Ar-Bus
 
07.11.13
16:20
Привет! Ребята, подскажите методику использования данного метода...
Есть запрос с группировкой по СтатьямРасходов и периоду(месяц).
Затем делаю выборку из результата запроса.
1. по группировке СтатьяРасходов
2. по группировке Период.
В каком месте кода надо написать ТабДок.НачатьАвтогруппировкуКолонок()?
И как затем в коде использовать ТабДок.Присоединить()? Где-то читал, что данный метод (Группировка колонок) не работает, если уровненьГруппировки=1. Т.е. в моей выборке(по периодам) это работать не будет?
1 Euguln
 
07.11.13
16:24
(0) для группировки нужно как минимум 2 уровня колонок.
А попробовать, поэкспериментировать, посмотреть в типовой не?
2 Ar-Bus
 
07.11.13
18:09
(1) А как сделать тогда 2 уровня группировок для периодов? Например, мо месяцам и годам...
чтобы сначала выходили колонки помесячно, а затем общий итог за год... Надо, чтобы можно было сворачивать колонки с группировкой по месяцам, тогда будет оставать только колонка с  группировкой СтатьяРасходов, а затем Колонка с Общий итог(группировка за весь период отчета, т.е. за год)
3 Wobland
 
07.11.13
18:11
выводить области можно на разных уровнях. а вообще СКД - наше всё
4 EvgeniuXP
 
07.11.13
18:26
(2) будет звучать странно, но: группируй по году и месяцу :)
5 EvgeniuXP
 
07.11.13
18:26
(+4) зырь НАЧАЛОПЕРИОДА :)
6 Kardash
 
07.11.13
19:04
ТабДок.НачатьАвтоГруппировкуСтрок();

ВыборкаПодразделение = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"Подразделение");
Пока ВыборкаПодразделение.Следующий() Цикл
    ОбластьПодразделений.Параметры.Заполнить(ВыборкаПодразделение);
    ТабДок.Вывести(ОбластьПодразделений,1,,Истина);//Группировка 1-го уровня
    
    ВыборакСотрудники = ВыборкаПодразделение.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"Сотрудник");
    Пока ВыборкаСотрудники.Следующий() Цикл
        ОбластьСотрудников.Параметры.Заполнить(ВыборкаПодразделение);
        ТабДок.Вывести(ОбластьПодразделений,2,,Истина);//Группировка 2-го уровня
        
        ВыборакДетали = ВыборкаСотрудники.Выбрать();
        Пока ВыборакДетали.Следующий() Цикл
            ОбластьДетали.Параметры.Заполнить(ВыборакДетали);
            ТабДок.Вывести(ОбластьПодразделений,3,,Ложь);//Группировка 3-го уровня (без + просто строчкой)
        КонецЦикла;
    КонецЦикла;
КонецЦикла;
ТабДок.ЗакончитьАвтоГруппировкуСтрок();
//здесь можно еще вывести итоги...
ТабДок.Показать();
7 Kardash
 
07.11.13
19:05
ТабДок.Присоединить(ОбластьПодразделений,3,,Ложь) - принцип тот же...
Программист всегда исправляет последнюю ошибку.