Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
12 дек 2024, 22:50

Выбрать группы из иерархического справочника

Автор Василий24, 28 авг 2019, 22:32

0 Пользователей и 1 гость просматривают эту тему.

Василий24

Всем привет.

Столкнулся с проблемой вроде простая на первый взгляд, но не могу найти решение.

Имеется иерархический справочник с глубиной вложения 8. Каким образом можно выбрать только группы без элементов.
Допустим есть такой вид справочника:
Группа1
    Подгруппа1
        ВнутрГруппа1
            Элемент1
            Элемент2
        ВнутрГруппа2
            Элемент3
    Подгруппа2
    Подгруппа3

Мне нужно чтобы если я выбираю группу "Подгруппа1" выбрались все группы которые в нее входят т.е. (ВнутрГруппа1, ВнутрГруппа2) без учета(Элемент1, Элемент2 и тд..)

В справочнике позиций много поэтому перебор всех подряд элементов и определение с помощью  *.ЭтоГруппа() не хочется использовать. Может как-нибудь запросом можно это реализовать?

alex0402

ВЫБРАТЬ * ИЗ Справочник.ИмяСправчника
Где ЭтоГруппа
Спасибо за Сказать спасибо

Василий24

У меня 7 это код для 8. Я уже пробовал так делать перед тем как сюда писать почему-то не срабатывает ничего вообще не отбирает.

писал вот так:
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|ТекущийЭлемент = Справочник.Товары.ТекущийЭлемент;
|Группировка ТекущийЭлемент;
|Условие(ТекущийЭлемент.ЭтоГруппа() = 1); ";

prog1c7.7

ч!О!рный запрос не покажет если там пустые например.. Так что Ненадежно.

Надежно так:
|SELECT
|    Товары.ID  as [Ссылка $Справочник.Товары],
|    Товары.DESCR as Наименование
|FROM
|    $Справочник.Товары AS Товары With (NOLOCK)
|WHERE
|     Товары.ISFOLDER = 1

Похожие темы (5)

Рейтинг@Mail.ru

Поиск