В ощем что сделал я:
первое
для 6 формы в ТЗ
Если Форма6 = 1 Тогда
//переиначим колонку документ как номер документа и добавим ещё дату документа и добавим вид документа для сортировки по виду
ТЗПродаж =создатьОбъект("ТаблицаЗначений");
ТЗПродаж.НоваяКолонка("Фирма");
ТЗПродаж.НоваяКолонка("КодПродукции");
ТЗПродаж.НоваяКолонка("Производитель");
ТЗПродаж.НоваяКолонка("Получатель");
ТЗПродаж.НоваяКолонка("Документ");//СтавимДату изза памяти
ТЗПродаж.НоваяКолонка("ДокументНомер");//СтавимДату изза памяти
ТЗПродаж.НоваяКолонка("ВидДок");
ТЗПродаж.НоваяКолонка("Количество");
КонецЕсли;
//Для возвратов присвоим виддок=3 это важно для сортировки
Если Форма6 = 1 Тогда
ТЗПродаж.НоваяСтрока();
ТЗПродаж.Фирма=Запрос.Фирма;
ТЗПродаж.КодПродукции = КодПродукции;
ТЗПродаж.Производитель = Производитель;
ТЗПродаж.Получатель = Док.Контрагент;
ТЗПродаж.Документ = Док.ДатаДок;
ТзПродаж.ДокументНомер =Док.НомерДок;
ТЗПродаж.ВидДок=3;
ТЗПродаж.Количество = РасчитатьДалы((0-Запрос.КолПриход),НомЕмкость);
//конецесли
КонецЕсли;
//для реализаций виддок=2 опять сортировка
Если Форма6 = 1 Тогда
ТЗПродаж.НоваяСтрока();
ТЗПродаж.Фирма = Запрос.Фирма;
ТЗПродаж.КодПродукции = КодПродукции;
ТЗПродаж.Производитель = Производитель;
ТЗПродаж.Получатель = Док.Контрагент;
ТЗПродаж.Документ = Док.датаДок;
ТзПродаж.ДокументНомер =Док.НомерДок;
ТЗПродаж.ВидДок=2;
ТЗПродаж.Количество = РасчитатьДалы(Запрос.КолРасход,НомЕмкость);
КонецЕсли;
//свернем и отсортируем чтоб СНАЧАЛА шла поставка потом возврат,иначе ругается декларант
Если Форма6 = 1 Тогда
ТЗПродаж.Свернуть("Фирма,КодПродукции,Производитель,Получатель,ВидДок,Документ,ДокументНомер","Количество");
ТЗПродаж.Сортировать("Фирма,КодПродукции,Производитель,Получатель,ВидДок,Документ,ДокументНомер");
ТЗПродажОбщий =СоздатьОбъект("ТаблицаЗначений");
ТЗПродажОбщий.Загрузить(ТЗПродаж);
ТЗПродажОбщий.Свернуть("КодПродукции,Производитель,Получатель,ВидДок,Документ,ДокументНомер","Количество");
ТЗПродажОбщий.Сортировать("КодПродукции,Производитель,Получатель,ВидДок,Документ,ДокументНомер");
СформироватФорму6(ТЗПродажОбщий, ТЗПродаж);
ТЗПроизводители.УдалитьСтроки();
ТЗПродаж = "";
ТЗПродажОбщий = "";
КонецЕсли;
//И в сформироватформу6
перДатаДок = ТЗПродаж.Документ;
перномердок=ТЗПродаж.ДокументНомер
Показать
Этим добились чтоб в ТЗ не выгружались документы а значения из них, в результате пишется и хмл и формируется отчет и памяти уйма
Вдруг кому пригодится