Привет всем!
У меня опять вопрос ерундовый. У которого наверно опять решение это .... целая проблема.
Опять как обычно.. сделать ерунду сложно, а не наоборот.
Вопрос в чем... нужно удалить строки табличной части в которых булевый "реквизит2" имеет значение ЛОЖЬ.
Ну никак это не удаеться блин.. эта опять ерунда.
Потому, что наверно команда: Объект.ТабличнаяЧасть1.Удалить(ТекСтрокаИдент); удаляет по номеру строки, а не по идентификатору.
Поэтому в цикл удаляет не все поля имеющие на пример значение реквизита: "Реквизит2": ложь.... кое что оставляет и не удаляет.
Как быть? Блиин! Опять вынужден выходить на форум из ерундового вопроса.
Думал можно в цикле удалять так:
Сторка.Удалить();
Но где такое счастье, что бы можно было такой легкой командой удалить. И не париться с номером строки.. идентификатором и т.д.
&НаКлиенте
Процедура ТЧ_УдалитьУказанныеСтроки()
Для Каждого Сторка из Объект.ТабличнаяЧасть1 цикл
ТекСтрокаНомер=Сторка.НомерСтроки;
ТекСтрокаИдент=Сторка.ПолучитьИдентификатор();
Сообщить(""+ТекСтрокаНомер+" -- "+ТекСтрокаИдент);
//------------------------------------------------
Если Сторка.Реквизит2=ложь Тогда
//Сторка.Удалить(); // ну такой команды конечно нет ... естественно
Объект.ТабличнаяЧасть1.Удалить(ТекСтрокаИдент); // не все удаляет .. пропускает не удалив
КонецЕсли;
//------------------------------------------------
КонецЦикла;
КонецПроцедуры
Как быть?
Может в таком случае нужно удалять по идентификатору?
И как это сделать?
Буду признателен!