|
Вопрос с простейшим циклом |
☑ |
0
maptbln
30.08.18
✎
11:40
|
Есть следующий цикл
КоличествоСтрокФин = тпБюджетныеОперации.Количество()-1;
Для НС = 0 по КоличествоСтрокФин-1 Цикл
Для НС1 = 1 по КоличествоСтрокФин Цикл
Если тпБюджетныеОперации[НС][1] = тпБюджетныеОперации[НС1][1] и тпБюджетныеОперации[НС][2] = тпБюджетныеОперации[НС1][2] Тогда
тпБюджетныеОперации.Удалить(НС1);
КоличествоСтрокФин = тпБюджетныеОперации.Количество()-1;
КонецЕсли;
КонецЦикла;
КонецЦикла;
Но он вечно вылетает индексом за пределы массива и не удаляет в итоге то , что нужно
подскажите пожалуйста,как привести его в правильные вид
|
|
1
Волшебник
30.08.18
✎
11:41
|
удалять за пределами цикла
|
|
2
maptbln
30.08.18
✎
11:44
|
(1) сформировать массив для удаления потом его пройти , так что ли?
|
|
3
Волшебник
30.08.18
✎
11:44
|
(2) Да
|
|
4
Быдло замкадное
30.08.18
✎
11:45
|
обходить с зада вперед.
|
|
5
Buster007
30.08.18
✎
11:47
|
(4) +
|
|
6
maptbln
30.08.18
✎
12:04
|
КоличествоСтрокФин = тпБюджетныеОперации.Количество()-1;
МассивУдаления =Новый Массив();
Для НС = 0 по КоличествоСтрокФин-1 Цикл
Для НС1 = 1 по КоличествоСтрокФин Цикл
Если тпБюджетныеОперации[НС][1] = тпБюджетныеОперации[НС1][1] и тпБюджетныеОперации[НС][2] = тпБюджетныеОперации[НС1][2] Тогда
МассивУдаления.Добавить(тпБюджетныеОперации[НС1]);
КонецЕсли;
КонецЦикла;
КонецЦикла;
КЭМ = МассивУдаления.ВГраница();
сч = КоличествоСтрокФин;
Пока КЭМ >= 0 Цикл
Пока сч >= 0 Цикл
Если МассивУдаления[КЭМ] = тпБюджетныеОперации[сч] тогда
тпБюджетныеОперации.Удалить(сч);
КонецЕсли;
сч = сч-1;
КонецЦикла;
КЭМ = КЭМ-1;
КоличествоСтрок = тпБюджетныеОперации.Количество();
сч = КоличествоСтрокФин-1;
КонецЦикла;
и снова не попадаю
|
|
7
Рэйв
30.08.18
✎
12:09
|
(0)Для троля тебе следует открыть для себя...
Для Каждого..
|
|
8
maptbln
30.08.18
✎
12:30
|
(7) если б , а как можно при помощи для Каждого реализовать проверку моего условия?
|
|
9
Вафель
30.08.18
✎
12:30
|
гугли тему удаление строк в тз
|
|
10
Пуля
30.08.18
✎
12:36
|
Ты свернуть таблицу не пробовал?
|
|
11
maptbln
30.08.18
✎
12:38
|
(9) Понял, (10) нет пока
|
|