Всем доброго дня. Сразу скажу, что обратиться за помощью решил далеко не сразу, до этого долго курил faq'и и доки
. Результат не очень утешительный
. Так вот, не могли бы подсказать, в каком направлении думать при решении следующей задачи: необходимо переделать обычный 1С-овский запрос в прямой. Вот, собвтенно, сам запрос:
"|Период с ДатаС по ДатаПо
|Поставщик = Регистр.ОстаткиТоваров.Партия.Клиент;
|Склад = Регистр.ОстаткиТоваров.Партия.Склад;
|БазСто = Регистр.ОстаткиТоваров.БазоваяСтоимость;
|РасхСто = Регистр.ОстаткиТоваров.РасходнаяСтоимость;
|ТекДок = Регистр.ОстаткиТоваров.ТекущийДокумент;
|Функция ПриходБазовый = Расход(БазСто);
|Функция РасходПолный = Расход(РасхСто);
|Группировка Поставщик упорядочить по Поставщик.Наименование без групп;
|Группировка ТекДок;
|Условие (ТекДок.Вид()=""ЗакрытиеСмены"");"
Сразу же загвоздка у меня возникла: "Клиент" не является измерением регистра "ОстаткиТоваров", соответственно непонятно, как включить его в выборку в прямом запросе. В итоге получился у меня такой запрос:
"
|SELECT DISTINCT $ОстаткиТоваров.Партия [Партия $Документ.ПриходнаяКредит]
| , SUM($ОстаткиТоваров.БазоваяСтоимость) БазоваяСтоимость
| , SUM($ОстаткиТоваров.РасходняСтоимость) РасходнаяСтоимость
|FROM $Регистр.ОстаткиТоваров AS ОстаткиТоваров
|GROUP BY $ОстаткиТоваров.Партия WITH ROLLUP";
который, естественно, даже близко не дает нужных результатов. Но даже этот запрос отрабатывает как-то странно: по некоторым группам "ОстаткиТоваров.Партия" (т. е. партиям, коими являются приходные накладные) значения "БазоваяСтоимость" и "РасходнаяСтоимость" оказываются задвоенными без видимых на то причин
.
Даже не знаю, какой конкретно помощи просить
, но буду рад любой