Имя: Пароль:
1C
 
Условия в выражениях в запросе
0 Nyarlathotep
 
09.06.18
16:16
Всем привет!

В запросе(не в СКД) добавляю поле, там выражение вида a*b*c. Мне нужно, чтобы один или несколько членов выражения менялись в зависимости от некоторых условий.

Например, у меня есть поля a,b,c,x,y,z

Мне нужно сделать следующее:

a * выбор когда x=y тогда b иначе b/2 конец * c

Это возможно? Как правильно это сделать? Если пишу так, как написал выше, не получается, выдает мне ошибки.
1 hhhh
 
09.06.18
16:20
(0) должно работать. Наверно, у вас ошибки по другому поводу
2 Мандалай
 
09.06.18
16:21
Выбор когда Тогда иначе конец
3 Мандалай
 
09.06.18
16:22
Текст ошибки в студию
4 Mihasya
 
09.06.18
16:26
"конец * c" так низя, конец всегда конец ))
5 hhhh
 
09.06.18
16:33
(4) можно
6 Nyarlathotep
 
09.06.18
16:39
выражение целиком

ГруппировкаЗарплатнойЧастиПоМенеджеру.ЗарплатнаяЧастьПоМенеджеру * ЕСТЬNULL(ккДолиПонижающихКоэффициентовСрезПоследних.ПланПоСдачеОтчетов, 0) / 100 * выбор
когда ЕСТЬNULL(ккПоказателиРаботыСотрудниковСрезПоследних.СдачаОтчетовФакт, 0) < ЕСТЬNULL(ккПоказателиРаботыСотрудниковСрезПоследних.СдачаОтчетовПлан, 0)
тогда (ВЫРАЗИТЬ(ЕСТЬNULL(ккПоказателиРаботыСотрудниковСрезПоследних.СдачаОтчетовФакт, 0) / ЕСТЬNULL(ккПоказателиРаботыСотрудниковСрезПоследних.СдачаОтчетовПлан, 1)
иначе 100
конец * 100 КАК ЧИСЛО(10, 2))) / 100 + ГруппировкаЗарплатнойЧастиПоМенеджеру.ЗарплатнаяЧастьПоМенеджеру * ЕСТЬNULL(ккДолиПонижающихКоэффициентовСрезПоследних.ПланПоВизитам, 0) / 100 * (ВЫРАЗИТЬ(ЕСТЬNULL(ккПоказателиРаботыСотрудниковСрезПоследних.ВизитыФакт, 0) / ЕСТЬNULL(ккПоказателиРаботыСотрудниковСрезПоследних.ВизитыПлан, 1) * 100 КАК ЧИСЛО(10, 2))) / 100 + ГруппировкаЗарплатнойЧастиПоМенеджеру.ЗарплатнаяЧастьПоМенеджеру * ЕСТЬNULL(ккДолиПонижающихКоэффициентовСрезПоследних.ПланПродаж, 0) / 100 * (ВЫРАЗИТЬ(ЕСТЬNULL(ккПоказателиРаботыСотрудниковСрезПоследних.СуммаПродажФакт, 0) / ЕСТЬNULL(ккПоказателиРаботыСотрудниковСрезПоследних.СуммаПродажПлан, 1) * 100 КАК ЧИСЛО(10, 2))) / 100

ошибка

{(4, 1)}: Ожидается выражение "КАК" <<?>> иначе 100
7 Nyarlathotep
 
09.06.18
16:40
упс не то скопировал сорри
8 Nyarlathotep
 
09.06.18
16:42
(6) все, разобрался, не туда вставил условие, в ВЫРАЗИТЬ(), всем спасибо.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан