|
Почему не работает автогруппировка колонок? |
☑ |
0
BlackJack
12.02.13
✎
22:20
|
Вот такой простейший код:
&НаКлиенте
Процедура Сделать(Команда)
ТабДок=СделатьЭто();
ТабДок.Показать();
КонецПроцедуры
Функция СделатьЭто()
ОбъектОтчет = РеквизитФормыВЗначение("Отчет");
Макет = ОбъектОтчет.ПолучитьМакет("Макет");
ТабДок = Новый ТабличныйДокумент;
ТабДок.Очистить();
ТабДок.НачатьАвтогруппировкуКолонок();
Обл = Макет.ПолучитьОбласть("Строка|ВертШапка");
ТабДок.Вывести(Обл,1);
Для й=1 По 3 Цикл
Обл = Макет.ПолучитьОбласть("Строка|Подразделение");
ТабДок.Присоединить(Обл,2);
КонецЦикла;
Обл = Макет.ПолучитьОбласть("Строка|Продажа");
ТабДок.Присоединить(Обл,2);
Для й=1 По 3 Цикл
Обл = Макет.ПолучитьОбласть("Строка|Склад");
ТабДок.Присоединить(Обл,2);
КонецЦикла;
Обл = Макет.ПолучитьОбласть("Строка|Остаток");
ТабДок.Присоединить(Обл,2);
ТабДок.ЗакончитьАвтогруппировкуКолонок();
Возврат ТабДок;
КонецФункции
Макет тоже примитивный - одна горизонтальная секция и 5 вертикальных. Всё пустое. Не понимаю...
|
|
1
BlackJack
13.02.13
✎
10:12
|
Даже ещё проще
&НаКлиенте
Процедура Сделать(Команда)
ТабДок=СделатьЭто();
ТабДок.Показать();
КонецПроцедуры
Функция СделатьЭто()
ОбъектОтчет = РеквизитФормыВЗначение("Отчет");
Макет = ОбъектОтчет.ПолучитьМакет("Макет");
ТабДок = Новый ТабличныйДокумент;
Обл = Макет.ПолучитьОбласть("Строка|Колонка");
ТабДок.НачатьАвтогруппировкуКолонок();
ТабДок.Вывести(Обл,1);
ТабДок.Присоединить(Обл,2);
ТабДок.Присоединить(Обл,2);
ТабДок.ЗакончитьАвтогруппировкуКолонок();
Возврат ТабДок;
КонецФункции
И макет из одной строки и колонки.
|
|
2
НЕА123
13.02.13
✎
10:14
|
НачатьГруппуКолонок
?
|
|
3
BlackJack
13.02.13
✎
10:21
|
(2) Ну вообще-то есть в строке 14:
ТабДок.НачатьАвтогруппировкуКолонок();
|
|
4
Wobland
13.02.13
✎
10:22
|
а попробуй забабашить тупой копи-паст из СП
|
|
5
НЕА123
13.02.13
✎
10:24
|
(3)
хз. у меня с автогруппировкой не пошло, а явно - нормально.
|
|
6
Wobland
13.02.13
✎
10:28
|
Строки с минимальным уровнем в группу не объединяются.
ТабДок.Вывести(Обл,1);
ТабДок.Присоединить(Обл,2);
ТабДок.Присоединить(Обл,3);
так взлетело
|
|
7
BlackJack
13.02.13
✎
10:48
|
(6) Так работает, хоть и странно.
Ещё страньше, что я до этого другой пример делал, работало корректно с двумя уровнями.
|
|
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой