Имя: Пароль:
1C
 
Что не так в запросе?
,
0 Мисти
 
17.01.18
22:35
ГДЕ
    АР_РасходыПоСобственникам.Собственник = &ВыбСобственник
    И АР_РасходыПоСобственникам.Период МЕЖДУ &ВыбНач И &ВыбКон
    И ВЫБОР
            КОГДА НЕ &ВыбСтатьяРасходов = ЗНАЧЕНИЕ(Справочник.АР_ВидыРасходов.ПустаяСсылка)
                ТОГДА АР_РасходыПоСобственникам.СтатьяРасходов В ИЕРАРХИИ (&ВыбСтатьяРасходов)
        КОНЕЦ

Когда не пустая ссылка, всё работает, а когда пустая - должно было бы выдать всё, а мне, наоборот, ничего не выдает.
1 Мисти
 
17.01.18
22:47
Я так понимаю, что мой "выбор" никогда не является "пустойСсылкой", это как-то по-другому пишется, поэтому условие срабатывает всегда.
2 Gangar
 
17.01.18
22:52
(0) &ВыбСтатьяРасходов - составной тип данных?
3 Мисти
 
17.01.18
22:52
ВыбСтатьяРасходов.Пустая()= Истина - в отладчике
справочник тот!
4 h-sp
 
17.01.18
22:52
(1) ИНАЧЕ выкинула зачем
5 Мисти
 
17.01.18
22:53
Иначе конец?
6 Gangar
 
17.01.18
22:54
(5) Иначе ИСТИНА
7 h-sp
 
17.01.18
22:55
(3) вообще-то в школе учили, что

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


равносильно

РасходыПоСобственникам.СтатьяРасходов В ИЕРАРХИИ (&ВыбСтатьяРасходов)

непонятно, зачем вы этот выбор замутили.
8 Мисти
 
17.01.18
22:56
Ура. Спасибо!
9 Alex87r
 
17.01.18
22:58
(7) Ну типа если статья расходов не выбрана, то по всем статьям получать данные.
10 Мисти
 
17.01.18
22:59
Как бы не забыть до след. раза про иначе - истина?
11 h-sp
 
17.01.18
23:05
(9) в иерархии от пустой ссылки это как по всем будет.
12 Мисти
 
17.01.18
23:05
Да ну??  Ладно, оставлю так пока.
13 AlvlSpb
 
17.01.18
23:20
(10) Как еще вариант - варьирование текстом запроса
ВАш запрос
ГДЕ
    АР_РасходыПоСобственникам.Собственник = &ВыбСобственник
    И АР_РасходыПоСобственникам.Период МЕЖДУ &ВыбНач И &ВыбКон";
Если ЗначениеЗаполнено(Объект.ВыбСтатьяРасходов) Тогда

Запрос.Текст = Запрос.Текст + "И РасходыПоСобственникам.СтатьяРасходов В ИЕРАРХИИ (&ВыбСтатьяРасходов)";
Запрос.УстановитьПараметр("ВыбСтатьяРасходов", Объект.ВыбСтатьяРасходов);
КонецЕсли;
14 Мисти
 
17.01.18
23:22
Это в скд, там так я не умею.
15 AlvlSpb
 
17.01.18
23:26
(14) а в скд вообще проблем нет. Тогда все не так. В конструктторе запроса в поле Кмпоновка данных в условия указываете свое условие ГДЕ РасходыПоСобственникам.СтатьяРасходов В ИЕРАРХИИ (&ВыбСтатьяРасходов)
В тексте запроса это условие встанетв фигурных скобках. Что означает - параметр заполнен - условие выполняется, параметр пустой - игнорируется
16 Мисти
 
18.01.18
01:19
Ого! Не забыть бы!