Здравствуйте, помогите пожалуйста
как удалить строку в табличной части с обработкой

Сделал такую обработку
Команда 1 выполняет
заполнение табл/ч строк которые нужно удалить

```1c
    Результат = Запрос.Выполнить();

    ВыборкаДетальныеЗаписи = Результат.Выбрать();

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    НоваяСтрока = Данные.Добавить();
    НоваяСтрока.СсылкаНаБП = ВыборкаДетальныеЗаписи.СсылкаНаБП;
    НоваяСтрока.СсылкаНаДокумент = ВыборкаДетальныеЗаписи.СсылкаТТН;
    НоваяСтрока.ДокументПлатежка = ВыборкаДетальныеЗаписи.ПлатежкаДокумент;
    НоваяСтрока.Сумма = ВыборкаДетальныеЗаписи.Сумма;
    КонецЦикла;

    Команда 2 удаляю у документа строку которая нужно удалить
    Для каждого Строка Из Данные Цикл
    ДокОбъект = Строка.СсылкаНаДокумент.ПолучитьОбъект();
    СтрокаТабличнойЧасти = ДокОбъект.ТранспортныеУслуги.Получить(Строка.СсылкаНаБП);
    УдалитьСтрокуТабл = ДокОбъект.ТранспортныеУслуги.Удалить(СтрокаТабличнойЧасти);

    ДокОбъект.ОбменДанными.Загрузка = Истина;
    //ДокОбъект.Записать();
    КонецЦикла;
```
---
```1c
    Для каждого Строка Из Данные Цикл
    ДокОбъект = Строка.СсылкаНаДокумент.ПолучитьОбъект();
    СтрокиТЧ = ДокОбъект.ТранспортныеУслуги.НайтиСтроки(Новый Структура("ПолеТЧ_СоСсылкой", Строка.СсылкаНаБП));
    Для каждого СтрокаТЧ из СтрокиТЧ Цикл
    ИндексСтроки = ДокОбъект.ТранспортныеУслуги.Индекс(СтрокаТЧ);
    ДокОбъект.ТранспортныеУслуги.Удалить(ИндексСтроки);
    // Или ДокОбъект.ТранспортныеУслуги.Удалить(ДокОбъект.ТранспортныеУслуги.Индекс(СтрокаТЧ));
    КонецЦикла;

    ДокОбъект.ОбменДанными.Загрузка = Истина;
    //ДокОбъект.Записать();
    КонецЦикла;
```

Или

```1c
    Для каждого Строка Из Данные Цикл
    ДокОбъект = Строка.СсылкаНаДокумент.ПолучитьОбъект();

    Запрос = Новый Запрос("ВЫБРАТЬ * ИЗ Документ.ТТН.ТранспортныеУслуги КАК тчТранспортныеУслуги ГДЕ тчТранспортныеУслуги.Ссылка = &СсылкаТТН И тчТранспортныеУслуги.ПолеТЧ_СоСсылкой <> &СсылкаНаБП) УПОРЯДОЧИТЬ ПО тчТранспортныеУслуги.НомерСтроки");
    Запрос.УстановитьПараметр("СсылкаТТН ", Строка.СсылкаНаДокумент);
    Запрос.УстановитьПараметр("СсылкаНаБП", Строка.СсылкаНаБП);
    ДокОбъект.ТранспортныеУслуги.Загрузить(Запрос.Выполнить().Выгрузить());

    ДокОбъект.ОбменДанными.Загрузка = Истина;
    //ДокОбъект.Записать();
    КонецЦикла;
```

НО! Если в ВыборкаДетальныеЗаписи повторяются значения СсылкаТТН, то лучше оптимизировать, чтобы удалить все (не)нужные строки за одно обращение к объекту, а не "дёргать" объект документа по каждому значению.
---
```1c
    Для каждого Строка Из Данные Цикл
    ДокОбъект = Строка.СсылкаНаДокумент.ПолучитьОбъект();
    СтрокиТЧ = ДокОбъект.ТранспортныеУслуги.НайтиСтроки(Новый Структура("ПолеТЧ_СоСсылкой", Строка.СсылкаНаБП));
    Для каждого СтрокаТЧ из СтрокиТЧ Цикл
    ИндексСтроки = ДокОбъект.ТранспортныеУслуги.Индекс(СтрокаТЧ);
    ДокОбъект.ТранспортныеУслуги.Удалить(ИндексСтроки);
    // Или ДокОбъект.ТранспортныеУслуги.Удалить(ДокОбъект.ТранспортныеУслуги.Индекс(СтрокаТЧ));
    КонецЦикла;

    ДокОбъект.ОбменДанными.Загрузка = Истина;
    //ДокОбъект.Записать();
    КонецЦикла;
```

Или

```1c
    Для каждого Строка Из Данные Цикл
    ДокОбъект = Строка.СсылкаНаДокумент.ПолучитьОбъект();

    Запрос = Новый Запрос("ВЫБРАТЬ * ИЗ Документ.ТТН.ТранспортныеУслуги КАК тчТранспортныеУслуги ГДЕ тчТранспортныеУслуги.Ссылка = &СсылкаТТН И тчТранспортныеУслуги.ПолеТЧ_СоСсылкой <> &СсылкаНаБП) УПОРЯДОЧИТЬ ПО тчТранспортныеУслуги.НомерСтроки");
    Запрос.УстановитьПараметр("СсылкаТТН ", Строка.СсылкаНаДокумент);
    Запрос.УстановитьПараметр("СсылкаНаБП", Строка.СсылкаНаБП);
    ДокОбъект.ТранспортныеУслуги.Загрузить(Запрос.Выполнить().Выгрузить());

    ДокОбъект.ОбменДанными.Загрузка = Истина;
    //ДокОбъект.Записать();
    КонецЦикла;
```

НО! Если в ВыборкаДетальныеЗаписи повторяются значения СсылкаТТН, то лучше оптимизировать, чтобы удалить все (не)нужные строки за одно обращение к объекту, а не "дёргать" объект документа по каждому значению.
---
Спасибо за помощь)
---
Строка.СсылкаНаБП - что там? Ссылка? Вот поэтому и не работает.
---
Да, там ссылка была
Получается какой параметр мне туда нужно передавать?
---
Правильный надо передавать. Для этого есть документация и СП.
---
Удаляет текущую строку из ТЧ "Данные"
```1c
    &НаКлиенте
    Процедура УдалитьСтрокуТЧДанные(Команда)
    Объект.Данные.Удалить(Элементы.Данные.ТекущаяСтрока);
    КонецПроцедуры
```
---
В том то и дело, что автору не нужно удалить текущую строку, ему нужно удалить строки с определенными ссылками.
Т.е. нужно найти строки по ссылкам и получить индекс для каждой, а потом удалять.
Либо запросом выбрать строки ТЧ со всеми полями без этих ссылок, загрузить результат в эту ТЧ.