Запрос. источники данных запроса

Механизм запросов – это основное средство получения данных из информационной базы. Для формирования запроса используется встроенный язык запросов, который транслируется на язык SQL и передаётся серверу базы данных либо обрабатывается системной самостоятельно. Запрос – основной способ формирования данных для отчётов, а так же запросы используются в объектах: построитель отчетов и в схеме компоновки данных.

Типовой алгоритм работы с запросом на встроенном языке

1) Создаётся объект типа запрос: ЗапросДанных = Новый Запрос

2) Устанавливается текст запроса: ЗапросДанных.Текст = ”Выбрать…”

3) Устанавливаются параметры запроса: ЗапросДанных.УстановитьПараметр("Имя", Значение)

4)Запрос выполняется и формируется его результат: РезультатЗапроса = ЗапросДанных.Выполнить()

5) Осуществляется выборка из результата запроса или результат запроса загружается в таблицу значений или дерево значений: ТаблицаДанных = РезультатЗапроса.Выгрузить(); ВыборкаДанных = РезультатЗапроса.Выбрать();

6) Обрабатываются выбранные или выгруженные данные

Основные источники - таблицы базы данных:

1) Реальная таблица - таблица, существующая в базе данных в соответствии с составом конфигурации. Большинству объектов конфигурации, а так же каждой табличной части, соответствует по одной реальной таблице.

2) Виртуальная таблица – не существует в базе данных, а генерируется из реальных таблиц по определённым алгоритмам во время выполнения запроса. Виртуальные таблицы существуют в частности для периодических регистров сведений-это СрезПервых и СрезПоследних. Виртуальная таблица СрезПервых содержит самые ранние значения ресурсов по всем совокупностям измерений, но не ранее даты, указанной в качестве её параметра. Виртуальная таблица СрезПоследних содержит самые поздние значения ресурсов по всем совокупностям измерений, но не позднее даты, указанной в качестве её параметра. Виртуальные таблицы СрезПервых и СрезПоследних содержат только поле период, измерения и ресурсы.

Пример СрезПервых и СрезПоследних:

Период Номенклатура Цена
02.06.12 Молоко
04.06.12 Молоко
06.06.12 Сметана
08.06.12 Сметана
10.06.12 Кефир
12.06.12 Молоко

Виртуальная таблица СрезПервых регистра сведений «Цены» на 07.06.12:

Период Номенклатура Цена
08.06.12 Сметана
10.06.12 Кефир
12.06.12 Молоко

Виртуальная таблица СрезПоследних регистра сведений «Цены» на 11.06.12:



Период Номенклатура Цена
10.06.12 Кефир
08.06.12 Сметана
04.06.12 Молоко

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

Исходная таблица запроса

Сотрудник Должность Пациент ДатаРождения Премия
Шилов К.Д. Терапевт Ольга 12.12.2005
Шилов К.Д. Терапевт Сергей 15.01.2006
Павлов Б.А. Окулист Инна 06.05.2005
Павлов Б.А. Окулист Юлия 13.11.2005
Павлов Б.А. Окулист Павел 08.07.2005
Орлов Д.А. Офтальмолог Игорь 06.07.2006
Орлов Д.А. Офтальмолог Андрей 19.03.2005

Тест запроса

ВЫБРАТЬ Таблица.Сотрудник КАК Сотрудник, Таблица.Должность КАК Должность, КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Таблица.Пациент) КАК Пациент, СУММА(Таблица.Премия) КАК Премия ИЗ РегистрыСведений.ДанныеСотрудников КАК Таблица СГРУППИРОВАТЬ ПОСотрудник, Должность

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

Сотрудник Должность Пациент Премия
Шилов К.Д. Терапевт
Павлов Б.А. Окулист
Орлов Д.А. Офтальмолог

Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос. Создается этот объект вызовом конструкции Новый Запрос. В двух словах БД можно описать как набор таблиц, которые могут быть связаны между собой. Цель запроса сообщить БД, что мы хотим выбрать и откуда.

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

запрос. источники данных запроса - student2.ru

Запрос.Текст = "
|ВЫБРАТЬ
| Продажи.Товар,
| Продажи.Количество
|ИЗ
| Продажи
|ГДЕ
| Продажи.Количество >= 100";

запрос. источники данных запроса - student2.ru

4.13. Таблицы периодического регистра сведений. Пример реальные виртуальные (цены товаров) срез первых, срез последних(описание)

Наши рекомендации