|

Порядок выполнения запросов


Содержание:

  1. Способы создания запроса, задание его текста
  2. Как задать параметры в запросе
  3. Процедура выполнения запроса
  4. Методы работы с результатом запроса

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

      Создание и запуск запроса происходит с использованием встроенного языка 1С. Для работы с запросами существуют специальные объекты встроенного языка, а именно прикладные объекты Запрос, РезультатЗапроса и ВыборкаИзРезультатаЗапроса.

      Рассмотрим в общих чертах порядок выполнения запроса.

Способы создания запроса, задание его текста

В первую очередь необходимо создать запрос, заполнив его свойство «Текст», содержащее текст самого запроса (что именно и откуда необходимо взять, как отсортировать и т.п.).

Например:

Еще один способ создания запроса, сразу передав его текст методу-конструктору при создании:

Как задать параметры в запросе

Для конкретизации запроса (проверка на равенство (неравенство), на вхождение в множество, для настройки виртуальных таблиц и т.д.) используются параметры, то есть некоторые значения, передаваемые в запрос. Для того, чтобы задать параметры в запросе, вызывают метод УстановитьПараметр() прикладного объекта “Запрос“, в тексте же самого запроса такой параметр предваряет символ “&”.

Процедура выполнения запроса

После того как текст задан, а параметры определены (при необходимости), процедура выполнения запроса происходит вызовом метода запроса «Выполнить()». Во время выполнения происходит чтение искомой информации из базы данных, а считанные данные возвращаются в объект типа РезультатЗапроса:

Методы работы с результатом запроса

После того, как запрос отработал и вернул найденные данные в объект прикладного типа РезультатЗапроса, далее работа с результатом запроса может проходить по-разному:

А) Из объекта (РезультатЗапроса) можно получить выборку;

Б) Тот же объект  (РезультатЗапроса) при ином использовании может послужить для выгрузки данных в объекты иного типа – в таблицу значений, в дерево значений, имеющих свои специальные методы;

В) Наконец, этот же объект (РезультатЗапроса) может выступать источником данных при «собирании» сводной таблицы из нескольких других.

Рассмотрим каждый из методов работы с результатом запроса чуть подробнее.

А) Метод  «Выбрать()» объекта «РезультатЗапроса» в результате выполнения вернёт объект ВыборкаИзРезультатаЗапроса, содержащий коллекцию данных, что упрощает последовательный обход входящих в неё элементов.

Выборка = РезультатЗапросаДляПримера.Выбрать();

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

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

ТаблицаЗначений = РезультатЗапросаДляПримера.Выгрузить();ДеревоЗначений = РезультатЗапросаДляПримера.Выгрузить(ОбходРезультатаЗапроса. ПоГруппировкамСИерархией); 

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

СводнаяТаблицаДляПримера.ИсточникДанных = РезультатЗапросаДляПримера;

Мы рассмотрели основную схему запросов и затронули основные методы работы с результатом выполнения запросов.

Специалист компании  «Кодерлайн»

Колесников Дмитрий


Помогла ли вам статья? Оставьте свой комментарий:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Блог про 1С:Предприятие

Copyright © 2024 TopKoder

Мы занимаемся внедрением и обслуживанием программных продуктов 1С.