![]() |
|
морока с группировками, 8.2 | ☑ | ||
---|---|---|---|---|
0
Aerosol
18.07.14
✎
12:42
|
8.2, УПП, обычные формы.
Короче, пишу отчет, что-то типа прайс листа. Отчет написан. Вот какая проблема: есть запрос на 50 экранов, который собирает все данные. Далее, делается выборка(обход по группировкам) и в цикле по выборке выводится прайс по иерархии, выводятся сначала иерархичные уровни, а дальше, если уровень нижний, пошли позиции. основан прайс на номенклатуре, соответственно. проблема такая: если пустая группировка(либо пустая группа номенклатуры либо по отборам позиции из этой группы не попадают, короче, она пустая), то она все равно выводится в отчет. а надо, чтобы не выводилась. ломаю голову :( запрос в тз не выгрузить, без группировок не вариант, а если по обходу выгружать - получается дерево значений(думал выгрузить в тз, искать группировку в ней и смотреть следующую позицию - не вышло). подскажите ? надеюсь, корректно выложил мысль. могу код покидать кусками .. |
|||
1
Aerosol
18.07.14
✎
12:50
|
сформилирую проще: как при выводе в макет результата обхода запроса с типом обхода ПоГруппировкам не выводить пустые уровни группировки? или же как их пресечь на корню ?
|
|||
2
Рэйв
18.07.14
✎
12:54
|
исключи условием на уровне запроса. Иначе никак.
Если попало в результат запроса, то придется с ней жить. |
|||
3
ChiginAV
18.07.14
✎
12:56
|
(0) Чем дерево не устраивает?
|
|||
4
Aerosol
18.07.14
✎
12:57
|
(2) честно - плохо представляю, каким условием можно это отсечь. подскажи ?
|
|||
5
Aerosol
18.07.14
✎
12:58
|
(3) чем ? м. честно ? не умею работать с деревом значений. не нашел ни в синтаксис-поиощнике ничего, ни живых примеров. как разобрать дерево, как получить строку, как посмотреть следующую строку в дереве итд.
|
|||
6
Михаил Козлов
18.07.14
✎
12:58
|
2+ Можно получить текст запроса из построителя (перед формированием табличного документа) и в консоли с ним поиграться.
|
|||
7
Рэйв
18.07.14
✎
12:59
|
(4)Я ж твои 50 экранов не видел:-)
Ну там сумма<>0 или еще чего |
|||
8
Aerosol
18.07.14
✎
13:01
|
(7) :) лол. Не, сюда заливать не буду.
пустая группировка = группа в номенклатуре. она просто выводится без позиций, которые в ней могут быть по другим условиям отчета. |
|||
9
ChiginAV
18.07.14
✎
13:01
|
(5)Дерево = Запрос.Выполнить.Выгрузить(ОбходРЗПоГруппировкамСИерархией);
Для Каждого СтрокаУр1 из Дерево Цикл СтрокиУр2 = СтрокаУр1.Строки; Если СтрокиУр2.Количество() = 0 тогда Продолжить; КонецЕсли Для Каждого СтрокаУр2 из СтрокиУр2 Цикл // КонецЦикла; КонецЦикла; |
|||
10
Aerosol
18.07.14
✎
13:03
|
(9) Огонь ! То, что надо !
Спасибо большое ! Это должно спасти !!! |
|||
11
Aerosol
18.07.14
✎
13:37
|
(9) Однако, не сработало :( С Итератором начальным беда. Ругается на СТрокаУр1 .. Странно..
|
|||
12
Aerosol
18.07.14
✎
13:39
|
(9) "{ВнешняяОбработка.ПечатьПрайсЛиста.МодульОбъекта(1062)}: Итератор для значения не определен
Для Каждого СтрокаУр1 из ТЗ Цикл" |
|||
13
Aerosol
18.07.14
✎
13:41
|
Тьфу. Для каждого Строка из ТЗ.Строки.
Так надо. Всё. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |