Имя: Пароль:
1C
1С v8
Неверный параметр "ИЛИ" в условие запроса, как обойти?
0 программистище
 
05.01.12
17:37
Пишу в запросе условие
ГДЕ
ВЫБОР
   КОГДА (НЕ &ТипЗаказа = ЗНАЧЕНИЕ(Перечисление.ТипыЗаказов.ЗаказТовара))
       ТОГДА &ЗаказВПроизводстве
               ИЛИ &ЗаказИзготовлен
               ИЛИ &ЗаказПереданНаТорговуюТочку
               ИЛИ &ЗаказВыданПокупателю
   ИНАЧЕ &ЗаказВыданПокупателю ИЛИ &ЗаказПереданНаТорговуюТочку
КОНЕЦ

И ругается на "ИЛИ" в строке
   ИНАЧЕ &ЗаказВыданПокупателю ИЛИ &ЗаказПереданНаТорговуюТочку
говорит, что неверный параметр "ИЛИ"
1 Эмбеддер
 
05.01.12
17:38
ИНАЧЕ &ЗаказВыданПокупателю ИЛИ &ЗаказПереданНаТорговуюТочку
замени на
ИЛИ &ЗаказПереданНаТорговуюТочку ИНАЧЕ &ЗаказВыданПокупателю
2 Rie
 
05.01.12
17:42
(0) А если скобки расставить?
3 программистище
 
05.01.12
17:43
расставлял скобки (2)
ГДЕ
ВЫБОР
   КОГДА (НЕ &ТипЗаказа = ЗНАЧЕНИЕ(Перечисление.ТипыЗаказов.ЗаказТовара))
       ТОГДА (&ЗаказВПроизводстве
               ИЛИ &ЗаказИзготовлен
               ИЛИ &ЗаказПереданНаТорговуюТочку
               ИЛИ &ЗаказВыданПокупателю)
   ИНАЧЕ (&ЗаказВыданПокупателю ИЛИ &ЗаказПереданНаТорговуюТочку)
КОНЕЦ

так тоже ругается
4 Rie
 
05.01.12
17:44
(3) А что за странное условие, из одних параметров состоящее?
5 программистище
 
05.01.12
17:45
вроде вот это условие должно быть эквивалентным
НЕ &ТипЗаказа = ЗНАЧЕНИЕ(Перечисление._ТипыЗаказовНаИзготовлениеОчков.ЗаказТовара) И (&ЗаказВПроизводстве
               ИЛИ &ЗаказИзготовлен)
               ИЛИ &ЗаказПереданНаТорговуюТочку
               ИЛИ &ЗаказВыданПокупателю
6 программистище
 
05.01.12
17:46
(4) :)))
а зачем знать смысл
7 программистище
 
05.01.12
17:48
но вообще странно что не работает (0)
8 Rie
 
05.01.12
17:50
(5) Непохоже, чтобы было эквивалентно.
ВЫБОР КОГДА X ТОГДА Y ИНАЧЕ Z КОНЕЦ эквивалентно (НЕ X ИЛИ Y) И (X ИЛИ Z)
(если все выражения имеют Булево значение).
9 программистище
 
05.01.12
17:52
(8) мне кажется (НЕ X И Y) ИЛИ (X И Z)
10 Эмбеддер
 
05.01.12
17:55
(6) Ну если не знать в чем смысл, что исправлять то? Сделать чтобы 1С не ругалась - просто
11 Rie
 
05.01.12
17:56
(9) Это тоже самое, только наоборот (КНФ и ДНФ) и со знаком отрицания.
12 Grusswelle
 
05.01.12
17:58
13 Rie
 
05.01.12
18:06
(11) Стоп. Соврал. В (9) - неправильно, в (8) - работает.
AdBlock убивает бесплатный контент. 1Сергей