//Ну типа того ... Хотя размыта задача ...
//Как понял так и зробыв

//Это вариант по всем документам которые есть в базе
Процедура ДобавитьТоварВСписок()
Перем ТипФормы;
Меню = СоздатьОбъект("СписокЗначений");
Меню.ДобавитьЗначение(1,"По справочнику");
Меню.ДобавитьЗначение(2,"По документам");
Если Меню.ВыбратьЗначение(ТипФормы,"",,,1) <> 1 Тогда
Возврат;
КонецЕсли;
Если ТипФормы=1 Тогда
Спр=СоздатьОбъект ("Справочник.Номенклатура");
Спр.ВыборГруппы(1);
Если Спр.Выбрать("Добавить товар", "ФормаСписка")=1 Тогда;
//Сообщить("Количество строк в табл: "+ВыбТабл.КоличествоСтрок());
Если Спр.ЭтоГруппа()=1 Тогда
Спр.ИспользоватьРодителя(Спр.ТекущийЭлемент(),1);
Спр.ВыбратьЭлементы();
Пока (Спр.ПолучитьЭлемент()=1) Цикл
Если (ВыбТабл.НайтиЗначение(Спр.ТекущийЭлемент(),,Товар)=0) и (Спр.ЭтоГруппа()=0) Тогда
ВыбТабл.НоваяСтрока();
ВыбТабл.Товар=Спр.ТекущийЭлемент();
ВыбТабл.Наименование=Спр.ТекущийЭлемент();
//Сообщить("Товар: "+Спр.ТекущийЭлемент()+" Скидка: "+Спр.ТекущийЭлемент().Скидка.Получить(ТекущаяДата()));
КонецЕсли;
КонецЦикла;
Иначе
Если (ВыбТабл.НайтиЗначение(Спр.ТекущийЭлемент(),,Товар)=0) и (Спр.ЭтоГруппа()=0) Тогда
ВыбТабл.НоваяСтрока();
ВыбТабл.Товар=Спр.ТекущийЭлемент();
ВыбТабл.Наименование=Спр.ТекущийЭлемент();
//Сообщить("Товар: "+Спр.ТекущийЭлемент()+" Скидка: "+Спр.ТекущийЭлемент().Скидка.Получить(ТекущаяДата()));
КонецЕсли;
КонецЕсли;
КонецЕсли;
Спр=0;
Иначе
СпДок = СоздатьОбъект("СписокЗначений");
СпДок.ДобавитьЗначение("Перемещение");
СпДок.ДобавитьЗначение("Приходнаянакладная");//добавить идент. необходимых еще доков
Если ВыбТабл.КоличествоСтрок()>0 Тогда
ВыбТабл.УдалитьСтроки();
КонецЕсли;
ТабЗн = СоздатьОбъект("ТаблицаЗначений");
ТабЗн.НоваяКолонка("Товар");
Для А=1 По СпДок.РазмерСписка() Цикл
Док = СоздатьОбъект("Документ."+СпДок.ПолучитьЗначение(А));
Док.УстановитьФильтр(1,0);
Док.ВыбратьДокументы();// ВыбратьДокументы(<Дата1>,<Дата2>) даты надо или нет?
Пока Док.ПолучитьДокумент()=1 Цикл
Док.ВыбратьСтроки();
Пока Док.ПолучитьСтроку()=1 Цикл
ТабЗн.НоваяСтрока();
ТабЗн.Товар=Док.ТМЦ;
КонецЦикла;
КонецЦикла;
КонецЦикла;
ТабЗн.Свернуть("Товар","");
ТабЗн.Выгрузить(ВыбТабл);
КонецЕсли;
КонецПроцедуры
//если это торговля тогда помоему ТабЗн.Товар=Док.Товар; надо смотреть как ревизиты таб части обзываются
//ограничить датами бо если много документов долго будет.
// вообщем поставь задачу более четко.