Регистр остатков (Быстрая обработка движений- нет) идентификатор - Партии, Измерения - Фирма (Справочник.Фирмы), Счет (Счет.Основной), МестоХранения (Справочник), ТМЦ (Справочник.ТМЦ), Поставщик(Справочник.Контрагенты), Поставка(Документ), ПрихДокумент(Документ).
Ресурсы - ОстатокТовара(Число), Стоимость(Число), ПродСтоимость(Число).
Реквизиты - КодОперации(Строка).
Документ ПриходныйОрдер - Реквизиты шапки - МестоХранения(Правочник.МестаХранения), Реквизиты табличной части - ТМЦ(Справочник.ТМЦ), МВЗ(Справочник.МВЗ).
Было реализовано вот так:
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(СформироватьТЗПартий)
|с КонПериода по КонПериода;
|Без итогов;
|МестоХранения = Регистр.Партии.МестоХранения;
|ТМЦ = Регистр.Партии.ТМЦ;
|ПрихДокумент = Регистр.Партии.ПрихДокумент;
|ОстатокТовара = Регистр.Партии.ОстатокТовара;
|Стоимость = Регистр.Партии.Стоимость;
|ТекущийДокумент = Регистр.Партии.ТекущийДокумент;
|Функция ОТ_КонОст = КонОст(ОстатокТовара);
|Функция С_КонОст = КонОст(Стоимость);
|Группировка МестоХранения Без Групп;
|Группировка ТМЦ Без Групп;
|Группировка ПрихДокумент;
|";
Если ПустоеЗначение(ВыбМестоХранения) = 1 Тогда
ТекстЗапроса=ТекстЗапроса+ "Условие (МестоХранения в СЗ);
|";
Иначе
Если ВыбМестоХранения.ЭтоГруппа()=1 Тогда
ТекстЗапроса=ТекстЗапроса+ "Условие(МестоХранения В ВыбМестоХранения);
|";
Иначе
ТекстЗапроса=ТекстЗапроса+ "Условие(МестоХранения = ВыбМестоХранения);
|";
КонецЕсли;
КонецЕсли;
Потом выгражала список партий с этого запроса и уже искала нужные документы:
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(СформироватьТЗПартий)
|с (КонПериода-2000) по КонПериода;
|Без итогов;
|Док = мент;
|МестоХранения = нения;
|ТМЦ = Документ.ПриходныйОрдер.ТМЦ,Документ.АктОприходованияТМЦ.ТМЦ;
|МВЗ = Документ.ПриходныйОрдер.МВЗ,Документ.АктОприходованияТМЦ.МВЗ;
|Кво = Документ.ПриходныйОрдер.Кво,Документ.АктОприходованияТМЦ.Кво;
|Группировка МестоХранения Без Групп;
|Группировка ТМЦ Без Групп;
|Группировка Док;
|Группировка МВЗ Без Групп;
|Группировка СтрокаДокумента;
|Условие (Док в Партии);
|";
Если ПустоеЗначение(ВыбПоступленияИздержки) = 0 Тогда
ТекстЗапроса=ТекстЗапроса+ "Условие(СтатьяБДДС = ВыбПоступленияИздержки);
|";
КонецЕсли;
Еще проблема бывает что в приходном ордере в табл. части две одинаковые ТМЦ с разными МВЗ, тогда в одну строку записывала два МВЗ. Запустив отчет поиска по всем партиям нужного МВЗ можна было уходить на пол часа, а МВЗ у нас штук 30