|
Обход результата запроса с группировкой по иерархии. | ☑ | ||
---|---|---|---|---|
0
rabbidX
02.10.15
✎
14:05
|
Запрос с типом итогов только иерархия. В дерево выгружается красиво. Хочу обойти выборкой. Указываю обход результата запроса по группировкам с иерархией. Получаю группы верхнего уровня. Ниже добраться не получается - обращаюсь к выборке методом выбрать и при любом варианте обхода получаю пустую выборку.
Как победить? |
|||
1
France
02.10.15
✎
14:30
|
для начала запрос запостить.
|
|||
2
rabbidX
02.10.15
✎
14:43
|
ВЫБРАТЬ
Номенклатура.Код, Номенклатура.Артикул, Номенклатура.Ссылка, Номенклатура.ЭтоГруппа ИЗ Справочник.Номенклатура КАК Номенклатура ГДЕ Номенклатура.Ссылка В (ВЫБРАТЬ ЗначенияДополнительныхРеквизитов.Объект ИЗ РегистрСведений.ЗначенияДополнительныхРеквизитов КАК ЗначенияДополнительныхРеквизитов ГДЕ ЗначенияДополнительныхРеквизитов.ЗначениеРеквизита = &Ссылка) ИТОГИ ПО Ссылка ТОЛЬКО ИЕРАРХИЯ |
|||
3
Nuobu
02.10.15
✎
14:58
|
Запрос = Новый Запрос;
Запрос.Текст = " |ВЫБРАТЬ | Номенклатура.Код, | Номенклатура.Артикул, | Номенклатура.Ссылка, | Номенклатура.ЭтоГруппа |ИЗ | Справочник.Номенклатура КАК Номенклатура |ИТОГИ ПО | Ссылка ТОЛЬКО ИЕРАРХИЯ"; ВЫборка = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока Выборка.Следующий() Цикл ВыборкаНиже = Выборка.Выбрать(); Пока ВыборкаНиже.Следующий() Цикл Сообщить(ВЫборкаНиже.Ссылка); КонецЦикла; КонецЦикла; Этот код работает. |
|||
4
rabbidX
02.10.15
✎
15:12
|
(3) че-то ни фига. ВыборкаНиже пустая
|
|||
5
Trotter
02.10.15
✎
15:18
|
| ВЫБРАТЬ
|Номенклатура.Ссылка, |Номенклатура.Наименование, |* |ИЗ |Справочник.Номенклатура Как Номенклатура |Где Ссылка.ЭтоГруппа = Истина |УПОРЯДОЧИТЬ ПО Ссылка ИЕРАРХИЯ |"; |
|||
6
rabbidX
02.10.15
✎
15:28
|
(5) мне не только группы нужны.
(3) без отбора работает, действительно. |
|||
7
rabbidX
02.10.15
✎
15:32
|
Ссылка ЭтоГруппа
Тест Да Еще тест Да Товар1 Нет Ассортимент Да ПРОДУКЦИЯ ТМ *** Да Источники света TM *** Да Лампы светодиодные Да Товар 2 Нет Товар 3 Нет Результат запроса вот такой. |
|||
8
Naumov
02.10.15
✎
15:33
|
(6) у группы нет доп.реквизита. Твой отбор отрезает группы из выборки.
|
|||
9
Naumov
02.10.15
✎
15:36
|
т.е. условие должно быть что-то типа:
( Номенклатура.Ссылка В (ВЫБРАТЬ ЗначенияДополнительныхРеквизитов.Объект ИЗ РегистрСведений.ЗначенияДополнительныхРеквизитов КАК ЗначенияДополнительныхРеквизитов ГДЕ ЗначенияДополнительныхРеквизитов.ЗначениеРеквизита = &Ссылка)) или Номенклатура.ЭтоГруппа |
|||
10
rabbidX
02.10.15
✎
15:45
|
(8) в результат запроса попадает все, что нужно.
Получилось сделать, как в (3), но так структуры справочника не видно. Группы друг другу не подчинены. А если группировку с иерархией указать, только верхний уровень видно. |
|||
11
rabbidX
02.10.15
✎
16:20
|
ну, ап
|
|||
12
aleks_default
02.10.15
✎
16:29
|
Выбирай одно из двух, или вывод структуры справочника, или отбор по доп свойствам. Вывести иерархию справочника при этом отбирая толлько отдельные его элементы не получится.
|
|||
13
rabbidX
02.10.15
✎
16:47
|
Сделал через Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией) с последующим обходом дерева.
Все работает, но как-то не кайфанул, не эстетично получилось. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |