|
Операции сравнения дат в 77 | ☑ | ||
---|---|---|---|---|
0
Ёхан Палыч
07.10.14
✎
06:01
|
Давно не работал 77.
Чо за херня? Почему отладчик в 77 выдает такое: '01.01.2014' = '01.01.2014' = Ошибка в выражении! '01.01.2014' > '01.01.2014' = Ошибка в выражении! и т.д. |
|||
1
VladZ
07.10.14
✎
06:03
|
(0) А что отладчик тебе должен написать???? В 7.7 нет типа булево.
|
|||
2
VladZ
07.10.14
✎
06:04
|
Для начала попробуй конструкцию вида ?('01.01.2014' = '01.01.2014', 1,0)
|
|||
3
Ёхан Палыч
07.10.14
✎
06:07
|
Ага, понял, вспомнил, спасиб.
|
|||
4
Ёхан Палыч
07.10.14
✎
06:17
|
Все равно не получается.
Если спр.Дата >= '01.01.2014' Тогда - выдает ошибку еще на стадии открытия обработки. Хотя ТипЗначенияСтр(спр.Дата) = Дата. Как так? |
|||
5
Ёхан Палыч
07.10.14
✎
06:27
|
все разобрался
|
|||
6
Мимохожий Однако
07.10.14
✎
06:33
|
Ну, и как сделал?
|
|||
7
Ёхан Палыч
07.10.14
✎
06:47
|
да там проблема не в этом была, операции сравнения и логические (И, Не...) в 77 имеют какой то странный приоритет, понаставил скобок в лог. выражении и пошло )))
|
|||
8
mergan
07.10.14
✎
07:30
|
В 7.7 приоритет абсолютно такой-же как и в других языках
|
|||
9
пипец
07.10.14
✎
08:54
|
Дата("01.01.01") не предлагать ?
|
|||
10
Ёхан Палыч
07.10.14
✎
09:31
|
(8)
дает ошибку: Если (спр.ЭтоГруппа() = 0) И (спр.Дата >= '01.01.2014' И спр.Дата <= '31.12.2014') Тогда не дает ошибку: Если (спр.ЭтоГруппа() = 0) И (спр.Дата >= '01.01.2014') И (спр.Дата <= '31.12.2014') Тогда |
|||
11
Ёхан Палыч
07.10.14
✎
09:35
|
ха, действительно у И НЕ ИЛИ - приоритет больше чем у равно больше меньше
и как я раньше жил с этим )))) |
|||
12
Ёхан Палыч
07.10.14
✎
09:36
|
ну это же нелогично нихрена
|
|||
13
Фокусник
07.10.14
✎
09:36
|
(10) " (спр.Дата >= '01.01.2014' И спр.Дата <= '31.12.2014') "
Ошибка была, потому что в 77 скобки нужно ставить вокруг каждого логического выражения, а не из-за "приоритета" ;) |
|||
14
1dvd
07.10.14
✎
09:36
|
(11) тёплое с мягким путаешь.
В 77, всё что между И, между ИЛИ должно заключаться в скобки |
|||
15
Ёхан Палыч
07.10.14
✎
09:37
|
(14) а в 8 кажись не так, не задумывался никогда ???
|
|||
16
1dvd
07.10.14
✎
09:39
|
(15) да, восьмерке много что поменяли.
Но, твоя фраза "у И НЕ ИЛИ - приоритет больше чем у равно больше меньше" бессмыслица |
|||
17
Ёхан Палыч
07.10.14
✎
09:40
|
(16) да смех да и только, засомневался и прочел
http://src-code.net/logicheskie-operacii/ |
|||
18
1dvd
07.10.14
✎
09:44
|
(17) это восьмерка
|
|||
19
Ёхан Палыч
07.10.14
✎
09:45
|
(18) т.е. для восьмерки фраза
"у И НЕ ИЛИ - приоритет больше чем у равно больше меньше" верна??????????????????? |
|||
20
1dvd
07.10.14
✎
09:47
|
(19) да. В 77 нет типа булево, как тебе уже говорили. Там выполняются сперва сравнения, а потом уже эти результаты перемножаются (логическое И), Складываются (логическое ИЛИ) и отрицаются (НЕ)
|
|||
21
Зеленый пень
07.10.14
✎
09:48
|
(19) Надо еще помнить, что 7.7 будет проверять все условия, даже если после первого логично прекратить проверку.
Т.е. если: спр.ЭтоГруппа() = 1, то всё равно будут проверены остальные условия. |
|||
22
Ёхан Палыч
07.10.14
✎
09:50
|
ясно, ладно, скобки рулят в любом случае, так и будем кодить ))))
|
|||
23
Torquader
07.10.14
✎
16:39
|
(21) А что вы хотели - операторы над результатами логических выражений (НЕ И ИЛИ) начинают выполняться только тогда, когда все логические выражения уже вычислены.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |