Имя: Пароль:
1C
1С v8
условие на виртуальную таблицу
0 Chameleon1980
 
07.03.14
13:37
Как сделать в тексте запроса по условию
Если выбранное условие пустая ссылка то по всем
т.е условие не отрабатывает
иначе по определенному значению?
1 ale-sarin
 
07.03.14
13:39
Мильон тем таких уже.
2 Chameleon1980
 
07.03.14
13:40
Т.е.
РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ВыбДатаПолученияЦен, Номенклатура В ИЕРАРХИИ (&ВыбНоменклатура)) КАК ЦеныНоменклатурыСрезПоследних

Если конкретное значение - отрабатываем условие
иначе
по всем
3 Chameleon1980
 
07.03.14
13:45
Только без всяких

Если ВыбНоменклатура.Пустая() Тогда
    ТекстЗапроса=ТекстЗапроса(безУсловия)
Иначе
    ТекстЗапроса=ТекстЗапроса(сУсловием)
КонецЕсли
4 Chameleon1980
 
07.03.14
13:45
сразу в тексте запроса можно как?
5 Maxus43
 
07.03.14
13:46
Номенклатура = &Номенклатура
ИЛИ &ПоВсем
6 Леха Дум
 
07.03.14
13:47
ВЫБОР КОГДА &Номенклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) ТОГДА ИСТИНА ИНАЧЕ Номенклатура = &Номенклатура КОНЕЦ
7 PR
 
07.03.14
13:48
&АВотЭтуСобственноСтрочкуЯПередВыполнениемЗапросаЗаменюНаТоЧтоМнеНадо
8 Chameleon1980
 
15.03.14
05:56
О... нашлось
Есть вариант с двумя параметрами, один из которых булево

в условии
выбор когда &ПервыйПАраметр
тогда "УсловиеПоВторомуПараметру"
иначе
"пофигчто"
конец
9 Лефмихалыч
 
15.03.14
09:34
юзай компоновку, люк. Или хотя бы построитель. Потому, что пустая ссылка - это тоже значение, по которому может потребоваться отбор делать.
Знаю случай, когда вот такой вот трюк (0) привел к тому, что овердофига тысяч документов в продуктиве угробилось. Потому что пользователь решил, что, если он не указывает значение, то обработка использует пустую ссылку для значения отбора. А программист, по скольку в ТЗ ни каких намеков не было, подумал, что условие надо игнорировать, если значение не заполнено..