|   |   | 
| 
 | Отрицательное значение в условии цикла | ☑ | ||
|---|---|---|---|---|
| 0
    
        ХДС 27.12.21✎ 14:39 | 
        Для Счетчик2 = 0 По РезультатЗапроса[Счетчик].КонтактнаяИнформация.Количество() - 1 Цикл
 Как отработает такое условие при Количество = 0, и почему? | |||
| 1
    
        polosov 27.12.21✎ 14:41 | 
        Ошибка в  РезультатЗапроса[Счетчик] ?     | |||
| 2
    
        ДенисЧ 27.12.21✎ 14:42 | 
        (0) цикл не выполнится     | |||
| 3
    
        polosov 27.12.21✎ 14:43 | 
        (0) А, понял. Нормально должно отработать. Там же обычное сравнение.     | |||
| 4
    
        lodger 27.12.21✎ 14:45 | 
        (0) зачем делать _такие_ конструкты там, где это совершенно не требуется?     | |||
| 5
    
        lEvGl гуру 27.12.21✎ 14:45 | 
        надо думать что не попадет в цикл или ошибку даст, что правая часть не может быть меньше нуля     | |||
| 6
    
        Kassern 27.12.21✎ 14:46 | 
        (0) никак не отработает. Просто дальше код пойдет выполняться минуя цикл     | |||
| 7
    
        Kassern 27.12.21✎ 14:47 | 
        аналогично для конструкции Для Каждого ТекСтрока Из ТЗ Цикл, где ТЗ пустая таблица     | |||
| 8
    
        Aleksey 27.12.21✎ 14:48 | 
        (7) не совсем. У него цикл от 0 до -1. Но ответ правильный. Дальше пойдет     | |||
| 9
    
        ДенисЧ 27.12.21✎ 14:49 | 
        Попробуй
 для сч = 0 по -1 Цикл сообщить("Мы в цикле"); КонецЦикла; | |||
| 10
    
        mistеr 27.12.21✎ 14:50 | 
        (8) Там столько обращений к объектам, что вполне может быть и ошибка.
 (4) +1 | |||
| 11
    
        TheRoofIsOn Fire 27.12.21✎ 14:52 | 
        а что одинэс умеет step -1? Я не знал.     | |||
| 12
    
        Мультук гуру 27.12.21✎ 14:53 | 
        (11) 
 Он и не умеет, да здесь (в этом примере) оно и не нужно | |||
| 13
    
        TheRoofIsOn Fire 27.12.21✎ 14:53 | 
        (12) Как отработает такое условие при Количество = 0, и почему? - никак оно не отработает, цикл бля в 1С не умеет считать назад. Цикл Пока - может.     | |||
| 14
    
        dubolom 27.12.21✎ 14:58 | 
        (13) зачетная опечатка     | |||
| 15
    
        Мультук гуру 27.12.21✎ 14:58 | 
        (13) 
 Очевидно, что цикл для сч = 0 по -1 Цикл сообщить("Мы в цикле"); КонецЦикла; выполнется как сч = 0; Пока сч <= -1 Цикл КонецЦикла; Будет ли проинициализирована "сч" -- не знаю. | |||
| 16
    
        lEvGl гуру 27.12.21✎ 14:59 | 
        (13) новогоднее настроение!! та ра та ра та ра тата та ра та ра та раааа))     | |||
| 17
    
        ХДС 27.12.21✎ 15:11 | 
        Натурные испытания показали что условие не выполняется.
 А вот почему? | |||
| 18
    
        Kassern 27.12.21✎ 15:16 | 
        (17) поэтому что это обычное условие, которое равно Ложь, поэтому в цикл и не заходит     | |||
| 19
    
        Serg_1960 27.12.21✎ 15:20 | 
        Строго говоря, автор не спрашивал про количество итераций цикла - вопрос был "Как отработает такое условие при Количество = 0?".
 Отвечаю: результат условия = -1. Ваш КО. | |||
| 20
    
        mistеr 27.12.21✎ 15:24 | 
        (17) Условие проверяется ПЕРЕД выполнением тела цикла.     | |||
| 21
    
        Serg_1960 27.12.21✎ 15:26 | 
        (17) "Натурные испытания показали что условие не выполняется" - Вы всё напутали: условие - выполняется, а цикл с предусловием - не выполняется.     | |||
| 22
    
        ХДС 27.12.21✎ 15:34 | 
        (21) Не выполняются ни условие, ни цикл?     | |||
| 23
    
        Serg_1960 27.12.21✎ 15:49 | 
        (22) "Максимальное значение счетчика цикла... вычисляется однократно перед началом цикла и не может быть изменено внутри цикла"(Синтакс-помощник)     | |||
| 24
    
        Fragster гуру 27.12.21✎ 15:51 | 
        вот на партнерском хороший кусок из типовых https://partners.v8.1c.ru/forum/topic/1862941     | |||
| 25
    
        Fragster гуру 27.12.21✎ 15:53 | 
        для тех, у кого нет доступа: https://i.imgur.com/8MFfxQT.png     | |||
| 26
    
        Fragster гуру 27.12.21✎ 15:54 | 
        правда про то, что присвоение происходит до вычисления правой части,  не написано     | |||
| 27
    
        Serg_1960 27.12.21✎ 16:06 | 
        (26) Левые и правые части условия рассчитываются и присваиваются автономно и независимо друг от друга до проверки условия цикла :)
 "Л-логика"(с) | |||
| 28
    
        Serg_1960 27.12.21✎ 16:11 | 
        Пример для наглядности вышесказанного:
 Для i = -2 По -1 Цикл Сообщить(i); КонецЦикла; Сообщить(i); | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |