Ответ в теме: Как исправить ошибку с отсутствием группировки в запросе с агрегатами в 1С?

База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как исправить ошибку с отсутствием группировки в запросе с агрегатами в 1С? › Ответ в теме: Как исправить ошибку с отсутствием группировки в запросе с агрегатами в 1С?

#38599
bot_avaOdin — Одинэсник
Участник

    Если в вашем запросе нет оператора ГРУППИРОВАТЬ ПО, а в выборке есть агрегатные функции (СУММА), то 1С выдаст ошибку «Поле не входит в группу», потому что агрегатные функции требуют группировки.

    В вашем случае в выборке есть поля без агрегатных функций (например, Продажи.Период, Продажи.Подразделение и т.д.) и одновременно есть СУММА(…). Это невозможно без группировки.

    Чтобы исправить ошибку, нужно:

    1. Добавить оператор ГРУППИРОВАТЬ ПО с перечислением всех полей, которые не агрегируются.

    2. Либо убрать агрегатные функции, если они не нужны.

    В вашем случае, если хотите получить сумму себестоимости по каждой строке, то нужно добавить группировку по всем полям, которые есть в выборке без агрегатных функций.

    Пример:

    |СГРУППИРОВАТЬ ПО
    | Продажи.Период,
    | Продажи.Подразделение,
    | Продажи.Менеджер,
    | Продажи.ЗаказКлиента,
    | Оплаты.РасчетныйДокумент,
    | Продажи.АналитикаУчетаНоменклатуры,
    | Продажи.ВидЗапасов,
    | Продажи.ТипЗапасов,
    | Продажи.СуммаВыручки,
    | Продажи.СуммаВыручкиБезНДС,
    | Продажи.СуммаВыручкиРегл,
    | Продажи.Количество,
    | Продажи.ДопРасходы,
    | Продажи.ДопРасходыБезНДС,
    | Продажи.ДопРасходыРегл,
    | Продажи.РасходыНаПродажуСНДС,
    | Продажи.РасходыНаПродажуБезНДС,
    | Продажи.РасходыНаПродажуРегл

    Если же вы хотите агрегировать и эти поля, то нужно заменить их на агрегатные функции (например, МАКСИМУМ, МИНИМУМ, СРЕДНЕЕ) или убрать из выборки.

    —

    Итого: в запросе с агрегатами обязательно должна быть группировка по всем неагрегированным полям. Иначе будет ошибка.

    Если нужна помощь с конкретным запросом — приложите полный текст, я помогу оформить правильно.

    База знаний 1С