![]() |
![]() |
![]() |
|
v7: Конструкция "Если" и "И" Ø (Злопчинский 22.02.2016 23:25) |
☑ | ||
---|---|---|---|---|
0
Масянька
22.02.16
✎
16:00
|
День добрый!
Есть такая строка - Если (ПустоеЗначение(ПроверятьОстатки) = 1) и (РеальныйОстаток() = 0) Тогда РеальныйОстаток - функция. Вопрос: если (ПустоеЗначение(ПроверятьОстатки) = 0) должно заходить в функцию? Спасибо. |
|||
1
Любопытная
22.02.16
✎
16:01
|
Насколько я помню, при невыполнении первого условия второе не проверяется
|
|||
2
MishaD
22.02.16
✎
16:02
|
Да, в 7.7 полная проверка условия
|
|||
3
фобка
22.02.16
✎
16:02
|
Смотря чему равно проверятьостатки
|
|||
4
Масянька
22.02.16
✎
16:02
|
(2) Писец...
|
|||
5
Масянька
22.02.16
✎
16:03
|
(3) Какая разница? Первое - уже не выполнено.
|
|||
6
фобка
22.02.16
✎
16:03
|
А, нет.. 7.7 ленивая, дальше не полезет
|
|||
7
Любопытная
22.02.16
✎
16:03
|
Ой, блин, это 7.7... На секцию не посмотрела
|
|||
8
фобка
22.02.16
✎
16:03
|
8.х тоже не полезет
|
|||
9
MishaD
22.02.16
✎
16:04
|
(6) Вот как раз 7.7 и полезет. Хотя там скобки неправильно стоят, раньше ошибку выдаст.
|
|||
10
Масянька
22.02.16
✎
16:05
|
(6) Лезет.
Сообщить("тут - " + ПустоеЗначение(ПроверятьОстатки)); пишет - "тут - 0" и лезет... |
|||
11
Масянька
22.02.16
✎
16:07
|
(9) Спасибо огромное.
Только не понятно - смысл тогда? |
|||
12
Это_mike
22.02.16
✎
16:07
|
Ну сколько тебе раз говорить? Пиши нормально, независимо от стратегии вычисления транслятором...
|
|||
13
Масянька
22.02.16
✎
16:08
|
(12) А нормально - это как?
|
|||
14
ДенисЧ
22.02.16
✎
16:10
|
в 77 полезет.
В 8* - нет |
|||
15
palpetrovich
22.02.16
✎
16:10
|
(9) где "скобки неправильно стоят"? вроде все верно, хотя
что такое РеальныйОстаток() непонятно, хотя конечно РеальныйОстатокКакогоИменноТовар можно передать в фунцию и через ж.пу :) Ну и ПустоеЗначение(ПроверятьОстатки) тоже как-то бросается в глаза... почему-то кажется что ПроверятьОстатки - это флажок :) |
|||
16
Cyberhawk
22.02.16
✎
16:11
|
Если требуется, чтобы вторая часть условия "И" проверялась только если результат проверки первой - ложь, то надо разбить конструкцию Если на два вложенных Если
|
|||
17
фобка
22.02.16
✎
16:11
|
Не заставляйте меня включать комп и запускать платформу...)
|
|||
18
Это_mike
22.02.16
✎
16:12
|
(13) "нормально" - это чтобы выражение не зависело от того, какаую стратегию вычисления условных выражений - "полную" или"неполную" - использует транслятор. Представь, что ты пишешь не для 1с, а для извращенного паскаля. Или бесика. Или еще чего.
|
|||
19
ДенисЧ
22.02.16
✎
16:12
|
(17) не... ты у нас не только платформу запустишь, но ещё и новый ЗИК напишешь...
|
|||
20
ДенисЧ
22.02.16
✎
16:12
|
(12) Масянька и нормально - две несовместимые вещи...
|
|||
21
Злопчинский
22.02.16
✎
16:13
|
Говорят что в девятке будет новый вид проверкуи условия
Авдруг(учловие) Данное условие проверяется не в егда а эпизодически Также будет еще новый вид условия Внезапно(условие) Выдает истину всегда, за исключением самых неподходящих случаев |
|||
22
Это_mike
22.02.16
✎
16:13
|
(15) кстати, да - если пишется через .опу, то ничего не мешает передавать остатки через нее же...
|
|||
23
Злопчинский
22.02.16
✎
16:14
|
(20) злой ты
|
|||
24
Масянька
22.02.16
✎
16:16
|
(18) И где различие между "1с! и "извращенным паскалем"?
(23) Он - не злой, он - обиженный. |
|||
25
palpetrovich
22.02.16
✎
16:16
|
(21) я наденюсь это в 8.8 реализуют :)
|
|||
26
ДенисЧ
22.02.16
✎
16:17
|
(23) Я добрый.
А то ведь и ножичком мог бы... |
|||
27
palpetrovich
22.02.16
✎
16:18
|
(24) имхо, под "извращенностью паскаля" он подразумевает безусловное описание переменных :)
|
|||
28
Масянька
22.02.16
✎
16:19
|
(27) Я не знаю (и знать не хочу), что он там "подразумевает". В данном случае - разницы нет.
|
|||
29
palpetrovich
22.02.16
✎
16:20
|
(28) перечитал (18) - главное там в первом предложении, я лично - двумя руками - за!
|
|||
30
фобка
22.02.16
✎
16:26
|
(14) таки да, что странно
|
|||
31
Масянька
22.02.16
✎
16:30
|
(29) Нафига описывать переменную, которая передается из другой функции и используется (в данном модуле) один раз?
|
|||
32
Масянька
22.02.16
✎
16:30
|
(30) Фома неверующий :)
|
|||
33
фобка
22.02.16
✎
16:35
|
(32) странно что мог это забыть, а не само поведение
|
|||
34
Масянька
22.02.16
✎
16:37
|
(33) Я, лично, первый раз наткнулась. Считала, что по-любому сначала первое.
Видимо, карты так легли. :) |
|||
35
HawkEye
22.02.16
✎
16:51
|
(34) 7.7 сначала проверит обе скобки, потом проверит И...
|
|||
36
vcv
22.02.16
✎
20:54
|
Есть такое понятие "ленивые вычисления". Так вот в 7.7 их нет :)
|
|||
37
youalex
22.02.16
✎
22:36
|
Кстати говоря, после 8 весьма доставляет. Если в 8 можно первым условием сделать проверку на тип, например, и далее уже, "зная" тип - в этом же выражении логику строить, то в 7 - приходится писать многоэтажные Если...
Если гугель не врет, то это " & Логическое AND (И) && Сокращённое AND" В 7.7. - & , в 8.* - && |
|||
38
Джинн
22.02.16
✎
22:48
|
(34) Старые добрые грабли. Перетиралось миллион раз - проверяет все.
|
|||
39
Garykom
гуру
22.02.16
✎
22:55
|
(38) и это нормально! иначе какое может быть распараллеливание выполнения/вычислений :)
ЗЫ что 1с только 1 ядро использует это мелочи... они о будущем думали! |
|||
40
Garykom
гуру
22.02.16
✎
22:55
|
(39)+ *1C77
|
|||
41
Злопчинский
22.02.16
✎
23:08
|
Вопрос исчерпан
Финиш |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |