Имя: Пароль:
1C
1С v8
Запрос и выборка.
, , ,
0 leoshko84
 
11.03.19
11:25
Запрос выбирает иерархию номенклатуры но дублирует почему-то группы.
ВЫБРАТЬ="
                   |    Номенклатура.Ссылка КАК Номенклатура,
                   |    Номенклатура.Ссылка.ЭтоГруппа КАК ЭтоГруппа
                   |ИЗ
                   |    Справочник.Номенклатура КАК Номенклатура
                   |ГДЕ
                   |    Номенклатура.Ссылка.Родитель В ИЕРАРХИИ(&Папка)
                   |ИТОГИ ПО
                   |    Номенклатура ИЕРАРХИЯ
                   |АВТОУПОРЯДОЧИВАНИЕ";    

ВыборкаПоНоменклатуре = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    Пока ВыборкаПоНоменклатуре.Следующий() Цикл
        Если ВыборкаПоНоменклатуре.ЭтоГруппа Тогда
                    Выводит здесь два раза группу
                Иначе
Кто подскажет в чем дело?
1 ДенисЧ
 
11.03.19
11:27
за это

|    Номенклатура.Ссылка КАК
|    Номенклатура.Ссылка.ЭтоГруппа КАК ЭтоГруппа

Сразу руки оторвать...
2 ДенисЧ
 
11.03.19
11:27
Точнее за второе
3 seevkik
 
11.03.19
11:27
(1) а чем тебе этогруппа не нравится?)
4 leoshko84
 
11.03.19
11:30
ну да. На выборку это не влияет.
5 ДенисЧ
 
11.03.19
11:30
(3) Выборка через лишнюю точку.
Посмотри на план

А по теме - про состав &Папка ничего не рассказано
6 seevkik
 
11.03.19
11:32
(5) Упс) ну дык я прочитал "Точнее за второе" и дезориентировался
+ посмотри как запрос начинается
7 Жан Пердежон
 
11.03.19
11:33
(0) да у Вас ИТОГИ
(3) надо
Ссылка.Ссылка.ЭтоГруппа
-чтобы и ноги сразу
8 leoshko84
 
11.03.19
11:35
коллеги, привидите запрос в студию.
9 leoshko84
 
11.03.19
11:35
за ручку.
10 dezss
 
11.03.19
11:38
(0) А зачем вот так?
Номенклатура.Ссылка.ЭтоГруппа КАК ЭтоГруппа

Разве нельзя было сразу так?
Номенклатура.ЭтоГруппа КАК ЭтоГруппа

Аналогично и с Номенклатура.Ссылка.Родитель В ИЕРАРХИИ(&Папка)

А все группы дублируются?
11 leoshko84
 
11.03.19
11:38
Ну папка, это- родитель, которого я выбираю.
12 leoshko84
 
11.03.19
11:39
да, все
13 Жан Пердежон
 
11.03.19
11:39
(11) прочитай уже как "ИТОГИ" работает
14 dezss
 
11.03.19
11:42
(12) Почитай про итоги по иерархии
15 RomanYS
 
11.03.19
11:42
(13) +1
(0) так и должно быть. Одна запись итоговая, другая - обычная
16 catena
 
11.03.19
11:42
Итоги по иерархии не предназначены для вывода папочек, они предназначены для расчета итогов. В этом случае каждая группа может являться как агрегатором значений своих элементов, так и собственно элементом со значением. Это хорошо видно,  если добавить в запрос какую-нибудь функцию, например
ИТОГИ
    КОЛИЧЕСТВО(Ссылка)
ПО
    Номенклатура ИЕРАРХИЯ
17 leoshko84
 
11.03.19
12:10
мужики, не пинайте сильно, но не вдупляю.
18 catena
 
11.03.19
12:18
(17)А мне можно?
19 RomanYS
 
11.03.19
12:21
Если Выборка.ТипЗаписи() = ТипЗаписиЗапроса.ИтогПоИерархии Тогда
    ...//здесь можно запомнить последнюю итоговую запись
Иначе
    ...//а здесь можно сравнить
        КонецЕсли;
20 Ёпрст
 
11.03.19
12:22
(18) можно, но только один раз.
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший