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