Имя: Пароль:
1C
1С v8
Удаление строк из ТЗ
0 tolok_d
 
17.10.12
15:59
Уважаемые, подскажите пожалуйста как выйти из ситуации. Имею часть кода
Для каждого Элем Из ТаблицаЗначенийЗапроса Цикл
Если ТаблицаЗначенийЗапроса.Наименование = "" Тогда
                    ТаблицаЗначенийЗапроса.Удалить(Элем);
                КонецЕсли;
КонецЦикла;
Так вот проблема в том, что когда элемент удаляется, как я понимаю, он не может обратится к следующему элементу, так как ТЗ здвинулось. Тоесть он то обращается, но через один. А как только удаляет предпоследний элемент. то пишет ошибку обращения.
1 IronDemon
 
17.10.12
16:00
МассивСтрокКУдалению = Новый Массив;

// сформируем массив строк для удаления
Для Каждого ТаблицаТЧСтрока Из ТаблицаТЧ Цикл
   // если строка с пустым количеством, то удалим
   Если ТаблицаТЧСтрока.Количество = 0 Тогда
       МассивСтрокКУдалению.Добавить(ТаблицаТЧСтрока);
   Иначе
   КонецЕсли;
КонецЦикла;

// удаляем собранные строки из тз
Для Каждого СтрокаКУдалению Из МассивСтрокКУдалению Цикл
   ТаблицаТЧ.Удалить(СтрокаКУдалению);
КонецЦикла;
2 Maxus43
 
17.10.12
16:00
с конца ТЗ иди в начало, или НайтиСтроки и метод Удалить у ТЗ
3 and2
 
17.10.12
16:00
специалист по платформе?

снизу перебирай таблицу.
или пиши строки в массив а потом из массива удаляй.
4 Happy Bear
 
17.10.12
16:01
(0) через НайтиСтроки сделай, или цикл со счетчиком
5 and2
 
17.10.12
16:02
кстати, наименование может и из пробелов состять....
6 tolok_d
 
17.10.12
16:04
(5) там вообще не наименование стоит) я заменил для того чтоб не загружать лишней инфой.
Всем спасибо за советы.
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.