Практическая работа №11. Запрос 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Практическая работа №11. Запрос



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

Чтобы познакомится с тем, как формировать запрос, и что получается в результате его работы, воспользуемся стандартной обработкой «Консоль запросов». Данная обработка является технологической, как получить окончательный результат будет изложено в следующем разделе. Для работы обработки необходимо будет через пункт меню Сервис-Параметры выполнить следующие настройки (Рис. 11.1):

Рисунок 11.1.

Только после этих настроек в свойствах конфигурации станет доступной следующая нужная нам настройка (Рис. 11.2).

Рисунок. 11.2.

Откроем обработку в режиме «1С:Предприятие», нажав на панели «Толстый клиент (обычное приложение)» (рис 11.3) и создадим новый запрос (рис 11.4. – 11.5), текст которого удобнее формировать с помощью конструктора запросов (Рис. 11.6)..

Рисунок 11.3

Рисунок 11.4

Файл – Открыть, выбираем внешний обработчик «КонсольЗапросов»

Рисунок 11.5

Вызов конструктора происходит через контекстное меню, вызываемое по правой кнопке мыши. С помощью этого запроса мы попробуем узнать, какие у нас есть поставщики.

КурсыВалют

Рисунок 11.6.

В конструкторе запроса мы, работая на уровне таблиц, определяем откуда и какая именно информация нас интересует (Рис. 11.7).

Рисунок 11.7.

Результатом работы конструктора будет являться текст запроса, запустив на исполнение который с помощью кнопки «Выполнить», мы сможем увидеть полученную этим запросом информацию (Рис. 11.8)

Рисунок 11.8.

Результат этого запроса покажет нам не только данные о поставщиках, а вообще всё, что храниться в справочнике. Очевидно, что необходимо избавиться от лишних данных. Для этого мы вернёмся в конструктор запроса и перейдём на закладку «Условия». Лишними для нас будут являться данные о контрагентах из всех групп, кроме группы «Поставщики» и непосредственно сами группы. Для установки данного отбора выберем поля, по которым будет ставить отбор, и сами функции, которые будут осуществлять отбор (Рис. 11.9).

Рисунок 11.9.

После добавления условий необходимо установить значения для наших параметров – по какой же собственно группе мы хотим установить отбор? Сделаем это используя кнопку «&Параметры» и в открывшемся окне кнопку «Получить из запроса». Теперь, имея список параметров, которые нам требуется определить, для каждого параметра укажем его значение (Рис. 11.10).

Рисунок 11.10.

Установив параметры, выполним наш запрос и увидим искомый список поставщиков (Рис. 11.11). Таким образом, с помощью запроса мы можем извлечь информацию из базы, отфильтровав с помощью различных условий только то, что нам требуется.

v Рисунок 11.11

Следующее, что мы сделаем, это с помощью запроса получим данные о том, кому и сколько денег мы заплатили. Получить эту информацию мы можем из документов «РасходДенег» (Рис. 11.12),

Рисунок 11.12

Сложность будет заключаться в том, что платежей одному и тому же контрагенту может быть произвольное количество. Очевидно, что удобнее будет увидеть сводные цифры, т.е. по каждому получателю денег должна быть единственная запись, а не столько, сколько было платежей. Для решения этой задачи воспользуемся механизмом группировки (Рис. 11.13).

Рисунок 11.13.

С помощью этого механизма нам стали доступны не просто исходная информация из базы, но и расчетные данные (Рис. 11.14).

Рисунок 11.14.

Говоря о расчетных данных, вспомним о периодических регистрах сведений. В отличие от справочников или документов для периодических регистров сведений в конструкторе появляются еще две дополнительных таблицы. Эти таблицы получаются платформой расчетным образом в момент выполнения запроса и называются виртуальными таблицами. Начальные данные для такого расчета можно передать через параметры виртуальной таблицы. В нашем случае с помощью этого механизма мы можем получить курс валюты на любую произвольную дату (Рис. 11.15).

Рисунок 11.15.

Результат выполнения данного запроса показывает курсы валют на 17.01.2014, хотя именно на 17 число курсы валют у нас не хранятся (Рис. 11.16).

Рисунок 11.16.

Следующий пример будет более сложным. Нас будет интересовать информация о том, в какое подразделение и сколько денег мы выплатили за месяц. Сложность данной задачи заключается в том, что в отличие от предыдущих примеров у нас на первый взгляд отсутствует требуемая информация – в документе «РасходДенег» не указано подразделение. Однако, в документе указан сотрудник, а для сотрудника у нас есть кадровые данные. Таким образом, зная какому сотруднику мы заплатили и зная в каком подразделении он числится, мы можем получить требуемые данные. Для этого в запросе мы будем собирать данные сразу из двух разных источников (Рис. 11.17).

Рисунок. 11.17.

Сопоставление получателя денег в документе с сотрудником, работающим в подразделении, произведем через механизм соединения на закладке «Связи» (Рис. 11.18).

Рисунок 11.18.

Применим группировку, чтобы получить общую сумму выплат (Рис. 11.19).

Рисунок 11.19.

 

После чего проверяем результат (Рис. 11.20).

Рисунок 11.20

Таким образом, с помощью запроса нам удалось собрать вместе и обработать информацию, которая хранилась в нашей информационной базе в разных местах. В результате платформа предоставляет нам инструмент для удобного получения и анализа данных. В дальнейшем результат запроса может быть применен для решения самых разных задач. Мы рассмотрим простейшее применение – отображение данных запроса в удобном для пользователя виде, для чего предназначен специальный объект «Отчет».



Поделиться:


Последнее изменение этой страницы: 2021-03-09; просмотров: 430; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.138.174.195 (0.007 с.)