Вот стандартный:
ВремРегистры = СоздатьОбъект("Регистры");
ВремВСклад = ВремРегистры.ВСклад;
Если ИтогиАктуальны()=0 Тогда
ВремВСклад.ВременныйРасчет(1);
ВремРегистры.РассчитатьРегистрыНа(ТекущийДокумент());
КонецЕсли;
ВыбратьСтроки();
Пока ПолучитьСтроку()=1 Цикл
Партии.УстановитьЗначениеФильтра("Товар", Товар,1);
Партии.УстановитьЗначениеФильтра("Клиент", Клиент,1);
Партии.УстановитьЗначениеФильтра("Заявка",ДокументИсточник,1);
Партии.ВыгрузитьИтоги(ТаблИтогов,1,1);
"Тут алгоритм обхода полученной ТЗ"
КонецЦикла;
А вот мой:
ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл
ЗапросВСклад = СоздатьОбъект("ODBCRecordSet");
ТекстЗапросаВСклад = "
|SELECT
| Рег.Товар as [Товар $Справочник.Товары],
| Рег.Клиент as [Клиент $Справочник.Клиенты],
| Рег.Заявка as [Заявка $Документ],
| Рег.Счет as [Счет $Документ],
| Рег.БазоваяСтоимостьОстаток as БазоваяСтоимость,
| Рег.ОстатокТовараОстаток as ОстатокТовара
|FROM
| $РегистрОстатки.ВСклад(:ДатаРасчета~,,Товар = :Товар AND Клиент=:Клиент AND Заявка=:Заявка,(Товар,Клиент,Заявка,Счет), (БазоваяСтоимость,ОстатокТовара)) as Рег";
ЗапросВСклад.УстановитьТекстовыйПараметр("ДатаРасчета",ДатаРасчета);
ЗапросВСклад.УстановитьТекстовыйПараметр("Товар",Товар);
ЗапросВСклад.УстановитьТекстовыйПараметр("Клиент",Клиент);
ЗапросВСклад.УстановитьТекстовыйПараметр("Заявка",ДокументИсточник);
Попытка
ТаблИтогов = ЗапросВСклад.ВыполнитьИнструкцию(ТекстЗапросаВСклад);
Исключение
Сообщить(ЗапросВСклад.ПолучитьОписаниеОшибки());
КонецПопытки;
"Тут алгоритм обхода ТЗ"
КонецЦикла;