Имя: Пароль:
1C
1С v8
Суммирование ресурса из вложенного запроса - не работает
0 badboychik
 
30.03.12
08:58
Не пойму в чем дело, почему в СКД не работает а в консоли запросов работает.

Запрос из двух частей - вся суть в последнем поле временной таблицы - для каждого документа в него ставится единица
А потом в основном запросе всё группируется по другим полям кроме регистратора и получается сумма этого поля - число документов

Так вот в консоли запросов все как надо суммируется, а в СКД всегда в результате получается 1 вместо суммы по группировкам,
Хотя сумма количества нормально считается

ВЫБРАТЬ
   Регистр.ТорговаяТочка.Маршрут.Направление КАК Маршрут,
   Регистр.Номенклатура.Родитель.ВидСклада КАК ВидСклада,
   Регистр.Регистратор,
   СУММА(Регистр.КоличествоКгОборот) КАК КолвоКГ,
   1 КАК ЕстьВидСклада
ПОМЕСТИТЬ Данные
ИЗ
   РегистрНакопления.***.Обороты(, , Регистратор, ПриходРасход = &Приход) КАК Регистр
СГРУППИРОВАТЬ ПО
   Регистр.ТорговаяТочка.Маршрут.Направление,
   Регистр.Регистратор,
   Регистр.Номенклатура.Родитель.ВидСклада
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   Данные.Маршрут КАК Маршрут,
   Данные.ВидСклада КАК ВидСклада,
   Данные.КолвоКГ КАК КолвоКГ,
   Данные.ЕстьВидСклада КАК Заявок // <<<< НЕ СУММИРУЕТСЯ КАК РЕСУРС!
ИЗ
   Данные КАК Данные
1 Ненавижу 1С
 
гуру
30.03.12
09:00
(0) а оно должно само суммировать?
2 GLazNik
 
30.03.12
09:01
(0) Добавь ВЫРАЗИТЬ
3 Мыш
 
30.03.12
09:27
СУММА(1) КАК ЕстьВидСклада
4 badboychik
 
30.03.12
09:38
СУММА(1) - нет, тогда выводится число строк в документе, а надо просто цифру 1. Суммироваться она должна во внешнем запросе а не во вложенном
5 badboychik
 
30.03.12
09:39
http://savepic.net/2625656.png

в консоли правильно все
6 badboychik
 
30.03.12
12:04
Поборол!!

Оказалось, что временная таблица не обязательна вообще, просто надо указать что "Регистратор" это обязательное измерение (Точку "Измерение" можно и не ставить) и теперь по нему будет группировка и суммирование даже если в варианте отчета нет группировки "Регистратор"

теперь запрос выглядит так

ВЫБРАТЬ
   Регистр.ТорговаяТочка.Маршрут.Направление КАК Маршрут,
   Регистр.Номенклатура.Родитель.ВидСклада КАК ВидСклада,
   Регистр.Регистратор,
   СУММА(Регистр.КоличествоКгОборот) КАК КолвоКГ,
   1 КАК КоличествоДокументов
ИЗ
   РегистрНакопления.ЗаказыПокупателей.Обороты(, , Регистратор, ПриходРасход = &Приход) КАК Регистр
ГДЕ
   Регистр.Номенклатура.Родитель.ВидСклада В(&ВидыСклада)  
СГРУППИРОВАТЬ ПО
   Регистр.ТорговаяТочка.Маршрут.Направление,
   Регистр.Регистратор,
   Регистр.Номенклатура.Родитель.ВидСклада