|
Не заходит в процедуру в при конструкциИ "отказ или Условие()". Баг или фича? | ☑ | ||
---|---|---|---|---|
0
ИС-2
naïve
27.06.13
✎
11:06
|
Платформа 8.1.15
Есть такой код: ЕстьОшибка = ЕстьОшибка или не ПроверитьВозможностьОтгрузкиПоМенеджеру(Менеджер); ЕстьОшибка = ЕстьОшибка или не ПроверитьВозможностьОтгузкиПоКонтрагенту(Контрагент); ЕстьОшибка = ЕстьОшибка или не ПроверкаВозможностьОтгрузкиБонуснойНакладной(); заметил, что в проверки не всегда выполняются. Провел эксперемент: ЕстьОшибка = ЕстьОшибка или не ПроверитьВозможностьОтгрузкиПоМенеджеру(Менеджер); ЕстьОшибка = ЕстьОшибка или не ПроверитьВозможностьОтгузкиПоКонтрагенту(Контрагент); ЕстьОшибка = ЕстьОшибка или истина; // !!! теперь точно перестал заходить. ЕстьОшибка = ЕстьОшибка или не ПроверкаВозможностьОтгрузкиБонуснойНакладной(); Это баг или фича??? |
|||
1
Господин ПЖ
27.06.13
✎
11:08
|
покурить по или иногда нет нужды заходить во второе условие...
учите мат часть |
|||
2
Sammo
27.06.13
✎
11:10
|
Еще с 7.7. в случае И, если первая составляющая = Истина, тогда второе не считается.
|
|||
3
ДенисЧ
27.06.13
✎
11:11
|
(2) в 77 считалось всё. В 8.* - по порядку
|
|||
4
Maxus43
27.06.13
✎
11:12
|
(2) Ложь, а не истина. если истина - то проверяется второе условие.
Это не со времён 1с, это обычная логика |
|||
5
acsent
27.06.13
✎
11:17
|
(4) это не обычная логика, укороченная
|
|||
6
Maxus43
27.06.13
✎
11:20
|
(5) правильная, ибо нет смысла проверять дальше, когда 100% условие будет выполнено, или не будет
|
|||
7
Mitriy
27.06.13
✎
11:23
|
ничего не понял... код из (0) должен выполняться последовательно, причем тут вообще И? Если в ИЛИ первый результат ИСТИНА, то остальные на фиг не интересны...
|
|||
8
mxs089
27.06.13
✎
11:24
|
извини, но это тупой вопрос, насколько мне память не изменяет, это во всех языках программирования, зачем проверять что-то, если результат заведомо известен
|
|||
9
kinno
27.06.13
✎
11:26
|
В случае условия "И" благодаря этому бывает очень удобно, в первой половине условия проверять на тип значения, а во второй части после "И" на значение реквизита.
Например так: ТиЗнч(ДокументСсылка) = Тип("ДокументСсылка.ТребованиеНакладная") И ДокументСсылка.МойРеквизит = ОтборПоРеквизиту |
|||
10
mxs089
27.06.13
✎
11:28
|
(8) касательно ИЛИ, если И проверяются все условия
|
|||
11
Mitriy
27.06.13
✎
11:29
|
(10) если Ложь, то не все...
|
|||
12
mxs089
27.06.13
✎
11:32
|
(11) да, до первого Истина
|
|||
13
Maxus43
27.06.13
✎
11:47
|
(12) до всех Истина, а прерывается на первом Ложь
|
|||
14
mxs089
27.06.13
✎
11:50
|
при ИЛИ?
|
|||
16
Sammo
27.06.13
✎
11:58
|
(3) mia culpa. С 8.0. Вспомнил - были вопросы от семерочников при переходе.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |