|   |   | 
| 
 | Ошибка при конструкции ИЛИ | ☑ | ||
|---|---|---|---|---|
| 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) автор темы указала, что условие не должно выполняться для элементов с типами "ДекорацияФормы", "КнопкаФормы" и "ДополнениеЭлементаФормы", поэтому и решил использовать "<>".
 Согласен, что в данном случае лучше использовать "=" с перечислением типов элементов, для которых условие должно выполниться. | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |