| 
    
            
         
         | 
    
    
  | 
Как сделать, чтобы не зашло в Если? | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        NIGHTHUNTER    
     14.09.22 
            ✎
    11:36 
 | 
         
        Как правильно сделать условие что бы не зашло в Если?
 
        Значения реквизитов такие, - ЭтотОбъект.ХХХ_Товары.Количество() = 0 ЭтотОбъект.ХХХ_ВидДокумента = Перечисления.ХХХ_ВидДокументаВнутреннегоПеремещения.ПеремещениеТоваров Если ЭтотОбъект.ХХХ_Товары.Количество() = 0 И (НЕ ЭтотОбъект.ХХХ_ВидДокумента = Перечисления.ХХХ_ВидДокументаВнутреннегоПеремещения.ЗаказКлиента_ЗаказДавальца_2 И НЕ ЭтотОбъект.ХХХ_ВидДокумента = Перечисления.ХХХ_ВидДокументаВнутреннегоПеремещения.ПеремещениеТоваров) Тогда Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "Не заполнена табличная часть товары !"; Сообщение.Сообщить(); Отказ = Истина; КонецЕсли;  | 
|||
| 
    1
    
        Фрэнки    
     14.09.22 
            ✎
    11:37 
 | 
         
        для отладки?     
         | 
|||
| 
    2
    
        Bigbro    
     14.09.22 
            ✎
    11:37 
 | 
         
        поставить перед Если Возврат.
 
        не зайдет.  | 
|||
| 
    3
    
        Фрэнки    
     14.09.22 
            ✎
    11:39 
 | 
         
        припиши в самом начале в Если
 
        ЛОЖЬ И (... дальше все, что там уже написано)  | 
|||
| 
    4
    
        zenik    
     14.09.22 
            ✎
    11:39 
 | 
         
        Вместо второго "И" надо "ИЛИ"     
         | 
|||
| 
    5
    
        kittystark    
     14.09.22 
            ✎
    11:40 
 | 
         
        Если НЕ(
 
        ЭтотОбъект.ХХХ_Товары.Количество() = 0 И (ЭтотОбъект.ХХХ_ВидДокумента = Перечисления.ХХХ_ВидДокументаВнутреннегоПеремещения.ЗаказКлиента_ЗаказДавальца_2 ИЛИ ЭтотОбъект.ХХХ_ВидДокумента = Перечисления.ХХХ_ВидДокументаВнутреннегоПеремещения.ПеремещениеТоваров) ) Тогда  | 
|||
| 
    6
    
        lodger    
     14.09.22 
            ✎
    11:44 
 | 
         
        (0) а ты наоборот сделай.
 
        зайди в если под отладкой по точке останова по шагам. выйди из если по шагам. вычисли Отказ. установи значение Ложь.  | 
|||
| 
    7
    
        Bigbro    
     14.09.22 
            ✎
    11:45 
 | 
         
        GOTO еще не предложили     
         | 
|||
| 
    8
    
        NIGHTHUNTER    
     14.09.22 
            ✎
    11:47 
 | 
         
        Так сработало, правильно ли?
 
        Если ЭтотОбъект.ХХХ_Товары.Количество() = 0 И (НЕ ЭтотОбъект.ХХХ_ВидДокумента = Перечисления.ХХХ_ВидДокументаВнутреннегоПеремещения.ЗаказКлиента_ЗаказДавальца_2 И НЕ ЭтотОбъект.ХХХ_ВидДокумента = Перечисления.ХХХ_ВидДокументаВнутреннегоПеремещения.ПеремещениеТоваров) Тогда Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "Не заполнена табличная часть товары !"; Сообщение.Сообщить(); Отказ = Истина; КонецЕсли;  | 
|||
| 
    9
    
        NIGHTHUNTER    
     14.09.22 
            ✎
    11:48 
 | 
         
        (1) Да нет, нужно что бы не заходило в условие.     
         | 
|||
| 
    10
    
        Spieluhr    
     14.09.22 
            ✎
    11:48 
 | 
         
        (9) Создать расширение, далее (3)     
         | 
|||
| 
    12
    
        Фрэнки    
     14.09.22 
            ✎
    11:50 
 | 
         
        (9) В случае небольших блоков, которые нужно отключать - можно просто закомментить блок на время отладки, затем снять комменты блока.     
         | 
|||
| 
    13
    
        Мимохожий Однако    
     14.09.22 
            ✎
    11:51 
 | 
         
        (11) Группа студентов     
         | 
|||
| 
    14
    
        NIGHTHUNTER    
     14.09.22 
            ✎
    11:52 
 | 
         
        (12) Да дело в том что я делаю доработку, и это условие вообще не нужно.
 
        Можно удалить. но я хотел сделать что бы в него не заходило. добавил эту строку. НЕ ЭтотОбъект.ХХХ_ВидДокумента = Перечисления.ХХХ_ВидДокументаВнутреннегоПеремещения.ПеремещениеТоваров) но все равно заходило, я так понял что то с логикой не то, вот и спросил.  | 
|||
| 
    15
    
        NIGHTHUNTER    
     14.09.22 
            ✎
    11:52 
 | 
         
        (8) сработало.     
         | 
|||
| 
    16
    
        kittystark    
     14.09.22 
            ✎
    11:54 
 | 
         
        (8) + (15) = или (11), или крыша едет     
         | 
|||
| 
    17
    
        Фрэнки    
     14.09.22 
            ✎
    11:54 
 | 
         
        (14) логика очень простая - текущее условие с двух сторон закрываешь скобками (лишние скобки не помеха никогда)
 
        И в начало если подпихиваешь ЛОЖЬ И ... и все будет всегда ЛОЖЬ и в тело блока не пройдет.  | 
|||
| 
    18
    
        Bigbro    
     14.09.22 
            ✎
    12:01 
 | 
         
        но ты уже внутри "если"
 
        надо туда не заходить значит до Если надо свернуть или уйти например написать если 1=0 тогда ... тут старый код КонецЕсли;  | 
|||
| 
    19
    
        ads55    
     14.09.22 
            ✎
    12:45 
 | 
         
        (8) вторую И замени на ИЛИ
 
        не может быть, чтобы документ сразу (не) был двух типов  | 
|||
| 
    20
    
        Ryzeman    
     14.09.22 
            ✎
    12:50 
 | 
         
        (14) Выделить строки  и [ctrl] + /
 
        уже не вариант? Или ты не знаешь что такое закомментировать код? Если уж так хочется приделывать уродливые костыли, то Если Ложь И [твоё условие]  | 
|||
| 
    21
    
        Курцвейл    
     14.09.22 
            ✎
    14:05 
 | 
         
        Надо зайти в первую если. А если в первую не зашел работает старый код.
 
        Если ЭтотОбъект.ХХХ_Товары.Количество() = 0 И ЭтотОбъект.ХХХ_ВидДокумента = Перечисления.ХХХ_ВидДокументаВнутреннегоПеремещения.ПеремещениеТоваров Тогда //ничего не делаем ИначеЕсли //тут что-то делаем другое  | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |