Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Меркулова_Пособие_РазработкаУправляемыхПриложен...doc
Скачиваний:
15
Добавлен:
01.07.2025
Размер:
18 Мб
Скачать
☆

6.2.4. Многомерное и многоуровневое формирование итогов

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

Выбрать

РеализацияТоваров.Номенклатура как Номенклатура,

Сумма(РеализацияТоваров.Количество) как количество,

РеализацияТоваров.Цена,

Сумма(РеализацияТоваров.Сумма) как Сумма

Из

Документ. РеализацияТоваровИУслуг.Товары как РеализацияТоваров

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

РеализацияТоваров.Номенклатура как Номенклатура,

РеализацияТоваров.Цена,

Итоги

Сумма(Количество),

Сумма(Сумма)

По

Общие,

Номенклатура иерархия

6.2.5. Поддержка виртуальных таблиц

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

6.2.6. Стандартные sql операции

В языке запросов поддерживаются стандартные для SQL операции, такие, как объединение (Union), соединение (Join) и т.д. Рассмотрим несколько примеров.

Пример 1.

Выбрать

СвободныеОстатки.Свободно,

Номенклатура.Наименование

Из

РегистрНакопления.СвободныеОстатки как СвободныеОстатки

Внутреннее соединение Справочсник.Номенклатура как Номенклатура

По СвободныеОстатки.Номенклатура = Номенклатура.Ссылка

Пример 2.

Выбрать

СвободныеОстатки.Свободно,

Номенклатура.Наименование

Из

РегистрНакопления.СвободныеОстатки как СвободныеОстатки

Левое соединение Справочсник.Номенклатура как Номенклатура

По СвободныеОстатки.Номенклатура = Номенклатура.Ссылка

Пример 3.

ВЫБРАТЬ

НаклСостав.Номенклатура,

НаклСостав.Цена КАК Цена

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

где НаклСостав.Ссылка.Дата МЕЖДУ &НачДата И &КонДата

ОБЪЕДИНИТЬ

ВЫБРАТЬ

НаклСостав.Номенклатура,

НаклСостав.Цена

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

ГДЕ НаклСостав.Ссылка,Дата МЕЖДУ &НачДата И &КонДата

6.2.7. Операции выбора в языке запросов (ВЫБОР / CASE)

ВЫБРАТЬ Наименование, ЗакупочнаяЦена КАК Цена,

ВЫБОР

Когда ЭтоГруппа = Истина Тогда "Это группа"

Когда ЗакупочнаяЦена >=1000 Тогда "1000 и выше"

Когда ЗакупочнаяЦена >= 100 Тогда "100-1000"

Когда ЗакупочнаяЦена >= 10 Тогда "10-100"

Когда ЗакупочнаяЦена > 0 Тогда "0 - 10"

Иначе "Не задана"

КОНЕЦ КАК Диапазон

ИЗ Справочник.Номенклатура

6.2.8. Встроенные функции языка запросов

Могут быть использованы в списке полей выборки предложения ВЫБРАТЬ и в условии отбора предложения ГДЕ

ВЫБРАТЬ Наименование, ДатаПриема

ПОДСТРОКА (Наименование ,1,2) КАК Сокращение,

ДЕНЬ(ДатаПриема) КАК Число,

МЕСЯЦ (ДатаПриема) КАК Месяц,

ГОД(ДатаПриема) КАК Год

ИЗ Справочник. Сотрудники

6.2.9. Временные таблицы

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

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

Запрос, использующий временную таблицу, будет иметь вид: