|
Табличный документ сворачивание группировок | ☑ | ||
---|---|---|---|---|
0
Anabella
29.05.15
✎
11:10
|
Подскажите, люди добрые. Задача: необходимо без СКД вывести отчет со сворачиваемыми группировками. Можно ли это сделать в макете? Если нет, можно ли выводить данные в табличный документ без макета? Гугл уверяет, что можно. но такой пример:
ТабДок = Новый ТабличныйДокумент; Шапка = ТабДок.ПолучитьОбласть("Шапка"); Не срабатывает, потому что не найдена область шапка. А где её создать, как не в макете? |
|||
1
Dry_42
29.05.15
✎
11:16
|
А макет прочитать забыли? он вообще есть макет?
|
|||
2
Dry_42
29.05.15
✎
11:18
|
Может так надо:
ТабДок = Новый ТабличныйДокумент; Макет = ПолучитьМакет("Макет"); Шапка = Макет.ПолучитьОбласть("Шапка"); |
|||
3
Anabella
29.05.15
✎
11:22
|
(1) Можно ли в макете вывести отчет со сворачиваемыми группировками?
|
|||
4
Рэйв
29.05.15
✎
11:23
|
(3)Можно.Только не в макете, а в табличном документе
|
|||
5
Рэйв
29.05.15
✎
11:25
|
ТабличныйДокумент (SpreadsheetDocument)
НачатьГруппуСтрок (StartRowGroup) Синтаксис: НачатьГруппуСтрок(<ИмяГруппы>, <ОткрытаЛиГруппа>) Параметры: <ИмяГруппы> (необязательный) Тип: Строка. Название группы. <ОткрытаЛиГруппа> (необязательный) Тип: Булево. Определяет необходимость открытия группы. Истина - выведенная группа будет открыта; Ложь - группа будет выведена в свернутом виде. Значение по умолчанию: Истина. Описание: Начинает новую группу строк. Можно создавать вложенные группы строк. Доступность: Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер). Пример: ТабДок = Новый ТабличныйДокумент; Секция = ТабДок.ПолучитьОбласть("R1"); Секция.Область("R1C1").Текст = "Численность сотрудников"; ТабДок.Вывести(Секция); ТабДок.НачатьГруппуСтрок("По всем подразделениям", Истина); Всего = 0; Для Н=1 По 3 Цикл Значение = Н; Итог = 0; Секция.Область("R1C1").Текст = "Отдел "+Н; Секция.Область("R1C2").Текст = ""; ТабДок.Вывести(Секция); ТабДок.НачатьГруппуСтрок("Отдел"+Н, Истина); Секция.Область("R1C1").Текст = "Группа"; Секция.Область("R1C2").Текст = "Численность"; Секция.Область("R1C2").ГоризонтальноеПоложение = ГоризонтальноеПоложение.Авто; ТабДок.Вывести(Секция); ТабДок.НачатьГруппуСтрок("Группа "+Н, Истина); Для К=1 По 4 Цикл Секция.Область("R1C1").Текст = "А"+Н+К; Секция.Область("R1C2").Текст = Значение; ТабДок.Вывести(Секция); Итог = Итог + Значение; Значение = Значение + 10; КонецЦикла; ТабДок.ЗакончитьГруппуСтрок(); // окончить группу "Группа" ТабДок.ЗакончитьГруппуСтрок(); // окончить группу "Отдел" Секция.Область("R1C1").Текст = "Итого"+Н; Секция.Область("R1C2").Текст = Итог; ТабДок.Вывести(Секция); Секция.Область("R1C1:R1C2").Текст = ""; ТабДок.Вывести(Секция); Всего = Всего + Итог; КонецЦикла; ТабДок.ЗакончитьГруппуСтрок(); // окончить группу "По всем отделам" Секция.Область("R1C1").Текст = "Всего:"; Секция.Область("R1C2").Текст = Всего; ТабДок.Вывести(Секция); ТабДок.ИтогиСнизу = Ложь; ТабДок.ОтображатьСетку = Ложь; ТабДок.Защита = Ложь; ТабДок.ТолькоПросмотр = Истина; ТабДок.Показать("Пример использования метода НачатьГруппуСтрок"); См. также: ТабличныйДокумент, метод ЗакончитьГруппуСтрок -------------------------------------------------------------------------------- Методическая информация |
|||
6
Anabella
29.05.15
✎
11:29
|
(5) я читала, но не поняла, соотносится ли это с макетом :) спасибо, попробую.
|
|||
7
Рэйв
29.05.15
✎
11:32
|
(6)С макетом никак. Соотносится с выводом в таб документ
|
|||
8
ДенисЧ
29.05.15
✎
11:34
|
Oh. My. God.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |