|
Ошибка при конструкции ИЛИ | ☑ | ||
---|---|---|---|---|
0
Janna26
03.02.16
✎
16:51
|
Всем привет, ребята что то я походу замоталась. Не могу правильно составить условие.
Если (не ТипЗнч(Элемента) <> Тип("ДекорацияФормы")) ИЛИ (не ТипЗнч(Элемента) <> Тип("КнопкаФормы")) тогда //Текст обработки КонецЕсли; Данное условие всегда отдает истина Без скобок тоже пробовала. Может я где то ошибаюсь Если Ложь или Истина тогда Должно давать ложь? |
|||
1
Nuobu
03.02.16
✎
16:53
|
Ложь или Истина
даст Истину |
|||
2
Новиков
03.02.16
✎
16:53
|
0 или 1 всегда дает 1
|
|||
3
Лефмихалыч
03.02.16
✎
16:53
|
Если (ТипЗнч(Элемента) = Тип("ДекорацияФормы")) ИЛИ (ТипЗнч(Элемента) = Тип("КнопкаФормы")) тогда
у тебя просто всегда тип элемента или кнопка, или декорация. Что не так? |
|||
4
lera01
03.02.16
✎
16:53
|
Ложь ИЛИ Истина всегда Истина
|
|||
5
shuhard
03.02.16
✎
16:54
|
(0) второе правило Де Моргана
отрицание условие требует замены И на ИЛИ |
|||
6
Janna26
03.02.16
✎
16:54
|
||||
7
Janna26
03.02.16
✎
16:57
|
Если не ТипЗнч(Элемента) = Тип("ДекорацияФормы") И не ТипЗнч(Элемента) =Тип("КнопкаФормы") тогда
Как мне из этого Ложь получить? |
|||
8
Janna26
03.02.16
✎
16:57
|
Ошибочка выше
Если не ТипЗнч(Элемента) = Тип("ДекорацияФормы") ИЛИ не ТипЗнч(Элемента) =Тип("КнопкаФормы") тогда Как мне из этого Ложь получить? |
|||
9
hhhh
03.02.16
✎
16:59
|
(8) никак. ИЛИ всегда дает истину.
|
|||
10
Timon1405
03.02.16
✎
17:00
|
Если НЕ (ТипЗнч(Элемента) = Тип("ДекорацияФормы") ИЛИ ТипЗнч(Элемента) = Тип("КнопкаФормы")) Тогда
//Если я правильно понял чего хочет ТС |
|||
11
Бледно Золотистый
03.02.16
✎
17:02
|
(8) Напиши лучше русским языком что надо от условия этого.
|
|||
12
Janna26
03.02.16
✎
17:03
|
Нужно что бы если Элемент декарация формы или кнопкаформы условие не проходило.
|
|||
13
hhhh
03.02.16
✎
17:06
|
(12) ну (10) тогда
|
|||
14
Janna26
03.02.16
✎
17:07
|
Если ТипЗнч(Элемента) = Тип("ДекорацияФормы")
ИЛИ ТипЗнч(Элемента) = Тип("КнопкаФормы") ИЛИ ТипЗнч(Элемента) = Тип("ДополнениеЭлементаФормы") Тогда Иначе Вот так решилось |
|||
15
Janna26
03.02.16
✎
17:08
|
10) Спасибо большое!!! Я походу заработалась....
|
|||
16
Alexandr_U1982
03.02.16
✎
18:07
|
Если ТипЗнч(Элемента) <> Тип("ДекорацияФормы") И
ТипЗнч(Элемента) <> Тип("КнопкаФормы") И ТипЗнч(Элемента) <> Тип("ДополнениеЭлементаФормы") Тогда КонецЕсли; |
|||
17
kosts
03.02.16
✎
18:52
|
(16) Из опыта. По реже используй не равно и почаще равно.
|
|||
18
Tateossian
03.02.16
✎
19:49
|
(17) +100500, лучше операнды НЕ X = Y, чем X <> Y.
|
|||
19
Cyberhawk
03.02.16
✎
19:55
|
(18) Ты жертвуешь восприятием в угоду удобству внесения правок
|
|||
20
Alexandr_U1982
03.02.16
✎
20:17
|
(17) (18) Обоснуйте. Почему?
|
|||
21
Defender aka LINN
03.02.16
✎
21:24
|
(20) Это Тру программизды. На самом деле они даже пишут не "НЕ", а "NOT", но предпочитают этого не афишировать
|
|||
22
kosts
04.02.16
✎
09:06
|
(20) (21) Вообще-то не (18) имел ввиду.
Имел ввиду, что есть вероятность, что появится новое значение, не предусмотренное разработчиком. С элементами формы, это конечно маловероятно. Но в общем такие случаи могут случаться. Например Разработчик напишет (зная, что колонок всего три)
И при добавлении колонки на форме программа неожиданно станет падать. По этому лучше изначально написать:
По той же причине где-то видел рекомендацию не использовать "*" в выборке запроса. |
|||
23
Лефмихалыч
04.02.16
✎
09:16
|
(12) НЕ надо за скобки вынести
Если НЕ (ОДНО ИЛИ ДРУГОЕ) ТОГДА |
|||
24
Alexandr_U1982
04.02.16
✎
10:33
|
(22) Понял. Спасибо. В (12) и (14) автор темы указала, что условие не должно выполняться для элементов с типами "ДекорацияФормы", "КнопкаФормы" и "ДополнениеЭлементаФормы", поэтому и решил использовать "<>".
Согласен, что в данном случае лучше использовать "=" с перечислением типов элементов, для которых условие должно выполниться. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |