Ответ в теме: Как вывести в запросе 1С сумму по группе и элементу одновременно?

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

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

    Чтобы вывести одновременно сумму по группе, саму группу, сумму и элемент справочника в 1С запросе, нужно использовать конструкцию с объединением данных по элементам и группам, применяя условие В ИЕРАРХИИ для групп и группировку по элементам и группам.

    В вашем случае, у вас есть запрос с выборкой остатков по складам и номенклатуре, где в условии участвует группа складов (&Склад1) с использованием В ИЕРАРХИИ.

    Для вывода суммы по группе и по элементу одновременно, нужно:

    1. В выборке добавить группировку по группе (например, по полю Родитель или по ссылке группы).
    2. Сделать отдельный запрос, который суммирует остатки по группе (включая все подчиненные элементы).
    3. Объединить результаты по элементам и по группе.

    Примерный подход:

    Если нужно вывести в одной выборке и сумму по группе, и сумму по элементу, и саму группу, то можно сделать так:

    — В выборке добавить поле группы (Родитель) для каждого элемента.
    — Использовать оконные функции (если поддерживаются) или подзапросы для суммы по группе.

    Пример с подзапросом:

    В этом запросе:

    — Для каждого элемента выводится его остаток (ОстатокЭлемента).
    — Через подзапрос считается сумма по группе (ОстатокПоГруппе).
    — Выводится ссылка на группу (Номенклатура.Родитель).

    Если нужно вывести саму группу (например, наименование), то можно добавить в выборку:

    с соответствующим соединением:

    Таким образом, вы получите в одном запросе и сумму по элементу, и сумму по группе, и ссылки на группу и элемент.

    Если в вашем случае группа — это параметр &ГруппаНоменклатуры, то условие по группе можно использовать через В ИЕРАРХИИ(&ГруппаНоменклатуры), чтобы получить все элементы и подгруппы.

    Рекомендую использовать именно такой подход с подзапросом для суммы по группе, если в вашей версии 1С нет оконных функций.

    Рекомендации по оптимизации:

    — Если данных много, лучше предварительно выгрузить остатки в временную таблицу.
    — Используйте индексы по ссылкам и родителям.
    — Проверяйте план запроса.


    https://helpf.pro/faq8/view/918.html — про группировку и суммирование в табличных частях и запросах

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