|
Не выводится группировка строк | ☑ | ||
---|---|---|---|---|
0
BarakuzA
28.05.17
✎
15:03
|
Добрый день,
Подскажите, в отчете (построитель отчета) не выводится группировка строк. Прописывал АвтогруппировкаСтрок, не выводит. |
|||
1
BarakuzA
28.05.17
✎
15:05
|
Таб = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("Макет"); ДатаОтчета = "На дату: " + ?(ЗначениеЗаполнено(ДатаКонца), Формат(ДатаКонца, "ДЛФ=Д"), " - - "); ОбластьЗаголовокОтчета = Макет.ПолучитьОбласть("МакетЗаголовокОтчета"); ОбластьЗаголовокОтчета.Параметры.ДатаОтчета = ДатаОтчета; Таб.Вывести(ОбластьЗаголовокОтчета); ОбластьШапкиТаблицы = Макет.ПолучитьОбласть("МакетШапкаТаблицы"); Таб.Вывести(ОбластьШапкиТаблицы); Построитель.Параметры.Вставить("ДатаКонца", КонецДня(ДатаКонца)); Построитель.Выполнить(); Таб.НачатьАвтогруппировкуСтрок(); //ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("МакетДетальныеЗаписи"); //Выборка = РезультатЗапроса.Выбрать(); //Пока Выборка.Следующий() Цикл // ОбластьДетальныхЗаписей.Параметры.СкладШифр = Выборка.СкладШифр; // ОбластьДетальныхЗаписей.Параметры.Имущество = Выборка.Имущество; // ОбластьДетальныхЗаписей.Параметры.МестоЭксплуатации = Выборка.МестоЭксплуатации; // ОбластьДетальныхЗаписей.Параметры.Ответственный = Выборка.Ответственный; // ОбластьДетальныхЗаписей.Параметры.КоличествоОстаток = Выборка.КоличествоОстаток; // Таб.Вывести(ОбластьДетальныхЗаписей); //КонецЦикла; ОбластьИтоги = Макет.ПолучитьОбласть("МакетИтоги"); ОбластьСкладШифр = Макет.ПолучитьОбласть("МакетСкладШифр"); ОбластьПодразделение = Макет.ПолучитьОбласть("МакетПодразделение"); ОбластьОтветственный = Макет.ПолучитьОбласть("МакетОтветственный"); ОбластьИмущество = Макет.ПолучитьОбласть("МакетИмущество"); РезультатЗапроса= Построитель.Результат; ВыборкаОбщийИтог = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"ОБЩИЕ"); Пока ВыборкаОбщийИтог.Следующий() Цикл ОбластьИтоги.Параметры.Заполнить(ВыборкаОбщийИтог); Таб.Вывести(ОбластьИтоги); ВыборкаСкладШифр = ВыборкаОбщийИтог.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"СкладШифр"); Пока ВыборкаСкладШифр.Следующий() Цикл //ОбластьСкладШифр.Параметры.Заполнить(ВыборкаСкладШифр,ВыборкаСкладШифр.Уровень(),,Ложь); ОбластьСкладШифр.Параметры.Заполнить(ВыборкаСкладШифр); Таб.Вывести(ОбластьСкладШифр); ВыборкаПодразделение = ВыборкаскладШифр.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"Подразделение"); Пока ВыборкаПодразделение.Следующий() Цикл //ОбластьПодразделение.Параметры.Заполнить(ВыборкаПодразделение,ВыборкаПодразделение.Уровень(),,Ложь); ОбластьПодразделение.Параметры.Заполнить(ВыборкаПодразделение); Таб.Вывести(ОбластьПодразделение); ВыборкаОтветственный = ВыборкаПодразделение.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"Ответственный"); Пока ВыборкаОтветственный.Следующий() Цикл ОбластьОтветственный.Параметры.Заполнить(ВыборкаОтветственный); //Таб.Вывести(ОбластьОтветственный,ВыборкаОтветственный.Уровень(),,Ложь); Таб.Вывести(ОбластьОтветственный); ВыборкаИмущество = ВыборкаОтветственный.Выбрать(); Пока ВыборкаИмущество.Следующий() Цикл ОбластьИмущество.Параметры.Заполнить(ВыборкаИмущество); Таб.Вывести(ОбластьИмущество); КонецЦикла; КонецЦикла; КонецЦикла; КонецЦикла; КонецЦикла; Таб.ЗакончитьАвтогруппировкуСтрок(); //------------------------------------- ЭлементыФормы.ТабДок.Очистить(); //КоличествоУровней = ЭлементыФормы.ТабДок.КоличествоУровнейГруппировокСтрок(); //Для Уровень=1 По КоличествоУровней - 1 Цикл // ЭлементыФормы.ТабДок.ПоказатьУровеньГруппировокСтрок(КоличествоУровней - Уровень); //КонецЦикла; ЭлементыФормы.ТабДок.Вывести(Таб); |
|||
2
mehfk
28.05.17
✎
15:12
|
ТабличныйДокумент.Вывести (SpreadsheetDocument.Put)
ТабличныйДокумент (SpreadsheetDocument) Вывести (Put) Синтаксис: Вывести(<Таблица>, <Уровень>, <ИмяГруппы>, <Открыта>) Параметры: <Таблица> (обязательный) Тип: ТабличныйДокумент; ПолеТабличногоДокумента. Выводимая таблица. <Уровень> (необязательный) Тип: Число. Уровень используется для автоматической группировки строк табличного документа. Соседние строки с одинаковым уровнем будут отнесены к одной группе. Строки с минимальным уровнем в группу не объединяются. <ИмяГруппы> (необязательный) Тип: Строка. Название группы, к которой относятся выводимые строки. Значение по умолчанию: Пустая строка. <Открыта> (необязательный) Тип: Булево. Истина - выведенная группа будет открыта; Ложь - группа будет выведена в свернутом виде. Значение по умолчанию: Истина. Возвращаемое значение: Тип: ОбластьЯчеекТабличногоДокумента. Область, в которую был осуществлен вывод. Описание: Выводит табличный документ в результирующий табличный документ, добавляя его со следующей строки вслед за самой нижней выведенной строкой, начиная с первой колонки. Табличные документы, которые выводятся при помощи данного метода, не рекомендуется передавать между клиентом и сервером и обратно. Доступность: Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер). Примечание: Свойство Формат ячейки табличного документа не используется для форматирования значений, выводимых в при помощи шаблона. Пример: ТабДок = Новый ТабличныйДокумент; Секция = ТабДок.ПолучитьОбласть("R1"); Секция.Область("R1C1").Текст = "Численность сотрудников"; ТабДок.НачатьАвтогруппировкуСтрок(); ТабДок.Вывести(Секция,1,"Группа",Истина); Итого = 0; Для Н=1 По 3 Цикл Значение = Н; Итог = 0; Секция.Область("R1C1").Текст = "Отдел "+Н; Секция.Область("R1C2").Текст = ""; ТабДок.Вывести(Секция,2,"Группа 1",Истина); Секция.Область("R1C1").Текст = "Группа"; Секция.Область("R1C2").Текст = "Численность"; ТабДок.Вывести(Секция,2,"Группа 1",Истина); Для К=1 По 10 Цикл Секция.Область("R1C1").Текст = "А"+Н+К; Секция.Область("R1C2").Текст = Значение; ТабДок.Вывести(Секция,3,"Группа 2",Истина); Итог = Итог + Значение; Значение = Значение + 10; КонецЦикла; Секция.Область("R1C1").Текст = "Итого"+Н; Секция.Область("R1C2").Текст = Итог; ТабДок.Вывести(Секция,2,"Группа 1",Истина); Секция.Область("R1C1:R1C2").Текст = ""; ТабДок.Вывести(Секция); Итого = Итого + Итог; КонецЦикла; Секция.Область("R1C1").Текст = "Всего:"; Секция.Область("R1C2").Текст = Итого; ТабДок.Вывести(Секция,1,"Группа",Истина); ТабДок.ЗакончитьАвтогруппировкуСтрок(); ТабДок.ИтогиСнизу = Истина; ТабДок.ОтображатьСетку = Ложь; ТабДок.Защита = Ложь; ТабДок.ТолькоПросмотр = Истина; ТабДок.Показать("Пример использования верт. автогруппировки"); См. также: ТабличныйДокумент, метод Присоединить -------------------------------------------------------------------------------- Методическая информация |
|||
3
BarakuzA
28.05.17
✎
15:22
|
(2) Заработало, но как-то коряво группирует.
|
|||
4
BarakuzA
28.05.17
✎
15:27
|
(3) А теперь нормально результат выводит.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |