Имя: Пароль:
1C
1С v8
Как запросом выбрать только итоги?
0 bvn-2005
 
27.05.20
08:31
Как сделать так, чтобы в таблице результата остались только итоговые строки по сотрудникам? Запрос такой:
        ВЫБРАТЬ
            Начисления.ПериодРегистрации КАК ПериодРегистрации,
            Начисления.Регистратор КАК Регистратор,
            Начисления.ВидРасчета КАК ВидРасчета,
            Начисления.Сотрудник КАК Сотрудник,
            Начисления.Результат КАК Результат,
            Начисления.Месяц КАК Месяц
        ИЗ
            РегистрРасчета.Начисления КАК Начисления
        ГДЕ
            Начисления.ПериодРегистрации = &ПериодРегистрации
            И (Начисления.ВидРасчета.Код = &КодДН ИЛИ Начисления.ВидРасчета.Код = &КодЧС)
        УПОРЯДОЧИТЬ ПО
            Сотрудник.Наименование
        ИТОГИ
            СУММА(Результат)
        ПО
            Сотрудник
1 1Сергей
 
27.05.20
08:34
СГРУППИРОВАТЬ ПО заместо ИТОГИ
2 bvn-2005
 
27.05.20
09:35
Да, это уже понял...
Но в результате группировки получаются строки, где СУММА(Результат) равно 0. Как их исключить?
3 toypaul
 
гуру
27.05.20
09:37
имеющие СУММА(Результат) <> 0
4 Волшебник
 
модератор
27.05.20
09:38
(3) Это сработает только для групп, полученных СГРУППИРОВАТЬ ПО
5 mzelensky
 
27.05.20
10:18
(0) Если применяется пост обработка запроса, то через "ОбходРезультатаЗапроса.ПоГруппировкам" и как раз первым уровнем выборки будут итоги по "Сотрудник" с суммой по "Результат"
6 mzelensky
 
27.05.20
10:21
(0) Если пост обработки НЕТ, и тебе нужно на выходе только "Сотрудник" и "Результат" (при чем где результат НЕ равен 0), то так:

ВЫБРАТЬ

            Начисления.Сотрудник КАК Сотрудник,
            Сумма(Начисления.Результат) КАК Результат,

        ИЗ
            РегистрРасчета.Начисления КАК Начисления
        ГДЕ
            Начисления.ПериодРегистрации = &ПериодРегистрации
            И (Начисления.ВидРасчета.Код = &КодДН ИЛИ Начисления.ВидРасчета.Код = &КодЧС)
        Сгруппировать ПО Сотрудник
Имеющие Сумма(Начисления.Результат) <> 0