Содержание:
- Способы создания запроса, задание его текста
- Как задать параметры в запросе
- Процедура выполнения запроса
- Методы работы с результатом запроса
В системе 1С:Предприятие существует инструмент запросов – это способ обращения к базе данных с целью получения различной информации. Язык запросов схож с языком SQL, но, в отличии от последнего, не позволяет изменять содержимое базы данных, а лишь считывать из неё данные.
Создание и запуск запроса происходит с использованием встроенного языка 1С. Для работы с запросами существуют специальные объекты встроенного языка, а именно прикладные объекты Запрос, РезультатЗапроса и ВыборкаИзРезультатаЗапроса.
Рассмотрим в общих чертах порядок выполнения запроса.
Способы создания запроса, задание его текста
В первую очередь необходимо создать запрос, заполнив его свойство «Текст», содержащее текст самого запроса (что именно и откуда необходимо взять, как отсортировать и т.п.).
Например:
Еще один способ создания запроса, сразу передав его текст методу-конструктору при создании:
Как задать параметры в запросе
Для конкретизации запроса (проверка на равенство (неравенство), на вхождение в множество, для настройки виртуальных таблиц и т.д.) используются параметры, то есть некоторые значения, передаваемые в запрос. Для того, чтобы задать параметры в запросе, вызывают метод УстановитьПараметр() прикладного объекта “Запрос“, в тексте же самого запроса такой параметр предваряет символ “&”.
Процедура выполнения запроса
После того как текст задан, а параметры определены (при необходимости), процедура выполнения запроса происходит вызовом метода запроса «Выполнить()». Во время выполнения происходит чтение искомой информации из базы данных, а считанные данные возвращаются в объект типа РезультатЗапроса:
Методы работы с результатом запроса
После того, как запрос отработал и вернул найденные данные в объект прикладного типа РезультатЗапроса, далее работа с результатом запроса может проходить по-разному:
А) Из объекта (РезультатЗапроса) можно получить выборку;
Б) Тот же объект (РезультатЗапроса) при ином использовании может послужить для выгрузки данных в объекты иного типа – в таблицу значений, в дерево значений, имеющих свои специальные методы;
В) Наконец, этот же объект (РезультатЗапроса) может выступать источником данных при «собирании» сводной таблицы из нескольких других.
Рассмотрим каждый из методов работы с результатом запроса чуть подробнее.
А) Метод «Выбрать()» объекта «РезультатЗапроса» в результате выполнения вернёт объект ВыборкаИзРезультатаЗапроса, содержащий коллекцию данных, что упрощает последовательный обход входящих в неё элементов.
Выборка = РезультатЗапросаДляПримера.Выбрать();
Далее, убеждаясь, что следующий элемент коллекции существует, возможно обойти все элементы коллекции с помощью цикла, выполнив необходимые манипуляции с каждым из элементов:
Б) Прикладной объект «РезультатЗапроса» располагает методом «Выгрузить()», запуск которого позволяет получить таблицу значений либо дерево значений сообразно переданному в вызванный метод значению параметра. В свою очередь, вновь возвращённый объект (таблица или дерево) может подлежать дальнейшей обработке с применением инструментария, характерного данному классу прикладных объектов конфигурации, либо использоваться при выводе на экран.
ТаблицаЗначений = РезультатЗапросаДляПримера.Выгрузить();ДеревоЗначений = РезультатЗапросаДляПримера.Выгрузить(ОбходРезультатаЗапроса. ПоГруппировкамСИерархией);
В). При обработке результата запроса (в нашем примере он имеет имя РезультатЗапросаДляПримера) в качестве исходного набора данных для сводной таблицы итоги результата запроса будут ресурсами (область данных), а группировочные поля, по которым эти ресурсы считаются, станут измерениями.
СводнаяТаблицаДляПримера.ИсточникДанных = РезультатЗапросаДляПримера;
Мы рассмотрели основную схему запросов и затронули основные методы работы с результатом выполнения запросов.
Специалист компании «Кодерлайн»
Колесников Дмитрий
Добавить комментарий