Вход | Регистрация
 

Помогите с условием в запросе((

Помогите с условием в запросе((
Я
   Бешеный заяц
 
06.08.19 - 16:27
голова не работает(
нужно из регистра добыть документ поступления соответственно ставлю условие на регистратор если это приходный ордер то только с операцией закупка если ПоступлениеТоваровУслуг без условия, составил соответственно часть условие с "И" взял в скопки
(ТоварыНаСкладах.Регистратор ССЫЛКА Документ.ПриходныйОрдер И ВЫРАЗИТЬ(ТоварыНаСкладах.Регистратор КАК Документ.ПриходныйОрдерНаТовары).ХозяйственнаяОперация = Значение(Перечисление.ХозяйственныеОперации.Закупка))

дабы после вычисления истиности пошло вычисление истиности с выражением через ИЛИ (ТоварыНаСкладах.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг)

Но после сохранения запроса скобки удаляются, те конструктор счетает что данное выражения одинаковы! но это же не так? выражение И применяется только к одному условию??? или я заработался?

Ниже условие
ГДЕ ТоварыНаСкладах.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг ИЛИ (ТоварыНаСкладах.Регистратор ССЫЛКА Документ.ПриходныйОрдер и ВЫРАЗИТЬ(ТоварыНаСкладах.Регистратор КАК Документ.ПриходныйОрдерНаТовары).ХозяйственнаяОперация = Значение(Перечисление.ХозяйственныеОперации.Закупка))
 
 
   aleks_default
 
1 - 06.08.19 - 16:30
В отпуск срочно!!!
   RomanYS
 
2 - 06.08.19 - 16:30
>>но это же не так? 
Так. "И" имеет больший приоритет. Хотя читать такие условия конечно ужасно
   aleks_default
 
3 - 06.08.19 - 16:31
Пока еще это лечится!
   ДенисЧ
 
4 - 06.08.19 - 16:38
Это лечится очень просто. Не пользуйся конструктором, пиши рками
   Бешеный заяц
 
5 - 06.08.19 - 16:41
(2) отработает условие по "И" вернет ЛОЖЬ так как документ Документ.ПоступлениеТоваровУслуг не имеет реквизита "ХозяйственнаяОперация" соответственно все выражение будет ложью
   Бешеный заяц
 
6 - 06.08.19 - 16:44
вопрос по другому если условие будет без скобок

ГДЕ ТоварыНаСкладах.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг ИЛИ ТоварыНаСкладах.Регистратор ССЫЛКА Документ.ПриходныйОрдер и ВЫРАЗИТЬ(ТоварыНаСкладах.Регистратор КАК Документ.ПриходныйОрдерНаТовары).ХозяйственнаяОперация = Значение(Перечисление.ХозяйственныеОперации.Закупка)

оно будет ИСТИНО если будеит документ ПоступлениеТоваровУслуг ?
   RomanYS
 
7 - 06.08.19 - 16:44
(5) так "ТоварыНаСкладах.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг" вернет истину.
Истина ИЛИ Ложь = Истина.
Точно в отпуск
   RomanYS
 
8 - 06.08.19 - 16:45
(6) оно будет ИСТИНО
   fDarkness
 
9 - 06.08.19 - 16:46
(8) истинно или истина
   RomanYS
 
10 - 06.08.19 - 16:51
(9) ты хочешь сказать он будет не "ИСТИНО"? Так мы ТС точно потеряем, послушай (3) ;).
   Бешеный заяц
 
11 - 06.08.19 - 16:53
(7) а как же условие "И" если условие не выполнено оно переводит всё вырожение в ЛОЖЬ
Например на входе документ "ПоступлениеТоваровУслуг"
ТоварыНаСкладах.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг вернет ИСТИНУ
ТоварыНаСкладах.Регистратор ССЫЛКА Документ.ПриходныйОрдер                 ЛОЖЬ
ВЫРАЗИТЬ(ТоварыНаСкладах.Регистратор КАК Документ.ПриходныйОрдерНаТовары).ХозяйственнаяОперация = Значение(Перечисление.ХозяйственныеОперации.Закупка)                       ЛОЖЬ

далее получаем ИСТИНА ИЛИ ЛОЖЬ и ЛОЖЬ = ЛОЖЬ или я не прав?
   Бешеный заяц
 
12 - 06.08.19 - 16:55
(11) если бы были скобки тут вопросов нет
ИСТИНА ИЛИ (ИСТИНА И ЛОЖЬ) = ИСТИНА
   Бешеный заяц
 
13 - 06.08.19 - 16:56
(12) те правило если в ИЛИ есть ИСТИНА хоть одна возвращается ИСТИНА если в И хоть оно выраждение не верно возвращается ЛОЖЬ
   GRAF_84
 
14 - 06.08.19 - 16:56
(1) Делай через ОБЪЕДИНИТЬ.
   hhhh
 
15 - 06.08.19 - 16:58
(13) ИСТИНА ИЛИ ЛОЖЬ и ЛОЖЬ = ИСТИНА, потому что сначала выполняется И
   Бешеный заяц
 
16 - 06.08.19 - 16:59
(15) ок спасибо )))
   hhhh
 
17 - 06.08.19 - 17:00
(13) но ты вот эту штуку выбрось
ТоварыНаСкладах.Регистратор ССЫЛКА Документ.ПриходныйОрдер и ВЫРАЗИТЬ(ТоварыНаСкладах.Регистратор КАК Документ.ПриходныйОрдерНаТовары).ХозяйственнаяОперация = Значение(Перечисление.ХозяйственныеОперации.Закупка)


потому что она всегда = ЛОЖЬ. Тут ИСТИНА не может быть

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.