Чтобы удалить строки из табличной части по отбору нужно использовать след алгоритм
Для начала нужно собрать все удаляемые строки в массив:
Для начала нужно собрать все удаляемые строки в массив:
МассивБитыхТегов = Новый Массив;Затем сортируем массив по убыванию для корректного удаления:
Для Каждого СТР Из Объект.Теги Цикл
Если НЕ ЗначениеЗаполнено(СТР.Тег) Тогда
МассивБитыхТегов.Добавить(СТР.ИсходныйНомерСтроки-1);
КонецЕсли;
КонецЦикла;
// Отсортировать элементы в массивеИ удаляем объекты в цикле:
СписокЗначений = Новый СписокЗначений;
СписокЗначений.ЗагрузитьЗначения(МассивБитыхТегов);
СписокЗначений.СортироватьПоЗначению(НаправлениеСортировки.Убыв);
МассивБитыхТегов = СписокЗначений.ВыгрузитьЗначения();
Для Каждого Элемент Из МассивБитыхТегов ЦиклОбщий листинг:
Объект.Теги.Удалить(Элемент);
КонецЦикла;
МассивБитыхТегов = Новый Массив;
Для Каждого СТР Из Объект.Теги Цикл
Если НЕ ЗначениеЗаполнено(СТР.Тег) Тогда
МассивБитыхТегов.Добавить(СТР.ИсходныйНомерСтроки-1);
КонецЕсли;
КонецЦикла;
// Отсортировать элементы в массиве
СписокЗначений = Новый СписокЗначений;
СписокЗначений.ЗагрузитьЗначения(МассивБитыхТегов);
СписокЗначений.СортироватьПоЗначению(НаправлениеСортировки.Убыв);
МассивБитыхТегов = СписокЗначений.ВыгрузитьЗначения();
Для Каждого Элемент Из МассивБитыхТегов Цикл
Объект.Теги.Удалить(Элемент);
КонецЦикла;
Комментариев нет:
Отправить комментарий