|
Автогруппировка строк в макете | ☑ | ||
---|---|---|---|---|
0
Mikhail2014
25.04.16
✎
19:49
|
Всем привет!
Делаю запрос: запрос = новый запрос; запрос.Текст = "ВЫБРАТЬ | Номенклатура.Ссылка КАК Ссылка, | Номенклатура.Родитель КАК Родитель |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.Ссылка В ИЕРАРХИИ(&Группа) | |СГРУППИРОВАТЬ ПО | Номенклатура.Родитель, | Номенклатура.Ссылка"; запрос.УстановитьПараметр("Группа", Объект.Группа); //номенклатура = запрос.Выполнить().Выгрузить(); позиция = запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией); Потом в цикле обхожу результат: результат.НачатьАвтогруппировкуСтрок(); пока позиция.Следующий() цикл ... конеццикла; результат.ЗакончитьАвтогруппировкуСтрок(); В табличный документ выводит только сами строки, без сворачиваемых группировок. Что делаю не так? |
|||
1
Лефмихалыч
25.04.16
✎
21:15
|
Ты забыл установить Уровень или наименование группы - третий и четвертый параметр у Вывести().
|
|||
2
Mikhail2014
26.04.16
✎
10:32
|
(1) Вывожу область вот так:
результат.Вывести(областьмакета, позиция.Уровень(), строка(позиция.Уровень())); Тоже самое - только строчки, без группировок. В запросе "Группа" - это группа номенклатуре, подгрупп в ней нет, только сами товары. |
|||
3
Mikhail2014
26.04.16
✎
10:36
|
У меня в макете каждая колонка выделена в отдельную область. То есть строку я вывожу вот так:
результат.Вывести(областьмакета, позиция.Уровень(), строка(позиция.Уровень())); - 1-я колонка строки. потом: результат.Присоединить(Область1); результат.Присоединить(Область2); результат.Присоединить(Область3); |
|||
4
Лефмихалыч
26.04.16
✎
10:39
|
может быть дело в кэше? с уровнем должно работать. У меня работает.
|
|||
5
Mikhail2014
26.04.16
✎
10:40
|
Сделал вот так:
Результат.Вывести(областьмакета, позиция.Уровень(), строка(позиция.Уровень())); результат.Присоединить(Область1, позиция.Уровень(), строка(позиция.Уровень())); результат.Присоединить(Область2, позиция.Уровень(), строка(позиция.Уровень())); результат.Присоединить(Область3, позиция.Уровень(), строка(позиция.Уровень())); Тоже самое. |
|||
6
Лефмихалыч
26.04.16
✎
10:43
|
в присоединить оно и не имеет смысла - ты ж строки группируешь, а не колонки.
Может Позиция.Уровень() всегда возвращает 1?.. |
|||
7
Mikhail2014
26.04.16
✎
10:57
|
(6) Да, позиция всегда возвращает 0. А почему так? В чем ошибка?
|
|||
8
Mikhail2014
26.04.16
✎
10:59
|
(7) Позиция.Уровень() возвращает 0
|
|||
9
Лефмихалыч
26.04.16
✎
11:00
|
(7) ошибка в том, что ты думаешь, что должно быть по-другому :)
кроме тебя ни кто не знает, какой уровень тебе нужен при каждом вызове Вывести(). И платформа - в первых рядах из тех, кто не знает |
|||
10
Mikhail2014
26.04.16
✎
15:50
|
(9) Не дадите пример, как с этим работать? Мне нужно получиь в запросе номенклатуру из группы (с подгруппами, если есть) и вывести ее в макет в виде дерева с группировками. Как мне это сделать?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |