Имя: Пароль:
1C
1С v8
Среднее значение процента в запросе в итоговой группировке
,
0 Asples
 
21.04.15
11:50
Есть простенький запрос к простенькому справочнику

ВЫБРАТЬ
    Реализация.ДокументПродажи     КАК ДокументПродажи,
    Реализация.Товар         КАК Товар,
    Реализация.Цена         КАК Цена,
    Реализация.Оплачено         КАК Оплачено,
    ВЫБОР
         КОГДА Реализация.Цена > 0
         ТОГДА 100 / Реализация.Цена * Реализация.Оплачено
         ИНАЧЕ 0
    КОНЕЦ КАК ПроцентОплаты
ИЗ
    Справочник.Реализация КАК Реализация
ИТОГИ
    СУММА(Цена),
    СУММА(Оплачено),
    СРЕДНЕЕ(ПроцентОплаты)
ПО
    ДокументПродажи


Который возвращает следующие данные

   ДокументПродажи         Цена          Оплачено   ПроцентОплаты
1) Документ1        1 000 050    1 000 002     52
2)       Товар1                   50            2      4
3)       Товар2            1 000 000    1 000 000    100

Строки 2 и 3 это детальные записи и процент считается верно
В строке 1 естественно взялся средний процент двух подчиненных строк, по задумке в строке 1 хотелось бы получить процент оплаты по группировке т.е. в данном случае это 99.9952
Каким нибудь образом можно получить такой результат в запросе?
1 Aswed
 
21.04.15
11:51
СКД?
2 Asples
 
21.04.15
11:52
(1) Нет
3 pessok
 
21.04.15
11:52
СРЕДНЕЕ (ВЫБОР КОГДА Товар ЕСТЬ NULL ТОГДА 0 ИНАЧЕ ПроцентОплаты)
4 Aswed
 
21.04.15
11:53
(2) Ну сделай через пакет запросов.
5 Ненавижу 1С
 
гуру
21.04.15
11:55
это что вообще:

ВЫБОР
         КОГДА Реализация.Цена > 0
         ТОГДА 100 / Реализация.Цена * Реализация.Оплачено
         ИНАЧЕ 0
    КОНЕЦ КАК ПроцентОплаты
ИЗ
    Справочник.Реализация КАК Реализация

странный процент
странный справочник
6 pessok
 
21.04.15
11:56
(5) вообще вызывает вопрос - почему это именно справочник :)
7 Asples
 
21.04.15
11:58
(6) (5) Просто накидал чтобы всю портянку запроса не выкладывать
(3) Не могу сообразить в каком месте это написать
8 Ненавижу 1С
 
гуру
21.04.15
12:00
(7) тем не менее, формула расчета процента кривая

а в итогах для расчета среднего пишут примерно так:

Сумма(Оплачено)/Сумма(Долг)*100 КАК ПроцентОплаты
9 pessok
 
21.04.15
12:01
(7) дело не в портянке. дело в том, что структура данных на первый взгляд кажется странной.
Писать в итогах. Сделать два поля - одно по деталям, второе по группировкам. Для детального оставить как есть, для группировочного написать как в (3). Ну и потом в макете подставить что надо в зависимости от типа группировки
10 Asples
 
21.04.15
12:11
То что нужно всем спасибо))