Имя: Пароль:
1C
1С v8
есть ли в 1с (8.2) аналог downto (delphi)
0 lucifer
 
01.08.12
09:45
для чего это мне нужно, у меня есть массив из которого я буду удалять элементы, если использовать стандартный цикл, то ошибки не избежать, вот я и хочу что бы цикл шел в обратном направлении от длинны массива до 0
1 Живой Ископаемый
 
01.08.12
09:45
да, есть
2 Андрюха
 
01.08.12
09:46
Для Сч = 500 По 1 Цикл
3 gosn1ck
 
01.08.12
09:46
определи количество элементов - это будет твоим счетчиком, который уменьшаешь на каждом витке цикла
4 Живой Ископаемый
 
01.08.12
09:46
Для Сч = -500 По 0 Цикл
Элемент=Массив[-Сч]
5 lucifer
 
01.08.12
09:51
(2) не прокатит, пробовал т.к. цикл с каждой итерацией увеличивает Сч
(4) спасибо, сейчас попробую
6 pumbaEO
 
01.08.12
09:53
а ты прямо в цикле и удаляешь элементы массива?
7 vde69
 
01.08.12
09:55
ихмо более читабельный:

Сч = Массив.Количество()
Пока Сч > 0 Цикл
Сч = Сч - 1;
Элемент=Массив[Сч]
8 Андрюха
 
01.08.12
10:06
Всего = Массив.Количество();
Для Сч = 1 По Всего Цикл
  Ном = Всего - Сч + 1;
  Сообщить("Вот она рыба моей мечты: " + Ном);
КонецЦикла;
9 Megas
 
01.08.12
10:23
Эстеты.

Я за (7) , просто и понятно сразу что имеется ввиду.
10 gosn1ck
 
01.08.12
13:23
(7) ну да, читабельней чем в (3) :)
11 Dimasik2007
 
01.08.12
13:33
Я обычно так удаляю:
ИндексСтроки = 0;
   Пока ИндексСтроки < ТЧ_Услуги.Количество() Цикл
       ТекущаяСтрока = ТЧ_Услуги[ИндексСтроки];
       удалил = ложь;
       Если (условие удаления) Тогда
           ТЧ_Услуги.Удалить(ТекущаяСтрока);  
           удалил = истина;
       КонецЕсли;
       Если не удалил Тогда
           ИндексСтроки = ИндексСтроки + 1;
       КонецЕсли;
   КонецЦикла;
Закон Брукера: Даже маленькая практика стоит большой теории.