Лабораторная работа 7. Объект-Запрос |
7.1. Создание
запроса "вручную" В предыдущей главе мы использовали набор записей для того, чтобы
распечатать содержимое регистра сведений, при этом мы считывали в ОП всю
таблицу ИБ за одну операцию чтения. Объект
Запрос встроенного языка системы предоставляет еще более эффективный механизм
обработки данных. Синтаксис языка запросов достаточно подробно описан в
документации, поэтому в этой главе мы остановимся более подробно на методике
его применения для формирования отчетов. В этой главе мы рассмотрим основы применения объекта и написание
текста запроса на примере п.3 постановки задачи. Для этого мы напишем полный
аналог процедуры
ПечатьКурсаУЕ(…) из модуля
формы списка регистра сведений "Курсы". |
7.1. Создание запроса "вручную" |
|||||||||||||||||||
7.1.1. Написание
текста запроса и его выполнение Забегая вперед скажем, что в системе имеется необходимый набор конструкторов,
которые облегчают процесс создания объектов и процедур на
в строенном языке программы, сущетвует также и
Конструктор запросов. Но для лучшего понимания работы Конструктора запросов
(который мы рассмотрим в последующих главах) один из отчетов
мы сделаем полностью "вручную" - практически без применения конструкторов. Сначала выполните подготовительные действия самостоятельно.
|
7.1.1. Написание текста запроса и его выполнение |
||||||||||||||||||||||||||
Методически, работа с объектом
типа Запрос строится следующим образом: // Создаем объект запрос Текст запроса всегда начинается с ключевого
слова ВЫБРАТЬ языка запросов, за которым через запятую следует указать:
из каких полей каких таблиц запрос должен сделать выборку. Так, в нашем случае нам нужны свойства
Период и Курс регистра сведений Курсы. Поэтому мы можем записать следующий
текст: Запрос.Текст = Если мы сейчас выполним запрос, то объект построит следующую
таблицу, содержащую результат запроса:
Для удобства написания текста запроса можно таблице, из которой
объект будет выбирать записи, дать краткое название – псевдоним,
применив ключевое
слово КАК: Запрос.Текст = Сейчас в выборку попадают все записи, что есть в регистре (за
все возможные периоды). Для того чтобы записи удовлетворяли какому-либо
условию, можно в тексте запроса после ключевого слова ВЫБРАТЬ применить ключевое
слово ГДЕ, после которого написать условие отбора записей. В учебных целях мы ограничим выборку датой регистрации
объединения: Запрос.Текст = Обратим внимание на знак & перед именем параметра запроса. Чтобы запрос работал правильно, необходимо этому параметру
присвоить значение перед выполнением запроса, поэтому полный текст будет
выглядеть следующим образом: // Создаем объект запрос Последнее, что нам осталось сделать - это указать порядок, в
котором записи будут располагаться в таблице, содержащей результат запроса: Запрос.Текст = |
7.1.2. Выборка данных из результата запроса |
|||
Метод .Выбрать(…) возвращает объект
типа РезультатЗапроса, который среди прочих имеет метод открывающий выборку
результатов: Выборка=Результат.Выбрать(); Именами свойств
записи, которую мы выбрали по методу .Следующий() будут те псевдонимы выбранных полей,
которые мы указали в тексте запроса.
|
7.2. Что мы узнали |
В этой главе мы рассмотрели основы работы с объектом
"Запрос". Для выполнения запроса необходимо составить его текст на
специальном языке запросов. Более подробно работу с объектом и язык запросов мы рассмотрим в
последующих главах. |