Имя: Пароль:
1C
1С v8
Выбрать запросом всю номенклатуру или указанную в группе
0 SkillUp
 
10.07.18
15:58
Есть код:

    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    Номенклатура.Ссылка КАК Номенклатура
    |ИЗ
    |    Справочник.Номенклатура КАК Номенклатура
    |ГДЕ
    |    Номенклатура.Ссылка В ИЕРАРХИИ(&Группа)
    |    И НЕ Номенклатура.ЭтоГруппа";
    
    Запрос.УстановитьПараметр("Группа", ?(ЗначениеЗаполнено(Группа),Группа,""));
    
    РезультатЗапроса = Запрос.Выполнить();

Когда указываешь группу, все отлично. Но как сделать, если не указана группа, чтоб выбирал всю номенклатуру?
1 Cyberhawk
 
10.07.18
15:59
Пустую ссылку передавай, а не пустую строку
2 1Садовник
 
10.07.18
15:59
(0) замени текст запроса программно
3 dezss
 
10.07.18
16:00
Выбор когда &Группа = Значение("Справочник.Номенклатура.ПустаяСсылка") Тогда Истина
Иначе
Номенклатура.Ссылка В ИЕРАРХИИ(&Группа)
Конец
4 dezss
 
10.07.18
16:01
(3) + воу...там пустая строка...не дочитал
5 SkillUp
 
10.07.18
16:01
(1) (2) (3) Спасибо. Понятно из-за чего...
6 Малыш Джон
 
10.07.18
16:41
(3) немного занудства:

это условие

ВЫБОР КОГДА  &Группа = Значение("Справочник.Номенклатура.ПустаяСсылка") ТОГДА
ИСТИНА
ИНАЧЕ
Номенклатура.Ссылка В ИЕРАРХИИ(&Группа)
КОНЕЦ

равносильно условию:

Номенклатура.Ссылка В ИЕРАРХИИ(&Группа)
7 Tonik992
 
10.07.18
16:50
(6) в т.ч. по производительности?
8 Eiffil123
 
10.07.18
16:53
(7) ну тогда наиболее производительно собрать запрос кодом, без такого условия в запросе.