Есть такая процедура:
	Запрос=Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ
	|	РасчетПенсии.Контрагент,
	|	РасчетПенсии.Пенсия,
	|	НакопленияКонтрагентовОстатки.Контрагенты,
	|	НакопленияКонтрагентовОстатки.СуммаОстаток
	|ИЗ
	|	Документ.РасчетПенсии КАК РасчетПенсии,
	|	РегистрНакопления.НакопленияКонтрагентов.Остатки КАК НакопленияКонтрагентовОстатки ГДЕ Контрагенты=РасчетПенсии.Контрагент";
	Результат = Запрос.Выполнить().Выбрать();
	Выплаты.Очистить();
	Пока Результат.Следующий() > 0  Цикл
		Выплаты.Добавить();
		ЕСЛИ Результат.СуммаОстаток<Результат.Пенсия ТОГДА
			Выплаты.ЗаполнитьЗначения(Результат.Контрагент,"Контрагент");	
			Выплаты.ЗаполнитьЗначения(Результат.Пенсия,"КВыплате");
			Выплаты.ЗаполнитьЗначения(Результат.СуммаОстаток,"ОстатокСчета");
		Иначе	
			Выплаты.ЗаполнитьЗначения(Результат.Контрагент,"Контрагент");
			Выплаты.ЗаполнитьЗначения(Результат.Пенсия,"КВыплате");
			Выплаты.ЗаполнитьЗначения(Результат.СуммаОстаток,"ОстатокСчета");
		КонецЕсли;
	КонецЦикла;  
При ее выполнении в табличную часть добавляются несколько строк, но в каждую одно и то же значение последнего документа.
Подскажите как сделать чтобы в строках были все документы, а не один и тот же.
ЗЫ: и сразу вдогонку  

 программированием 1с занимаюсь третий день только, по этому почти ничего не знаю. Подскажите, пожалуйста, как-то можно оптимизировать эту процедуру? Больше чем уверен, что в данном виде при большом количестве контрагентов, все будет жутко тормозить 
