Имя: Пароль:
1C
 
Конструкция "Если Истина Тогда"
0 cmex
 
25.08.14
13:06
Добрый день.
Подскажите, для чего может использоваться конструкция "Если Истина Тогда"? Насколько знаю, как вариант, для доступа к контекстной подсказке, чтобы ручками не набирать имена Свойств и методов какого-либо объекта. Но встречаются случаи, куда этот вариант не подходит.
Спасибо.
1 shuhard
 
25.08.14
13:07
(0)[ Но встречаются случаи, куда этот вариант не подходит. ]
не верю (с)
2 butterbean
 
25.08.14
13:07
проверка работоспособности очередного релиза
3 Irbis
 
25.08.14
13:08
(1) Это если только переменной Истина присвоить Ложь
4 Господин ПЖ
 
25.08.14
13:08
>Насколько знаю, как вариант, для доступа к контекстной подсказке, чтобы ручками не набирать имена Свойств и методов какого-либо объекта.

фигасе...
5 Зойч
 
25.08.14
13:09
Для автоподсказки обычно наоборот пишут
Если Ложь Тогда
6 cmex
 
25.08.14
13:11
(5) Точно, мой косяк
7 cmex
 
25.08.14
13:13
(2) в чем смысл? если все хорошо то уберут строку, а если нет, то воткнут условие?
8 Irbis
 
25.08.14
13:15
(7) Столько же сколько в
Пока 1=1 Цикл
9 cmex
 
25.08.14
13:19
(8) где то читал, что это делается для обозначения того, что  в дальнейшем в этом месте может быть какое то условие
10 dmpl
 
25.08.14
13:21
(0) Было какое-то условие, программа не работала. Чтобы по-быстрому убрать условие - временно ставят это. Ну а дальше нет ничего более постоянного чем временное.
11 Irbis
 
25.08.14
13:26
(9) Бред, если в цикле нет "Прервать", прямое зацикливание.
12 AlexITGround
 
25.08.14
13:27
(0) "Насколько знаю, как вариант, для доступа к контекстной подсказке, чтобы ручками не набирать имена Свойств и методов какого-либо объекта"
(3) что? О_О
13 Сияющий Асинхраль
 
25.08.14
13:28
(8) Пока Истина Цикл пишу очень часто в загрузках из разных текстовых файлов, dbf-ов, *.xls и т.д. лично мне удобнее проверять конец загружаемого фрагмента внутри цикла, а не в самом условии цикла, поскольку сами условия могут быть сильно разные, да и много их может быть, подставлять в само условие цикла получиться нечитаемо, по крайней мере мне...
14 AlexITGround
 
25.08.14
13:29
продам СП, всю партию...
15 Irbis
 
25.08.14
13:31
(13) Ну и пиши Не КонецФайла, а доп условия в теле цикла с отдельной проверкой. Зачем такие извращения.
16 Зойч
 
25.08.14
13:32
пока истина - это аналог repeat until
17 Сияющий Асинхраль
 
25.08.14
13:35
(16) Именно...
(15) Не такое уж и извращение, (16) истину глаголит...

А вот Если Ложь Тогда, если мне не изменяет память изредка делал, когда не хотел комментарить большие куски кода, а исключить их из кода было надо...
18 Зойч
 
25.08.14
13:37
Документ = СтрокаТЧ.Документ;
Если Ложь Тогда
  Документ = Документы.ПКО.СоздатьДокумент();
КонецЕсли;
19 Irbis
 
25.08.14
13:37
(16), (17) Никак нет. Репит это гарантированное выполнение тела цикла хотя бы 1 раз. Невыполнимое услове в нём такой ляп как и всегда выполнимое в в цикле Пока
20 Зойч
 
25.08.14
13:39
(18) Далее пишем Документ точка и получаем список свойств без всяких снегопатов
21 Зойч
 
25.08.14
13:40
(19)

Пока Истина Цикл
  Прервать;
КонецЦикла;

хуже чем

Условие = Истина;
Пока Условие Цикл
  Условие = Ложь;
КонецЦикла;
22 Сияющий Асинхраль
 
25.08.14
13:42
(19) Не хочу спорить, но лично мне такая конструкция гораздо привычней и легче понимается чем условие в цикле. У каждого свои недостатки...
23 Irbis
 
25.08.14
13:43
(21) А я о чём просто в 1С нет конструкции цикла с постусловием, потому каждый и извращается как может. Я обычно тело цикла выношу в отдельную процедуру и выполняю

Процедура()
Пока Условие Цикл
Процедура()
КонецЦикла
24 Ёпрст
 
25.08.14
13:45
(20) извращение то какое.. и так каждый раз мучаться ?
25 Зойч
 
25.08.14
13:45
(24) Не мучайся. Пиши свойства по памяти )))
26 Сияющий Асинхраль
 
25.08.14
13:46
(23) Вот этот вариант гораздо менее читаемый и понимаемый чем бесконечный цикл :-(
Ошибка? Это не ошибка, это системная функция.