Опубликован: 21.09.2010 | Доступ: свободный | Студентов: 8001 / 2812 | Оценка: 4.62 / 4.38 | Длительность: 01:54:00
Специальности: Бухгалтер
Лекция 7:

Запросы, обработки

7.3. Изучение конструктора запросов и языка запросов

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

Щелкнем правой кнопкой мыши по свободному пространству в поле ввода текста запроса в обработке Консоль запросов. В появившемся контекстном меню выберем пункт Конструктор запроса. Появится соответствующее окно, рис. 7.6.

Конструктор запроса

увеличить изображение
Рис. 7.6. Конструктор запроса

Конструктором запроса можно пользоваться и в режиме конфигурирования, причем, там он, преимущественно, и используется при составлении запросов.

Окно конструктора запроса имеет несколько вкладок. Вкладка Таблицы и поля служит для указания таблиц ( реальных и виртуальных ), из которых будут отбираться данные, и конкретных полей этих таблиц, которые и попадут в результаты запроса.

Вкладка Таблицы и поля имеет три области. Область, озаглавленная как База данных показывает нам набор таблиц, которые имеются в системе. Можно заметить, что эта область напоминает дерево конфигурации. Группы можно разворачивать, тогда мы получаем доступ к конкретным таблицам. Как видите, здесь представлена база данных конфигурации, над которой мы все это время работаем. Развернем несколько группировок, рис. 7.7.

Набор таблиц базы данных

Рис. 7.7. Набор таблиц базы данных

Среди таблиц есть реальные и виртуальные. Например, реальные таблицы - это таблицы справочников ( ФизическиеЛица, Номенклатура ), документов ( ПоступлениеМатериалов ), регистров накопления ( ОстаткиМатериалов ). Виртуальные таблицы в данный момент имеют отношение к регистру накопления ОстаткиМатериалов. В частности, виртуальная таблица ОстаткиМатериалов.Обороты предназначена для получения информации об оборотах по регистру. Таблица ОстаткиМатериалов.Остатки - для получения данных об остатках, таблица ОстаткиМатериалов.ОстаткиИОбороты, как следует из ее названия, предназначена для получения и информации об остатках и информации об оборотах.

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

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

Очевидно, что данные для такого запроса будут храниться в справочнике Сотрудники. Поэтому перенесем таблицу Сотрудники из области База данных в область Таблицы, рис. и развернем таблицу.

Если вспомнить устройство справочника Сотрудники, то окажется, что один из его реквизитов имеет тип СправочникСсылка.ФизическиеЛица, именно из этого реквизита можно "вытащить" фамилию сотрудника. Развернем группировку ФизическоеЛицо, найдем среди появившихся полей поле Фамилия и перенесем его в рабочую область Поля, рис. 7.8.

Выбор таблиц и полей

увеличить изображение
Рис. 7.8. Выбор таблиц и полей

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

Предварительный просмотр текста запроса

Рис. 7.9. Предварительный просмотр текста запроса

Запрос, который отображается в этом окне, можно отредактировать, нажав на кнопку командной панели Редактировать запрос, его можно выполнить и посмотреть на результаты выполнения запроса, нажав на кнопку Выполнить запрос. Команда выполнения запроса доступна лишь при вызове конструктора запроса в режиме 1С:Предприятие.

Закроем окно предварительного просмотра запроса и нажмем на кнопку ОК в окне Конструктор запроса.

Как вы уже могли понять, в поле ТекстЗапроса попадет следующий текст:

ВЫБРАТЬ
	Сотрудники.ФизическоеЛицо.Фамилия
ИЗ
	Справочник.Сотрудники КАК Сотрудники

Весь этот текст представляет собой описание запроса. Ключевое слово ВЫБРАТЬ обязательно должно присутствовать в начале описания. Оно показывает, какие именно данные должен получать запрос.

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

Справочник.Сотрудники КАК Сотрудники

Это выражение означает, что источником данных является таблица Справочник.Сотрудники. Для этой таблицы, с помощью ключевого слова КАК задан псевдоним Сотрудники. Именно по этому псевдониму в рамках запроса осуществляется обращение к таблице Справочник.Сотрудники.

Вернемся к пояснениям области ВЫБРАТЬ. Здесь имеется следующая команда:

Сотрудники.ФизическоеЛицо.Фамилия

Этой командой мы обращаемся к таблице ФизическоеЛицо, которая хранится в таблице Сотрудники (напомним, что это - псевдоним) и выбираем из нее фамилию сотрудника. Полям, которые попадают в выборку данных, создаваемую запросом, так же можно назначать псевдонимы с помощью ключевого слова КАК.

Если попытаться выразить текст рассматриваемого запроса на естественном языке, то получится следующее. Нужно выбрать из таблицы Справочник.Сотрудники (которую в запросе будем называть просто Сотрудники ) фамилию сотрудника, которая хранится в таблице ФизическоеЛицо, соответствующей конкретному сотруднику.

Теперь нажмем на кнопку Выполнить в форме обработки Консоль запросов. Вот, что у нас получилось, рис. 7.10.

Результат выполнения запроса

увеличить изображение
Рис. 7.10. Результат выполнения запроса
Ринат Гатауллин
Ринат Гатауллин

Здравствуйте. Интересует возможность получения диплома( https://intuit.ru/sites/default/files/diploma/examples/P/955/Nekommerch-2-1-PRF-example.jpg ). Курс пройден. Сертификат не подходит. В сертификате ошибка, указано по датам время прохождения около 14 дней, хотя написано 576 часов.

Вячеслав Кузнецов
Вячеслав Кузнецов

Здравствуйте.

Как оплатить курс?