ИТОГИ в запросе 1С 8.3

Для чего нужны итоги

Итоги позволяют получить некоторый итог в запросе без сворачивания детальных записей.

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

Итоги в запросе

Как мы видим, качество может быть трех видов: новый, ограниченно годен и не годен. Нам нужно подсчитать сколько есть позиций каждого качества, но без потери данных по наименованию и коду. То есть сгруппировать по качеству и подсчитать количество различных ссылок не получится.

Для решения данной задачи можно использовать итоги:

Итоги в запросе

В результат запроса добавились 3 новые записи (выделены зеленым цветом). По одной для каждого качества. Это и есть итоги. Причем в колонке «Код» для итоговых записей будет количество детальных записей, потому что именно такую функцию мы указали в тексте запроса: КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Код). Также мы не потеряли информацию по коду и наименованию для детальных записей.

Теперь мы можем сказать, что с качеством «Новый» 3 записи, с качеством «Не годен» 2 записи, с качеством «Ограниченно годен» 1 запись.

Синтаксис секции итогов

После ключевого слова ИТОГИ указываются итоговые поля, обычно для них применяется какая-нибудь агрегатная функция (сумма, количество, максимум, минимум, среднее). Таких полей может быть несколько, тогда они перечисляются через запятую. После ключевого слова ПО перечисляются поля, для которых нужно рассчитать итоги. Если их несколько, то тоже через запятую.

В итоговых полях можно использовать только те поля, которые есть в секции ВЫБРАТЬ. При этом не обязательное нужно использовать все поля. В секции ПО можно указать любое поле таблицы, даже если его нет в секции ВЫБРАТЬ.

Итоги рассчитываются платформой, а не средствами СУБД.

Итоги по нескольким полям

Для примера добавим в запрос итог по полю «Производитель»:

Итоги в запросе

Сначала были получены итоги по полю «Производитель» (выделены синим цветом), а потом внутри производителя итоги по качеству (выделены зеленым цветом).

Общие итоги

Если в секции ПО указать ключевое слово ОБЩИЕ, то будет добавлена еще одна строка с рассчитанными итогами для всех детальных записей:

Итоги в запросе

Первая строка — это общие итоги.

Иерархия итогов

Для примера выберем в запросе строки документов поступления:

Итоги в запросе

Теперь добавим иерархические итоги по полю Номенклатура. Для этого после группировочного поля нужно указать ключевое слово ИЕРАРХИЯ:

Итоги в запросе

Зеленым цветом выделены обычные итоги по номенклатуре, а синим иерархические. В результат запроса были добавлены группы номенклатуры, в которых находятся элементы номенклатуры из документов поступления:

Итоги в запросе

Если указать ТОЛЬКО ИЕРАРХИЯ, то в результате не будет обычных итогов, будут только иерархические итоги:

Итоги в запросе

Прочие операции с итогами

Если в запросе есть СГРУППИРОВАТЬ ПО и для итогов не указана агрегатная функция, то для итогов будет использована агрегатная функция группировок:

Итоги в запросе

В агрегатных функциях итогов можно использовать конструкцию ВЫБОР КОГДА … ТОГДА, произвольные выражения:

Итоги в запросе

Подписывайтесь на группу ВКонтакте , где я публикую ссылки на новые статьи с данного сайта, а также интересные материалы с других ресурсов по программированию в 1С
Понравилась статья? Поделиться с друзьями:
Используя этот сайт, Вы даете согласие на использование cookies. На данном этапе Вы можете отказаться от использования cookies, настроив необходимые параметры в своем браузере.
ok