Справка 1С/Клиентское приложение/Конструктор запросов

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

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

С помощью конструктора запросов производится формирование нового и редактирование имеющегося запроса.

Для редактирования имеющегося запроса в модуле, содержащем текст запроса, установите курсор в любом месте текста запроса и выберите Текст - Конструктор запросов или Текст - Конструктор запросов с обработкой результата.

Для создания нового запроса установите курсор в модуле в месте, в котором предполагается расположить текст запроса и выберите Текст - Конструктор запросов или Текст - Конструктор запросов с обработкой результата.

На экран выводится конструктор запросов.

С помощью кнопки Упорядочить список, расположенной над списком База данных, можно упорядочить список объектов. Повторное нажатие кнопки отменяет упорядочивание.

С помощью кнопки Отображать таблицы изменений можно отобразить таблицы изменений объектов конфигурации в списке объектов в виде отдельных веток <ИмяОбъекта>.Изменения. Повторное нажатие кнопки скроет такие ветки в списке.

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

Для того чтобы создать вложенный запрос, нужно нажать кнопку Создать вложенный запрос. В открывшемся конструкторе запроса сформировать требуемый запрос и нажать кнопку ОК. Вложенный запрос отобразится в списке Таблицы.

С помощью кнопок Далее > последовательно пройдите по закладкам и выберите необходимые исходные данные, укажите группировки и условия, установите нужный порядок и опишите итоговые данные. В результате работы конструктора будет создана форма и макет, которые будут располагаться на соответствующих ветвях.

Для корректировки данных используйте кнопку < Назад.


На закладке Таблицы и поля в разделе База данных выберите нужные объекты и перенесите их в раздел Таблицы и Поля. Для указания дополнительных условий можно воспользоваться режимом формирования произвольных выражений в запросе. Для этого в списке Поля контекстного меню выберите пункт Добавить. На экран выводится окно произвольного выражения.
В нижнем поле конструктора произвольного выражения формируется текст выражения. Выражение можно набирать с помощью клавиатуры. Для удобства ввода наименований реквизитов можно перетаскивать мышью нужные поля из списка полей и выбирать нужные функции языка запросов из списка, также перетаскивая их мышью в поле ввода выражения.
Если указано несколько таблиц, то в форму конструктора запроса добавляется закладка Связи.


На закладке Связи формируются условия, которые накладываются на связи между полями таблиц. Для ввода нового условия нужно нажать кнопку Добавить и в колонке Таблица1 выбрать одну из таблиц; в колонке Таблица2 выбрать таблицу, поля которой связаны с полями первой. Ниже списка условий расположены элементы управления, с помощью которых формируется условие связи таблиц.


На закладке Группировка, если требуется, выберите реквизиты, по которым будет выполнена группировка.
Если требуется получить группировку по нескольким группам, установите флажок Использовать несколько группировок. При этом в области Поле группировки будет отображено дерево группировок. Чтобы добавить или удалить узел дерева полей группировки, следует использовать кнопки (+) или Х (крестик), расположенные над областью. 


На закладке Условия, если требуется, укажите условия, по которым будет выполняться отбор исходных данных. По каждому выбранному полю необходимо выбрать вид условия и указать наименование параметра. Если флажок Произвольное установлен, то можно воспользоваться окном формирования произвольных выражений


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


На закладке Дополнительно указываются дополнительные условия.
Если на закладке Дополнительно выбрано создание временной таблицы, то на появившейся закладке Индексы можно будет выбрать поля и наборы полей, по которым будут построены индексы. Установка флага в колонке Уникальность позволяет создать уникальный индекс.
Индексы временных таблиц предназначены для повышения производительности работы временной таблицы, использование индексов для контроля уникальности не допускается. Также следует учитывать, что поведение различных поддерживаемых СУБД в части контроля уникальности может отличаться. При использовании для этой цели уникальных индексов не будет обеспечено корректное решение прикладной задачи.


На закладке Объединения/Псевдонимы, если требуется, выберите реквизиты, по которым будет выполнена группировка. В таблице показано соответствие выбранных полей и исходных данных. Имена полей и соответствие можно изменить. Для изменения имени выберите поле и нажмите клавишу Enter, введите новое имя поля. Для изменения соответствия в колонке Запрос выберите нужную строку и нажмите клавишу Enter. В выпадающем списке выберите нужное значение.
Если требуется выбрать только уникальные значения, то следует установить флажок в колонке Без дубл.
Псевдонимы полей, которые изменены пользователем, или были загружены из текста запроса, или при генерации псевдонима конструктор определил, что данный псевдоним обязателен, выделяются жирным шрифтом.


На закладке Порядок, если требуется, укажите порядок вывода полученной информации.


На закладке Итоги, если требуется, укажите, по каким полям требуется выводить промежуточные итоговые данные, а также общие итоги.
При нажатии кнопки >>, расположенной рядом с групповыми полями, в поля для группировки будут помещены все ссылочные поля. При нажатии кнопки >>, расположенной рядом с суммируемыми полями, в список суммируемых полей будут помещены все поля, имеющие числовой тип.


На закладке Построитель выполняется настройка построителя отчетов. Выбираются таблицы и поля, указываются условия и порядок представления, а также описываются итоговые данные. Закладка Построитель появляется только для конструктора, вызванного командой Текст - Конструктор запросов.


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


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

Флажок может быть установлен только в том случае, если выражение содержит имя доступного поля схемы запроса.


На закладке Условия выбираются поля, которые построитель отчета будет использовать в качестве доступных полей для отбора. Использовать реквизиты - признак использования подчиненных элементов для поля, указанного в выражении.

Флажок может быть установлен только в том случае, если выражение содержит имя доступного поля схемы запроса.


На закладке Порядок выбираются поля, которые построитель отчета будет использовать в качестве доступных полей для упорядочивания результата. Использовать реквизиты - признак использования подчиненных элементов для поля, указанного в выражении. Флажок может быть установлен только в том случае, если выражение содержит имя доступного поля схемы запроса.


На закладке Итоги выбираются поля, которые построитель отчета будет использовать в качестве доступных полей для группировки отчета. Использовать реквизиты - признак использования подчиненных элементов для поля, указанного в выражении. Флажок может быть установлен только в том случае, если выражение содержит имя доступного поля схемы запроса.

  • На закладке Пакет запросов при работе с пакетными запросами создается последовательность запросов пакета. Каждый запрос редактируется и настраивается в этом же окне, а на всех предыдущих закладках можно переключаться между настраиваемыми запросами с помощью закладок, расположенных вдоль правой стороны конструктора запросов.
  • На закладке Обработка результата производится настройка вывода результата.

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

Если вывод осуществляется в табличный документ, то в объекте метаданных, в модуле которого или модуле формы которого он вызывается, создается макет для вывода в табличный документ. Макет модифицируется при повторном вызове конструктора. Данный макет удаляется, если ранее конструктор предназначался для вывода в табличный документ, а после редактирования конструктором вывод был выбран другой способ вывода. Для общих модулей создаются общие макеты.

В любой момент создания запроса текст запроса можно просмотреть, нажав кнопку Запрос.

Редактирование запроса схемы компоновки данных

Если конструктор запросов вызывается в режиме компоновки данных, то в конструктор добавляются закладки Компоновка данных и Характеристики.

  • На закладке Компоновка данных описываются настройки компоновки данных:
  • На закладке Таблицы отображаются выбранные в текущем запросе таблице с указанной на закладке Связи иерархией. 

Обязательная - если таблица не соединена с другими, то такая группа всегда обязательная. Для всех остальных флажок в колонке Обязательная можно снять.
Номер группы - (только для необязательных таблиц) если номер установлен, то он обозначает номер группы. Таблица считается первой в группе, если таблица с таким номером является первой на своем уровне иерархии или первой после обязательной таблицы.
При нажатии кнопки Параметры виртуальной таблицы откроется форма установки параметров компоновки данных для таблицы.

  • На закладке Поля выбираются поля, которые будут использованы в качестве полей выбора компоновки данных.
  • На закладке Условия выбираются поля, которые будут использованы в выражениях отбора компоновки данных.


На закладке Характеристики описываются желаемые характеристики.


В колонке Тип укажите тип того поля, к которому будет относиться описываемая характеристика. В колонке Источник видов выберите, будет ли список характеристик получен из таблицы базы данных или результата запроса. В поле Виды характеристик выберите желаемую таблицу или, в случае выбора запроса в качестве источника, создайте запрос с помощью конструктора запроса. В колонке Поле имени выберите поле, содержащее имя характеристики. В колонке Поле типа значения выберите поле, содержащее тип значения характеристики. При выборе в этой колонке пустого значения считается, что характеристика имеет такой же тип, как у поля Поле значения, содержащего значение характеристики. Если поле значения характеристики не указано, то считается, что характеристика имеет тип Булево.


Во второй колонке Источник значений укажите откуда будет получен список значений характеристик. В колонке Значения характеристик укажите имя таблицы или запрос для получения значений характеристик. В колонке Поле объекта выберите поле, содержащее идентификатор объекта. В колонке Поле вида выберите поле, содержащее идентификатор характеристики. В колонке Поле значения выберите поле, содержащее значение характеристики. При выборе пустого значения в этой колонке, значение характеристики будет равно Истина в том случае, если такая характеристика у объекта есть, Ложь – в противном случае.