1С Предприятие 8.0. Описание встроенного языка

Объединение запросов


В языке запросов имеется возможность объединять несколько запросов; при этом записи, полученные с помощью каждого из объединяемых запросов, будут собраны в один результат запроса.

При объединении каждый запрос собирает данные независимо, а такие операции, как дополнение результатов, упорядочивание ре­зультатов и расчет итогов выполняются уже над результатом объ­единения запросов.

Поля результата запроса будут называться так, как описано в списке полей выборки первого из объединяемых запросов. Поля выборки остальных запросов сопоставляются с полями результата в соответствии с порядком их следования в списке полей выборки. Объединяемые запросы должны иметь одинаковое количество полей в списке полей выборки.

Если поля выборки объединяемых запросов имеют разный тип, то поля результата запроса будут иметь составной тип.

Объединение запросов описывается по следующему правилу:

<Объединение запросов>

ОБЪЕДИНИТЬ [ВСЕ] <Описание запроса>

[<Объединение запросов>]

Объединение запросов начинается с обязательного ключевого слова ОБЪЕДИНИТЬ, после которого следует описание присоеди­няемого запроса. Далее может присоединяться еще один запрос и т.д.

По умолчанию при объединении запросов полностью одинаковые строки в результате запроса, сформированные разными запроса­ми, заменяются одной. Если требуется, чтобы были оставлены разные строки, необходимо указать ключевое слово ВСЕ.

Пример:

Выбрать

    Накладная.Контрагент,



    Накладная.Номенклатура,

    Сумма(Накладная.Количество) Как Приход,

    Сумма(0) Как Расход

Из

    Документ.ПриходнаяНакладная.Состав Накладная

Сгруппировать По

    Контрагент,

    Номенклатура

Объединить Все

Выбрать

    Накладная.Контрагент,

    Накладная.Номенклатура,

    Сумма (0) ,

    Сумма (Накладная.Количество)

Из

    Документ.РасходнаяНакладная.Состав Накладная




Сгруппировать По

    Контрагент,

    Номенклатура

Упорядочить По

    Контрагент,

    Номенклатура

Итоги По

    Контрагент

Итоги Общие

Результат запроса:

Контрагент Номенклатура Приход Расход
    1 943 151
Трикотажная фабрика «Заря»   443 4
Трикотажная фабрика «Заря» Брюки детские   3
Трикотажная фабрика «Заря» Брюки детские 100  
Трикотажная фабрика «Заря» Рубашка «Ковбойка» 200  
Трикотажная фабрика «Заря» Джинсы женские   1
Трикотажная фабрика «Заря» Джинсы женские 80  
Трикотажная фабрика «Заря» Свитер детский 60  
Трикотажная фабрика «Заря» Кухонный комбайн Крупc 3  
Ярмарка одежды     42
Ярмарка одежды     20
Ярмарка одежды     20
Ярмарка одежды     2
Торговый дом «Буденовский»     53
Торговый дом «Буденовский» Брюки детские   10
Торговый дом «Буденовский» Рубашка «Ковбойка»   5
Торговый дом «Буденовский» Джинсы женские   12
Торговый дом «Буденовский» Свитер детский   1
Торговый дом «Буденовский» Раковина «Лилия»   8
Торговый дом «Буденовский» Мойдодыр «Аквариум»   5
Торговый дом «Буденовский» Смеситель «Ультра»   10
Торговый дом «Буденовский» Кухонный комбайн Крупc   2
Павильон 45 на оптовом рынке     44
Павильон 45 на оптовом рынке Рубашка «Ковбойка»   5
Павильон 45 на оптовом рынке Джинсы женские   9
Павильон 45 на оптовом рынке Раковина «Лилия»   10
Павильон 45 на оптовом рынке Мойдодыр «Аквариум»   20
Бавария-фарфор   1 500 8
Бавария-фарфор Брюки детские   7
Бавария-фарфор Джинсы женские   1
Бавария-фарфор Раковина «Лилия» 270  
Бавария-фарфор Мойдодыр «Аквариум» 230  
Бавария-фарфор Смеситель «Ультра» 1 000  

Содержание раздела