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