![]() |
![]() |
![]() |
|
Как в ручном макете сделать так чтобы появились плюсики у сгруппированных данных | ☑ | ||
---|---|---|---|---|
0
mirvel
22.12.10
✎
13:21
|
Если воспользоваться конструктором компановки данных то без проблем у группировок появляются плюсики (свернуть, развернуть группу)....а как сделать так чтобы при ручном выводе получались плюсики у группировки?
|
|||
1
Wobland
22.12.10
✎
13:22
|
НачатьАвтогруппировкуСтрок()
|
|||
2
Wobland
22.12.10
✎
13:27
|
Пример:
см. примеры метода Вывести объекта Табличный Документ и пример в описании объекта РезультатЗапроса. (с) Сп |
|||
3
mirvel
22.12.10
✎
13:33
|
(1)..я пробывал..но точно не уверен в каком месте добавлять ее! до вывода области или до формирования значений....одним словом не знаю куда вставить область.начать.......
вот мой код... Процедура КнопкаСформироватьНажатие(Кнопка) запрос1 = Новый Запрос; запрос1.Текст = "ВЫБРАТЬ |Номенклатура2.Родитель как Родитель, |Номенклатура2.ссылка как ссылка |ИЗ |Справочник.Номенклатура КАК Номенклатура2 |ГДЕ |Номенклатура2.ЭтоГруппа <> истина |СГРУППИРОВАТЬ ПО |родитель, |ссылка |"; Результат = запрос1.Выполнить().Выбрать(); //спр = Справочники.Номенклатура; //Результат = спр.Выбрать(); ТабДок = Новый ТабличныйДОкумент; Макет = Отчеты.ОтчетПример.ПолучитьМакет("Макет"); // Заголовок Область = Макет.ПолучитьОбласть("Заголовок"); ТабДок.Вывести(Область); //Шапка Область = Макет.ПолучитьОбласть("Шапка"); ТабДок.Вывести(Область); предыдущийродитель=""; Пока Результат.Следующий() Цикл Область = Макет.ПолучитьОбласть("Строка"); Область.Параметры.Родитель = Результат.Родитель; Область.Параметры.наименование = Результат.ссылка.наименование; Область.Параметры.цена =Результат.ссылка.цена; Область.Параметры.примечание =Результат.ссылка.примечание; ТабДок.Вывести(Область); предыдущийродитель=Результат.Родитель; КонецЦикла; ТабДок.ОтображатьСетку = Ложь; ТабДок.Защита = Ложь; ТабДок.ТолькоПросмотр = Ложь; ТабДок.ОтображатьЗаголовки = Ложь; ТабДок.Показать(); КонецПроцедуры |
|||
4
Wobland
22.12.10
✎
13:35
|
пример хорошо читал (я, правда, не знаю, что там написано)?
ТабДок.НачатьАвтогруппировкуСтрок(); //в цикле ТабДок.Вывести(Область, Выборка.Уровень()); ТабДок.ЗакончитьАвтогруппировкуСтрок(); принцип примерно таков |
|||
5
Wobland
22.12.10
✎
13:37
|
и выборку делай примерно так:
ВыборкаПоРодителю=Запрос.Выполнить.Выбрать(ОбходРеузльтатаЗапроса.ПоГруппировкам); и т.д. |
|||
6
mirvel
22.12.10
✎
13:51
|
Чтото не получается....а в каком типе макета работает автогруппировка? в табличномдокументе или схема компановки или в другом?.....
или если не трудно можете линк дать на какой обработки или отчете (ручного типа) есть автогруппировка.. |
|||
7
Wobland
22.12.10
✎
13:52
|
(6) в ТД работает, в СКД нет
|
|||
8
Wobland
22.12.10
✎
13:54
|
вот тебе мой личный пример:
Результат=Запрос.Выполнить(); ТабДок=ЭлементыФормы.Вывод; ТабДок.НачатьАвтогруппировкуСтрок(); ТабДок.Очистить(); Макет=ПолучитьМакет("Печать"); Область=Макет.ПолучитьОбласть("Заголовок"); Область.Параметры.Заполнить(ЭтотОбъект); ТабДок.Вывести(Область); Область=Макет.ПолучитьОбласть("Строка"); ВыборкаОбщийИтог=Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); ВыборкаОбщийИтог.Следующий(); ВыборкаПоКлиенту=ВыборкаОбщийИтог.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Номер=0; Пока ВыборкаПоКлиенту.Следующий() Цикл Если ВыборкаПоКлиенту.СуммаДолга<=0 Тогда Продолжить; КонецЕсли; Область=Макет.ПолучитьОбласть("СтрокаГруппировки"); Область.Параметры.Заполнить(ВыборкаПоКлиенту); ТабДок.Вывести(Область, ВыборкаПоКлиенту.Уровень()); Выборка=ВыборкаПоКлиенту.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока Выборка.Следующий() Цикл Если Выборка.СуммаДолга>0 Тогда Номер=Номер+1; Область=Макет.ПолучитьОбласть("Строка"); Область.Параметры.Заполнить(Выборка); Область.Параметры.Номер=Номер; Область.Параметры.КонтактнаяИнформация=ПолучитьКонтактнуюИнформацию(Выборка.Клиент.ВладелецКарты); ТабДок.Вывести(Область, Выборка.Уровень()); КонецЕсли; КонецЦикла; КонецЦикла; ТабДок.ЗакончитьАвтогруппировкуСтрок(); ТабДок.Защита=Истина; ТабДок.Показать(); |
|||
9
mirvel
22.12.10
✎
14:12
|
(8) спасибо...протестим....
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |