Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы1-7.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
29.1 Mб
Скачать

Практическая работа №4. Объект "Запрос"

В предыдущей работе мы использовали набор записей для того, чтобы распечатать содержимое регистра сведений, при этом мы считывали в ОП всю таблицу ИБ за одну операцию чтения.

Объект «Запрос» встроенного языка системы предоставляет еще более эффективный механизм обработки данных: для обработки необходимых данных объект формирует временную таблицу, структура и содержимое которой полностью определяется текстом запроса.

Текст запроса, по сути дела, определяет структуру некоторой временной таблицы, которая будет построена в результате работы объекта. Эта таблица имеет тип данных - РезультатЗапроса, который обладает достаточным набором методов для организации выборки, извлечения информации из временной таблицы.

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

В этой главе мы рассмотрим основы применения объекта и написание текста запроса на примере п.3 постановки задачи. Для этого мы напишем полный аналог процедуры ПечатьКурсаУЕ(...) из модуля формы списка регистра сведений "Курсы".

4.1. Создание запроса "вручную"

В системе имеется необходимый набор конструкторов, которые облегчают процесс создания объектов в конфигурации. Но для лучшего понимания работы Конструктора запросов (который мы рассмотрим в последующих главах) один из отчетов мы сделаем полностью "вручную" – практически без применения конструкторов.

Сначала выполните подготовительные действия самостоятельно.

Упражнение № 4.1.

В форме списка регистра сведений "Курсы" выделите мышью кнопку на нижней или верхней панели инструментов и заполните ее свойства следующими значениями:

Свойство

Значение

Имя

ПечатьЧерезЗапрос

Тип

Действие

Действие

ПечатьЧерезЗапрос

Текст

Печать через запрос

Подсказка

Печать через запрос

Отображение

Надпись

После этих действий форма примет вид изображенный на рисунке 4.1.

Рисунок 4.1. Результат выполнения Упражнения №4.1.

4.1.1. Написание текста запроса и его выполнение

Методически, работа с объектом типа Запрос строится следующим образом:

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

Так, в нашем случае нам нужны свойства Период и Курс регистра сведений Курсы. Поэтому мы можем записать следующий текст:

Если мы сейчас выполним запрос, то объект построит следующую таблицу, содержащую результат запроса:

Для удобства написания текста запроса можно таблице, из которой объект будет выбирать записи, дать краткое название – псевдоним, применив ключевое слово КАК:

Сейчас в выборку попадают все записи, что есть в регистре (за все возможные периоды). Для того чтобы записи удовлетворяли какому-либо условию, можно в тексте запроса после оператора ВЫБРАТЬ применить ключевое слово ГДЕ, после которого написать условие отбора записей.

В учебных целях мы ограничим выборку датой регистрации объединения:

Обратим внимание на знак & перед именем параметра запроса.

Чтобы запрос работал правильно, необходимо этому параметру присвоить значение перед выполнением запроса, поэтому полный текст будет выглядеть следующим образом:

Последнее, что нам осталось сделать - это указать порядок, в котором записи будут располагаться в таблице, содержащей результат запроса: