![]() |
![]() |
![]() |
|
v7: Условие на Вид Цикла | ☑ | ||
---|---|---|---|---|
0
DmitriyDI
18.12.13
✎
11:20
|
Вот есть у нас условие и в зависимости от него либо по справочнику цикл либо СЗ, вот такая конструкция вполне бы подошла, но понятно почему я ей не могу воспользоваться, как просто это реализовать без описания двух циклов ?
Если ФлагПоСписку = 0 Тогда Пока Спр.ПолучитьЭлемент()=1 Цикл Иначе Для а =1 По Список.РазмерСписка() Цикл КонецЕсли; |
|||
1
ДенисЧ
18.12.13
✎
11:21
|
Какой феерический бред...
|
|||
2
DmitriyDI
18.12.13
✎
11:21
|
(1) почему ?(
|
|||
3
mikecool
18.12.13
✎
11:22
|
Разрешаю написать так
Если ФлагПоСписку = 0 Тогда Пока Спр.ПолучитьЭлемент()=1 Цикл ... КонецЦикла Иначе Для а =1 По Список.РазмерСписка() Цикл ... КонецЦикла КонецЕсли; |
|||
4
mikecool
18.12.13
✎
11:22
|
а ваще - по условию готовишь список, и по нему уже цикл
|
|||
5
mikecool
18.12.13
✎
11:22
|
+4 или как в (3) - толь ... меняешь на вызов функции
|
|||
6
Wobland
18.12.13
✎
11:23
|
(3) без описания двух циклов велено.
иначе возврат |
|||
7
DmitriyDI
18.12.13
✎
11:23
|
(3) ды очень смешно, так я и сам могу написать, просто цикл ну вообще одинаковый получается, вынесу тогда внутренность в процедуру, но все равно жалко, что нельзя, как я хочу так сделать
|
|||
8
mikecool
18.12.13
✎
11:24
|
(6) ну раз так, то синтаксис должен быть такой:
Если ФлагПоСписку = 0 Повелеваю Пока Спр.ПолучитьЭлемент()=1 Цикл Иначе Для а =1 По Список.РазмерСписка() Цикл КонецЕсли; |
|||
9
Ненавижу 1С
гуру
18.12.13
✎
11:24
|
нет в 1С универсальных итераторов, даже в 8
|
|||
10
mikecool
18.12.13
✎
11:24
|
(7) ты так жалеешь будто в каком то языке так можно делать, а 1с падлюка не может
|
|||
11
DmitriyDI
18.12.13
✎
11:25
|
(10) а вдруг
|
|||
12
КонецЦикла
18.12.13
✎
11:33
|
(8) Хм... 1С ругается: Ожидается выражение КонецПовелеваю
|
|||
13
2S
18.12.13
✎
11:38
|
(0) в таких случаях все делается через СЗ, который формируется в зависимости от условий. Любой типовой отчет в ЗиК, например, по списку сотрудников
|
|||
14
Chum
18.12.13
✎
11:46
|
Смешно
|
|||
15
1Сергей
18.12.13
✎
12:28
|
УсловиеЦикла = 1;
а = 0; Пока УсловиеЦикла = 1 Цикл Если ФлагПоСписку = 0 Тогда УсловиеЦикла = Спр.ПолучитьЭлемент(); Иначе а = а + 1; УсловиеЦикла = ?(Список.РазмерСписка()>=а, 1, 0); КонецЕсли; ... КонецЦикла; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |