ГРУППИРУЮЩИМ НАБОРАМ в запросе 1С 8.3

Курс

ГРУППИРУЮЩИМ НАБОРАМ

Начиная с версии платформы 8.3.16 в языке запросов 1С можно использовать расширение ГРУППИРУЮЩИМ НАБОРАМ. Чтобы понять для чего оно предназначено рассмотрим небольшой пример.

Допустим в конфигурации есть документ ПродажаТоваров с реквизитам Организация, Покупатель и СуммаПродажи:

Документ ПродажаТоваров

И следующий состав документов:

Документ ПродажаТоваров

Нужно одним запросом получить общую сумму продажи по всем организациям (не важно кому продали) и общую сумму продажи по всем покупателям (не важно у кого купили). Если просто сгруппировать по полям Организация и Покупатель, то результат будет не совсем тот:

СГРУППИРОВАТЬ ПО

Для получения общей суммы продажи по каждой организации и по каждому контрагенту придется дополнительно обрабатывать результат запроса.

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

ОБЪЕДИНИТЬ ВСЕ

Мы получили желаемый результат, но запрос выглядит несколько громоздким. ГРУППИРУЮЩИМ НАБОРАМ позволяет уменьшить текст запроса и увеличить его читабельность:

ГРУППИРУЮЩИМ НАБОРАМ

Мы получили тот же результат, при этом уменьшив текст запроса почти вдвое. А также такой запрос является более производительным.

Можно использовать несколько полей в одном наборе:

ГРУППИРУЮЩИМ НАБОРАМ

Стоит отметить, что расширение ГРУППИРУЮЩИМ НАБОРАМ это аналог GROUPING SETS языка запросов SQL.

СГРУППИРОВАНОПО

Функция СГРУППИРОВАНОПО позволяет определить была ли по полю выполнена группировка:

СГРУППИРОВАНОПО

Подписывайтесь на группу ВКонтакте , где я публикую ссылки на новые статьи с данного сайта, а также интересные материалы с других ресурсов по программированию в 1С
Здесь может быть Ваша реклама
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

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