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