|
Логические операторы | ☑ | ||
---|---|---|---|---|
0
kap-v-kstu
15.02.13
✎
00:11
|
ТипЗнч(СтрокаОстатка.Субконто3) <> Тип("ДокументСсылка.ПоступлениеНаРасчетныйСчет") И ( СуммаПереоценки<0)
Как написать условие , при котором сумма переоценки сравнивается только при выполнении 1-го условия? |
|||
1
Лефмихалыч
15.02.13
✎
00:12
|
(0) а... хм... а сейчас как-то не так что ли?
|
|||
2
Очкарик
15.02.13
✎
00:17
|
Может в Субонто3 чтой-то не так?
|
|||
3
Лефмихалыч
15.02.13
✎
00:34
|
подозреваю, что дело в том, что "любое сравнение с NULL в запросе возвращает ложь"
|
|||
4
smitru
15.02.13
✎
08:52
|
(3) А где ты тут видишь "запрос"?
(0) В 1С так и происходит. Если при "И" первый операнд ложь, то вычисление второго операнда не производится |
|||
5
lefthander
15.02.13
✎
09:18
|
Может быть так? Нет?
(ТипЗнч(СтрокаОстатка.Субконто3) <> Тип("ДокументСсылка.ПоступлениеНаРасчетныйСчет")) И ( СуммаПереоценки<0) |
|||
6
Wobland
15.02.13
✎
09:21
|
(5) лучше так: (((А)<>(Б)) И (В)))
|
|||
7
GANR
15.02.13
✎
10:26
|
Если пара принципов:
1. В логическом условии A and B, если A = Ложь, то B - не проверяется. 2. В логическом условии A or B, если A = Истина, то B - не проверяется. Эти принципы используются при оптимизации, чтобы "тяжелые" условия проверялись как можно реже. Остальное, (0), додумай сам. |
|||
8
HeroShima
15.02.13
✎
10:27
|
(0) позорище!
|
|||
9
smitru
15.02.13
✎
10:47
|
(7) глупости глаголите.. и первое и второе
|
|||
10
Reset
15.02.13
✎
10:50
|
(9) Почему глупости? В 1С эти принципы работают. Вы не в курсе? Это не значит, что все, что Вы не знаете - глупости.
|
|||
11
Wobland
15.02.13
✎
10:51
|
(10) он знает, см (4)
|
|||
12
Reset
15.02.13
✎
10:52
|
(11) Тогда непонятно про "глупости" %]
|
|||
13
Wobland
15.02.13
✎
10:53
|
(12) ну выпендрился человек, с кем не бывает ;)
|
|||
14
hhhh
15.02.13
✎
10:54
|
(11) в динамике надо смотреть, с момента (4) прошло 2 часа, может за это время он переменил свое мнение.
|
|||
15
Wobland
15.02.13
✎
10:56
|
(14) за 2 часа можно успеть поллитру скушать ;)
|
|||
16
GANR
15.02.13
✎
10:56
|
(9) Не веришь мне - проведи эксперимент с нехитрой самодельной обработкой.
|
|||
17
НЕА123
15.02.13
✎
11:18
|
(10)
в (7) не было сказано, что эти принципы для языка 1С. в файловой, на 8.1 было, в условиях запроса проверялись все условия. |
|||
18
GANR
15.02.13
✎
11:19
|
(17) В любом уважающем себя языке программирования должно быть (7).
|
|||
19
Wobland
15.02.13
✎
11:20
|
(17) а я вроде на файловой 8.1 и убеждался...
|
|||
20
НЕА123
15.02.13
✎
11:26
|
(19)
может только на ранних релизах, но переделывание логических выражений на конструкции ВЫБОР КОГДА...ТОГДА.. на файловой сильно помогало. на SQL нет, принципы (7) работали. |
|||
21
Reset
15.02.13
✎
11:29
|
(17) То что там не уточнено, для какого языка, не делает, етить, сказанное - глупостью.
Нет, мы ты про Алгол говорим. |
|||
22
Reset
15.02.13
✎
11:29
|
мы тут*
|
|||
23
Reset
15.02.13
✎
11:29
|
(я не знаю, верно ли это для Алгола, просто к слову)
|
|||
24
НЕА123
15.02.13
✎
11:30
|
(18)
согласен. но в том же борландовском Cи, начала 90-х, принципы были 1. В логическом условии A and B, если B = Ложь, то A - не проверяется. 2. В логическом условии A or B, если B = Истина, то A - не проверяется. сейчас не знаю. |
|||
25
Reset
15.02.13
✎
11:32
|
(24) В (7) говорилось про Borland C, несомненно.
|
|||
26
Reset
15.02.13
✎
11:33
|
А почему тогда не докопались что в BC нет ф-ии типЗнч?
|
|||
27
Reset
15.02.13
✎
11:33
|
и опреатора <>
и тд |
|||
28
НЕА123
15.02.13
✎
11:42
|
(0)
если бы (7) не было, то ?(ТипЗнч(СтрокаОстатка.Субконто3) <> Тип("ДокументСсылка.ПоступлениеНаРасчетныйСчет"), ( СуммаПереоценки<0), Ложь); |
|||
29
Infsams654
15.02.13
✎
12:04
|
(25) в дельфях, кажись можно было в настройках установить проверку всех условий, но по умолчанию как (7)
|
|||
30
GANR
15.02.13
✎
15:14
|
Впрочем, этот код
if A and B then { ... } можно и на этот заменить if A then { if B then { ... } } |
|||
31
GANR
15.02.13
✎
15:18
|
+(30) тьху-ё... уже и забыл, что в условиях на C/C++ then нету
|
|||
32
Gesperid
15.02.13
✎
15:45
|
(31) зато скобки обязательны =)
|
|||
33
acsent
15.02.13
✎
15:51
|
(0) это в запросе или в коде?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |