Имя: Пароль:
1C
1C 7.7
v7: Как получить в запросе только группы справочника первого уровня?
0 box
 
15.06.17
08:08
Как получить в запросе только группы справочника первого уровня?
1 DrZombi
 
гуру
15.06.17
08:13
(0) 7.7 и запросом?
Используй прямой запрос ;)

или если нет такого, то лучше через цикл.
2 FIXXXL
 
15.06.17
08:15
ЭтоГруппа и Родитель=пусто
елси правильно понял
как там в 7 запросы - хз :)
3 box
 
15.06.17
08:17
(1) (2) Скорее всего так и есть
4 Злопчинский
 
15.06.17
08:25
Мона
5 пипец
 
15.06.17
09:11
а запрос по справочнику или по регистру ?
6 Ёпрст
 
15.06.17
09:20
(0) в чорном - никак.
7 Ёпрст
 
15.06.17
09:21
Это делается в выборке, причем, мгновенно
8 Ёпрст
 
15.06.17
09:21
используя ВключатьПодчиенные(0)
9 Ёпрст
 
15.06.17
09:21
будет обход только по первому уровню
10 pofigos
 
15.06.17
09:22
Прямым как-то так:

SELECT Номенклатура.ID [Ссылка $Справочник.Номенклатура]
    , Номенклатура.DESCR Наименование
FROM $Справочник.Номенклатура AS Номенклатура With (NOLOCK)
WHERE (Номенклатура.ISFOLDER = 1)
    AND (Номенклатура.PARENTID = $ПустойИд)
11 Builder
 
15.06.17
09:30
Выкладывал тут уже, правда давно.
Вот такой запрос выдает только группы, правда не пустые :)
Осталось условие на уровень поставить.

    "//{{ЗАПРОС(Сформировать)
    |Родитель = Справочник.Номенклатура.Родитель;
    |Группировка Родитель;
    |"//}}ЗАПРОС
    ;
12 AliAksA
 
15.06.17
15:59
Пустышка = ПолучитьПустоеЗначение("Справочник.Номенклатура");
    Запрос = СоздатьОбъект("Запрос");
    
    ТекстЗапроса = "
    |Обрабатывать НеПомеченныеНаУдаление;
    |Номен = Справочник.Номенклатура.ТекущийЭлемент;
    |Группа = Справочник.Номенклатура.Родитель;
    |Условие(Группа = Пустышка);
    |Функция Количество = Счётчик;
    |Группировка Номен Без групп;";
    
    Если Запрос.Выполнить(ТекстЗапроса) = 1 Тогда
        Пока Запрос.Группировка(1) = 1 Цикл
            Сообщить(Запрос.Номен.Наименование);
        КонецЦикла;
    КонецЕсли;
13 Builder
 
15.06.17
16:10
(12)
1. ТС просил группы.
2. Функция тут не нужна совсем.
14 AliAksA
 
15.06.17
17:59
УПС, сори - отвлекли - переделывал по памяти, так сработает:

Пустышка = ПолучитьПустоеЗначение("Справочник.Номенклатура");
    Запрос = СоздатьОбъект("Запрос");
    
    ТекстЗапроса = "
    |Обрабатывать НеПомеченныеНаУдаление;
    |Группа = Справочник.Номенклатура.Родитель;
    |Условие(Группа.Родитель = Пустышка);
    |Группировка Группа;";
    
    Если Запрос.Выполнить(ТекстЗапроса) = 1 Тогда
        Пока Запрос.Группировка(1) = 1 Цикл
            Сообщить(Запрос.Группа.Наименование);
        КонецЦикла;
    КонецЕсли;
15 FN
 
15.06.17
19:43
14 не покажет группы, у которых нет вложенных элементов
16 Злопчинский
 
15.06.17
21:33
(6) стопудово?
17 Злопчинский
 
15.06.17
21:34
(15) и покажет элементы которые лежат на первом уровне вне групп
18 Ёпрст
 
16.06.17
09:22
(16) да. Чорный запрос никогда не возвратит тебе группы без элементов.
19 Ёпрст
 
16.06.17
09:23
и зачем запрос, когда 7-9 сделает это быстрее.
Сравнимо с прямым запросом
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой