Конструктор запросов в 1С 8.3 и 8.2 — мощнейший инструмент разработки. Он позволяет составить текст запроса при помощи специальной визуальной среды. Таким образом, чтобы создать запрос 1с не обязательно знать встроенный язык запросов, достаточно ориентироваться в не сложном и интуитивно понятном интерфейсе конструктора.
Конструктор запросов представляет из себя набор вкладок, каждая из которых отвечает за свою часть запроса. Так заполняя вкладку Таблицы и поля мы выбираем таблицы из которых запрос 1с будет получать данные и поля этих таблиц необходимые для решения конкретной задачи. Заполняя в кладку Условия мы накладываем условия на выбранные таблицы, для того чтобы выбрать из них только нужные нам данные и так далее.
Описание конструктора запросов на официальном сайте 1С 8: v8.1c.ru
Содержание статьи:
Таблицы и поля; Условия; Связи; Объединения / Псевдонимы; Группировка; Виртуальные таблицы.
Для того чтобы вызвать конструктор запросов 1с 8 в программном коде необходимо:
- Создать новый запрос
Запрос = Новый Запрос;
- Задать пустую строку текста запроса
Запрос.Текст = "";
- Поставить курсор мышки между кавычками, нажать правую кнопку мыши. В открывшемся контекстном меню выбрать пункт Конструктор запроса и ответить Да на вопрос о создании нового запроса. Если текст запроса уже записан, то необходимо щелкнуть на любом месте внутри него и вызвать конструктор;
Рассмотрим на небольших примерах с возрастающей сложностью все основные вкладки конструктора запросов. Такой подход позволит начинающему программисту 1с более эффективно изучить конструктор и все его возможности. Для примеров будем использовать конфигурацию Бухгалтерия 3.0.
Урок №1. Конструктор запросов — простейший пример использования.
Задача: написать запрос к справочнику номенклатура, выбрать всю номенклатуру справочника.
Новые вкладки: Таблицы и поля.
Новые механизмы: просмотр и редактирование текста запроса при помощи кнопки «Запрос».
Для начала создания запроса создадим новый запрос и вызовем конструктор (как это делается написано несколькими абзацами выше). После этого откроется окно конструктора на вкладке Таблицы и поля.
Теоретическая часть урока №1
Вкладка Таблицы и поля состоит из трех разделов:
База данных. В данном разделе представлены все таблицы базы данных, которые можно использовать для построения запроса;
Таблицы. В данный раздел выбираются таблицы необходимые для данного запроса. Для тогда чтобы переместить их из раздела база данных нужно:
- Либо дважды щелкнуть по таблице;
- Либо воспользоваться кнопками «>» или «>>».
Над разделом Таблицы присутствует ряд кнопок. Про большинство из них будет подробнее рассказано в следующих уроках. А пока дам только краткие пояснения.
- Создать вложенный запрос (красная линия). Предназначена для создания нового вложенного запроса;
- Создать описание временной таблицы (желтая линия). Позволяет задать имя временной таблицы, которая расположена вне данного запроса, также можно использовать для передачи в запрос таблицы значений;
- Изменить текущий элемент (зеленая линия). Позволяет перейти в выделенный вложенный запрос, временную таблицу или описание временной таблицы;
- Удалить текущий элемент (голубая линия). Удаляет выделенную таблицу из выбранных таблиц;
- Заменить таблицу (синяя линия). Открывает диалог замены выделенной таблицы. Полезно, если вы неверно выбрали виртуальную таблицу регистра, так как происходит позиционирование на текущей выбранной таблице в списке.
- Параметры виртуальной таблицы (фиолетовая линия). Открывает параметры виртуальной таблицы регистра.
Поля. В данный раздел выбираются поля таблиц из предыдущего раздела. Эти поля будут колонками таблицы или выборки полученной в результате выполнения запроса. Нужны они прежде всего, для того чтобы получить из выбранных таблиц только нужную в конкретном случае информацию. Для того чтобы переместить их из раздела Таблицы необходимо:
- Либо дважды щелкнуть по полю;
- Либо воспользоваться кнопками «>» или «>>»;
- Также можно добавить новое поле самостоятельно, используя произвольное выражение из полей выбранных таблиц и функций языка запросов.
Над разделом Поля присутствует ряд кнопок. Про создание полей при помощи произвольных выражений будет подробнее рассказано в следующих уроках. А пока дам только краткие пояснения.
- Добавить (зеленая линия). Предназначена для добавления нового поля при помощи редактора произвольных выражений;
- Изменить текущий элемент (красная линия). Позволяет изменить выделенное поле при помощи редактора;
- Удалить текущий (синяя линия). Удаляет выделенное поле из списка.
Практическая часть урока №1
Мы разобрались с теорией необходимой для выполнения задания, предусмотренного в данном уроке. Напомню как оно звучит: написать запрос к справочнику номенклатура, выбрать всю номенклатуру справочника.
Приступим к созданию запроса по номенклатуре:
- Создадим новый запрос и откроем конструктор методом указанным в начале урока;
- В разделе База данных, откроем ветку Справочники и найдем там справочник Номенклатура;
- Выделим его и при помощи кнопки «>» перенесем в раздел Таблицы;
- В разделе Таблицы раскроем справочник номенклатура при помощи значка «+»;
- В раскрывшемся списке полей найдем поле Ссылка и перенесем его в раздел Поля при помощи кнопки «>»
- Запрос по номенклатуре готов, нажимаем кнопку «ОК» в нижней части окна конструктора.
В итоге у нас получится запрос со следующим текстом:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Ссылка
|ИЗ
| Справочник.Номенклатура КАК Номенклатура";
В конструкторе также можно посмотреть текст запроса, который готов у вас на данном этапе написания. Для этого в нижней части окна есть специальная кнопка Запрос. После ее нажатия откроется окно просмотра / редактирования текста запроса. Для того чтобы вручную изменить запрос необходимо:
- Нажать кнопку «Редактировать запрос»;
- Изменить текст запроса;
- Закрыть окно редактирования и согласится с внесением изменений;
- Если ваши изменения корректны, запрос изменится, если нет — будет выдана ошибка.
На изображении вручную добавлен псевдоним для поля Ссылка.
Также прочтите статьи о языке запросов 1с 8:
<< Пред. страница | След.Страница >>
Спасибо огромное!
Все нюансы есть, о которых не всегда даже в видео по данной теме говорят.
Спасибо, рад делиться своим опытом
Как отрабаывает между? как «> и = и <="
хм…. запросы, «в итоге у нас получится запрос со следующим текстом» … я вот попыталась поучится по вашим текстам, всё как бы понятно, но вот как потом полученные запросы использовать?
Спасибо за статью! Очень помогла.