_1склБаза.Открыть(":memory:");
тТхт="
|SELECT
| Остатки.Фирма [Фирма :Справочник.Фирмы]
| , Остатки.Товар [Товар: Справочник.ТМЦ]
| , Остатки.Склад [Склад :Справочник.МестаХранения]
| , Остатки.Контрагент [Контрагент :Справочник.Контрагенты]
| , Остатки.Продажа [Продажа :Документ]
| , Остатки.IDDOC [Докум :Документ]
| , Остатки.LINENO НомСтрДок
| , Остатки.DEBKRED ФлРасх
| , Sum(Остатки.ОстатокТовара) Кво
|FROM [Регистр.ТоварыНаХранении] Остатки
|WHERE
| Остатки.Фирма = @ВыбФирма
| AND Остатки.Товар = @ВыбТовар
| AND Остатки.Склад = @ВыбСклад
| AND Остатки.Контрагент = @ВыбКонтрагент
| AND Остатки.Продажа = @ВыбПродажа
|GROUP BY
| Остатки.Фирма
| , Остатки.Товар
| , Остатки.Склад
| , Остатки.Контрагент
| , Остатки.Продажа
| , Остатки.IDDOC
| , Остатки.LINENO
|ORDER BY
| Остатки.IDDOC
| , Остатки.LINENO";
_1склЗапросДокументы=_1склБаза.НовыйЗапрос()
_1склЗапросДокументы.Отладка(1);
_1склЗапросДокументы.Подготовить(тТхт);
//...
_1склЗапросДокументы.УстановитьПараметр("@ВыбФирма",тФирма);
_1склЗапросДокументы.УстановитьПараметр("@ВыбТовар",тТовар);
_1склЗапросДокументы.УстановитьПараметр("@ВыбСклад",тСклад);
_1склЗапросДокументы.УстановитьПараметр("@ВыбКонтрагент",тКонтрагент);
_1склЗапросДокументы.УстановитьПараметр("@ВыбПродажа",тПродажа);
тЗапросТЗ=_1склЗапросДокументы.Выполнить();
Сообщить(""+тЗапросТЗ.КоличествоСтрок(),".");
тупо ноль.
значения в параметры фильтры безутся из "штатного" запроса к тому же регистру по остаткам (сиречь все это комплект измерений, по которому имеются остатки, взятый из того же регистра).
где я ступил???
ЗЫ: сходил в регистр, увидел, что измерение для "Продажа" кодируется в длину 13 - воткнул модификатор в установку параметра:
_1склЗапросДокументы.УстановитьПараметр("@ВыбПродажа",тПродажа,1);
Стало выдавать ТЗ с единственной строкой, в которой в колонке "Докум" сидит пустой документ (не установленного вида)...
блинство.
ЗЗЫ: вопрос снят добавкой IDDOCDEF Докум_вид в SELECT. теперь бы ускорить... ну да ладно.