Конструктор запросов как в 1с. Конструктор запросов схемы компоновки данных. Кнопка «Запрос» в конструкторе запросов
Конструктор запроса - это один из инструментов разработки. Он позволяет составить текст запроса на языке запросов исключительно визуальными средствами.
С помощью кнопок Далее и Назад можно перемещаться по закладкам конструктора и указывать, какие данные должны присутствовать в результате запроса, как они связаны, сгруппированы, какие итоги следует рассчитать, работать с временными таблицами, редактировать пакет запросов:
Результатом работы конструктора будет являться синтаксически правильный текст запроса. Таким образом, разработчик может составить работоспособный запрос, даже не владея синтаксисом языка запросов - необходимые синтаксические конструкции конструктор сгенерирует автоматически. Готовый текст запроса может быть сразу же вставлен в текст модуля или скопирован в буфер обмена.
Кроме этого конструктор запросов позволяет редактировать уже имеющийся в программе текст запроса. Для этого достаточно установить курсор внутри существующего текста запроса и вызвать конструктор. Имеющийся текст запроса будет проанализирован и представлен в конструкторе в виде соответствующих выбранных полей базы данных и набора заданных связей, группировок, условий и т.д.
Одним из самых мощных инструментов 1С Предприятия 8, без сомнения, является Конструктор запросов. Конструктор является визуальным средством для работы с запросами на языке 1С. Но конструктор имеет один большой недостаток – он не показывает результат выполнения запросов. Данный недостаток особенно ощущается начинающими разработчиками прикладных решений на платформе 1С:Предприятие 8.3 и 8.2.
Кроме того, даже опытные программисты 1С нередко сталкиваются с ситуацией, когда необходимо сделать «разовый» анализ данных информационной базы в различных срезах, а писать ради такого «разового вывода» полноценный отчет не хочется.
Для всех этих и многих других случаев мы рады вам предложить внешнюю обработку Консоль запросов с возможностью обработки результатов для 1С 8.3 и 1С 8.2 !
Основные возможности Консоли запросов для 1С 8.3 и 1С 8.2
:
Универсальная обработка, запускается на любой конфигурации платформ 1С: Предприятие 8.1 – 8.3;
- запускается в режиме 1С:Предприятие;
- запрос можно писать вручную, а можно вызвать Конструктор запроса;
- показывает результат выполнения запроса;
- можно указывать параметры отчета непосредственно в Консоли запросов;
- умеет сохранять и загружать файлы запросов.
Для запуска Консоли запросов вам необходимо запустить вашу конфигурацию в режиме 1С:Предприятие и открыть внешнюю обработку Консоль запросов как любой другой файл, хранящийся на диске. Такая обработка будет работать точно так же, как если бы она входила в состав прикладного решения.
Внешняя обработка Консоль запросовповторяет привычный интерфейс и большинство функциональных возможностей стандартного инструментария составления запросов системы 1С:Предприятия 8.3 и 8.2. Она также позволяет получать результаты запросов, пакетных запросов и временных таблиц.
Консоль запросов исполняется как в клиент-серверном, так и в файл-серверном режиме работы системы, как под толстым, так и под тонким клиентом! В Консоль запросов интегрирован стандартный Конструктор запроса, вызывающийся через контекстное меню в поле текста запроса.
ВАЖНО! Конструктор запроса в тонком клиенте не работает, данный пункт меню открытия Конструктора недоступен. В толстом клиенте Конструктор запроса доступен!
В тонком клиенте мы можем только писать запросы руками, все остальные функции работают без изменений.
Конструктор запроса состоит из следующих закладок:
1. «Таблицы и поля» - на закладке три иерархических списка:
a. «База данных» - перечислены все доступные объекта, к которым можно сделать за-прос. Также кнопка «Отображать таблицы изменений»
, с помощью которой можно получить доступ к таблицам изменений объектов ИБ, если они регистрируются для какого либо плана обмена.
b. «Таблицы» - список выбранных таблиц, к которым будет выполнен запрос. Также в этом окне можно удалить таблицу, переименовать или заменить таблицу, а также добавить внутренний запрос.
Для виртуальных таблиц можно назначать параметры, нажав на кнопку «Параметры виртуальных таблиц»:
Рекомендуется активно использовать параметры виртуальных таблиц для отборов по тем или иным измерениям, поскольку при этом увеличивается скорость выполнения запроса. В параметрах можно использовать внешние переменные, название которых предваряется знаком «&».
c. «Поля» - список полей, которые выбираются из таблиц. Также можно добавить вычисляемые поля, для этого при нажатии кнопки «Добавить» открывается конструктор произвольного выражения:
Слева окно с доступными в выражении полями. Справа подсказку используемых функций. Внизу конструируемое произвольное выражение. В выражениях можно использовать внешние параметры, для их обозначения используется знак «&», например: &Период, &ДатаНач
Нужно быть внимательным, если в окне будет набрано длинное и сложное выра-жение, в котором будет небольшая синтаксическая ошибка, то после нажатия кноп-ки «ОК» система выдаст предупреждение и закроет окно. Весь набранный код бу-дет потерян, поэтому рекомендую, если нет уверены в правильности выражения, то перед закрытием конструктора всегда сохраняйте содержимое в буфер обмена (Ctrl-C).
2. «Связи» - на закладке указываются связи между таблицами.
В таблице указываются связываемые таблицы, отношение между связываемыми таблицами и усло-вие связи. Если условие связи сложно, то можно указать некое вычисляемое выражение, при этом откроется конструктор произвольного поля.
3. «Группировка» - на закладке указываются, какие поля группируются, а какие агрегируются (суммируются).
4. Закладка «Условия» - перечисляются условия которые накладываются на запрос.
В условиях тоже можно писать сложные выражения с помощью конструктора простых выражения и ис-пользованием внешних переменных:
5. «Дополнительно»
Дополнительные параметры, накладываемые на запрос
6. «Объединения и псевдонимы»
На этой закладке можно назначать псевдонимы для полей, а также управлять запросами которые соединяется через конструкции «ОБЪЕДИНИТЬ» или «ОБЪЕДИНИТЬ ВСЕ»
7. «Порядок»
В каком порядке будут выводиться получаться результаты запроса
Внимание! В низу закладки можно видеть галочку «Автоупорядочивание» - в текущей версии 1С 8.1 в СКД она бесполезна, более того при установленной галочке при записи СКД выдает ошибку, так что ею пользоваться не стоит.
8. «Компоновка данных»
Закладка, в которой определятся служебные поля для СКД. Играет примерно такую же роль, что и закладка «Построитель отчета» в обычном конструкторе отчетов.
A. На закладке «Таблицы» - перечислены таблицы, используемые в запросе, можно указать обязательность включения таблицы в запрос, галочкой «Обязательная». Т.е. если никакие поля в выборку не попадают, то данная таблица в запросе вообще не участвует. Также можно указать параметры для таблиц.
В процессе настройки СКД, мы задаем, какие либо отборы, то все значения отборов будут подставлены в параметры виртуальных таблиц, что снова нам поможет оптимизировать и ускорить запрос.
b. На закладке «Поля» - перечислены поля и их псевдонимы, которые будут добавляться в список полей СКД.
c. «Условия» - в случае указания отборов в настройках СКД, все значения отборов будут добавляться как дополнительные условия, в условия можно также добавлять сложные выражения.
9. «Характеристики»
Закладка, не имеющая аналога в обычном конструкторе выходной фор-мы.
Даная закладка обеспечивает расширение работы запросов с характеристиками. Таблица на закладке состоит из нескольких полей:
a. «Тип значения» - тип для которого будут выбираться характеристики. Например если указать «СправочникСсылка.Номенклатура», то в запросе будут выбираться все характеристики для номенклатуры.
b. «Источник» - источник для свойств видов характеристик, может быть запрос или таблица. В данном поле мы можем написать запрос выборки только тех свойств, которые нам нужны.
c. «Список характеристик» - поле в котором указывается источник для свойств характери-стик. Чаще всего это план видов характеристик или запрос. Также нужно указать поля, которые отвечают за «Идентификатор», «Имя» и «Тип» свойства.
d. «Источник» - следующее поле, в котором указываем источник значений характеристик, тоже может быть или таблица или запрос.
e. «Значение характеристик» - таблица или запрос, которые получает значения характери-стик. Например, таблицей значений характеристик может служить регистр сведений «ЗначенияСвойствОбъектов». Мы также должны указать те поля из таблицы (или запро-са), что отвечают за «Объект», «Свойство» и «Значение» характеристики.
После редактирования запроса, текст запроса можно видеть в окне под список полей. Ниже галочкой «Автозаполнение» мы можем регулировать заполнение дополнительных параметров для полей определенных в запросе. Следует обратить внимание, что состав полей определяется только в самом запросе.
Информация взята с сайта
Платформа предлагает разработчику собственно Конструктор запроса и Конструктор запроса с обработкой результата. В первом случае, конструктор позволяет чисто визуальными средствами определить выборку данных из таблиц системы:
Во втором случае с результатом выборки могут быть сделаны определенные манипуляции:
Конструктор запросов работает как в режиме Предприятие (как обработка Консоль запросов), так и в Конфигураторе. Использование в режиме Предприятие позволяет квалифицированным пользователям самостоятельно получать выборки данных, для которых нет типовых отчетов.
Из Конфигуратора, конструктор может быть вызван правой кнопкой прямо из текста модуля:
либо стоя в модуле, из главного меню Текст:
Вопрос 04.41 экзамена 1С:Профессионал по платформе. Использование конструктора запросов позволяет:- Сформировать программный код, содержащий создание объекта встроенного языка Запрос, текста запроса и получение результата выполнения запроса
- Верны ответы 1 и 3
- Все вышеперечисленное
Вопрос 04.42 экзамена 1С:Профессионал по платформе. Использование конструктора запроса с обработкой результата позволяет:
- Сформировать текст нового запроса
- Сформировать программный код, содержащий создание объекта встроенного языка Запрос, текста запроса, получение и обработку результата выполнения запроса
- Отредактировать текст имеющегося запроса
- Все вышеперечисленное
- Верны ответы 1 и 3
Вопрос 04.43 экзамена 1С:Профессионал по платформе. При сохранении текста запроса, открытого повторно с помощью конструктора запроса, без внесения в этот текст изменений:
- Весь первоначальный текст остается без изменений
- Из первоначального текста будут удалены только комментарии
- В первоначальном тексте комментарии останутся, а будут удалены только конструкции языка запросов построителя отчетов
- Из первоначального текста будут удалены и комментарии, и конструкции языка запросов построителя отчетов
Откроем данный запрос через Конструктор и закроем конструктор по Ок. Комментарий затрется:
Вопрос 04.44 экзамена 1С:Профессионал по платформе. Конструктор запросов может быть вызван:- С помощью пункта главного меню "Текст - Конструктор запроса…"
- С помощью кнопки "Конструкторы - Конструктор запросов" на закладке "Макеты" из окна редактирования объекта
- С помощью пункта всплывающего контекстного меню "Конструктор запроса…", появляющегося при нажатии в тексте модуля правой клавиши мыши
- Верно все вышеперечисленное
- Верны ответы 1 и 3
Вопрос 04.45 экзамена 1С:Профессионал по платформе. Кем может использоваться конструктор запросов?
- Разработчиками, так как необходимо знание языка запросов
- Квалифицированными пользователями без использования конфигуратора
- Верно все вышеперечисленное
- Нет верного ответа
Вопрос 04.46 экзамена 1С:Профессионал по платформе. На закладке "Таблицы и поля" конструктора запросов задают:
- Источники данных запросов, в качестве которых могут выступать реальные и виртуальные таблицы
- Набор полей из таблиц - источников данных запроса
- Поля в виде произвольного выражения
- Верны ответы 1 и 2
- Верно все вышеперечисленное
Вопрос 04.47 экзамена 1С:Профессионал по платформе. Для создания в конструкторе запросов вложенного запроса необходимо:
- Открыть закладку "Таблицы и поля". В командной панели над деревом "База данных" нажать кнопку "Добавить" или выбрать одноименный пункт контекстного меню
- Открыть закладку "Таблицы и поля". В командной панели над деревом "Таблицы" нажать кнопку "Добавить" или выбрать одноименный пункт контекстного меню
- Открыть закладку "Таблицы и поля". В командной панели над деревом "Поля" нажать кнопку "Добавить" или выбрать одноименный пункт контекстного меню
- В конструкторе запросов создать вложенный запрос нельзя
Результат:
Вопрос 04.48 экзамена 1С:Профессионал по платформе. Для создания в конструкторе запросов вычисляемого поля необходимо:- Открыть закладку "Таблицы и поля". В командной панели над деревом "Таблицы" нажать кнопку "Изменить текущий элемент". В открывшемся окне добавить новое поле
- Открыть закладку "Таблицы и поля". В командной панели над деревом "Поля" нажать кнопку "Добавить" или выбрать одноименный пункт контекстного меню
- Открыть закладку "Объединения/Псевдонимы". В командной панели над списком полей нажать кнопку "Добавить" или выбрать одноименный пункт контекстного меню
- Создать вычисляемое поле, можно только изменив текст запроса "вручную"
Вопрос 04.49 экзамена 1С:Профессионал по платформе. Для создания в запросе строк, сгруппированных с помощью агрегатных функций, на закладке "Группировка" конструктора запросов обязательно должны быть заполнены:
- Только список групповых полей. Указание суммируемых полей не обязательно
- Только список суммируемых полей, при этом остальные поля автоматически попадут в секцию СГРУППИРОВАТЬ ПО в тексте запроса
- Обязательным является указание как групповых, так и суммируемых полей
По остальным полям будет произведена группировка в тексте запроса:
Вопрос 04.50 экзамена 1С:Профессионал по платформе. В конструкторе запросов условия на значения агрегатных функций можно накладывать:- На закладке "Группировка", в списке суммируемых полей при выборе агрегатной функции
- На закладке "Условия"
- На закладке "Итоги", в списке итоговых полей при выборе агрегатной функции
- В конструкторе запросов задать условия на значения агрегатных функций нельзя
Платформа предлагает разработчику собственно Конструктор запроса и Конструктор запроса с обработкой результата. В первом случае, конструктор позволяет чисто визуальными средствами определить выборку данных из таблиц системы:
Во втором случае с результатом выборки могут быть сделаны определенные манипуляции:
Конструктор запросов работает как в режиме Предприятие (как обработка Консоль запросов), так и в Конфигураторе. Использование в режиме Предприятие позволяет квалифицированным пользователям самостоятельно получать выборки данных, для которых нет типовых отчетов.
Из Конфигуратора, конструктор может быть вызван правой кнопкой прямо из текста модуля:
либо стоя в модуле, из главного меню Текст:
Вопрос 04.41 экзамена 1С:Профессионал по платформе. Использование конструктора запросов позволяет:- Сформировать программный код, содержащий создание объекта встроенного языка Запрос, текста запроса и получение результата выполнения запроса
- Верны ответы 1 и 3
- Все вышеперечисленное
Вопрос 04.42 экзамена 1С:Профессионал по платформе. Использование конструктора запроса с обработкой результата позволяет:
- Сформировать текст нового запроса
- Сформировать программный код, содержащий создание объекта встроенного языка Запрос, текста запроса, получение и обработку результата выполнения запроса
- Отредактировать текст имеющегося запроса
- Все вышеперечисленное
- Верны ответы 1 и 3
Вопрос 04.43 экзамена 1С:Профессионал по платформе. При сохранении текста запроса, открытого повторно с помощью конструктора запроса, без внесения в этот текст изменений:
- Весь первоначальный текст остается без изменений
- Из первоначального текста будут удалены только комментарии
- В первоначальном тексте комментарии останутся, а будут удалены только конструкции языка запросов построителя отчетов
- Из первоначального текста будут удалены и комментарии, и конструкции языка запросов построителя отчетов
Откроем данный запрос через Конструктор и закроем конструктор по Ок. Комментарий затрется:
Вопрос 04.44 экзамена 1С:Профессионал по платформе. Конструктор запросов может быть вызван:- С помощью пункта главного меню "Текст - Конструктор запроса…"
- С помощью кнопки "Конструкторы - Конструктор запросов" на закладке "Макеты" из окна редактирования объекта
- С помощью пункта всплывающего контекстного меню "Конструктор запроса…", появляющегося при нажатии в тексте модуля правой клавиши мыши
- Верно все вышеперечисленное
- Верны ответы 1 и 3
Вопрос 04.45 экзамена 1С:Профессионал по платформе. Кем может использоваться конструктор запросов?
- Разработчиками, так как необходимо знание языка запросов
- Квалифицированными пользователями без использования конфигуратора
- Верно все вышеперечисленное
- Нет верного ответа
Вопрос 04.46 экзамена 1С:Профессионал по платформе. На закладке "Таблицы и поля" конструктора запросов задают:
- Источники данных запросов, в качестве которых могут выступать реальные и виртуальные таблицы
- Набор полей из таблиц - источников данных запроса
- Поля в виде произвольного выражения
- Верны ответы 1 и 2
- Верно все вышеперечисленное
Вопрос 04.47 экзамена 1С:Профессионал по платформе. Для создания в конструкторе запросов вложенного запроса необходимо:
- Открыть закладку "Таблицы и поля". В командной панели над деревом "База данных" нажать кнопку "Добавить" или выбрать одноименный пункт контекстного меню
- Открыть закладку "Таблицы и поля". В командной панели над деревом "Таблицы" нажать кнопку "Добавить" или выбрать одноименный пункт контекстного меню
- Открыть закладку "Таблицы и поля". В командной панели над деревом "Поля" нажать кнопку "Добавить" или выбрать одноименный пункт контекстного меню
- В конструкторе запросов создать вложенный запрос нельзя
Результат:
Вопрос 04.48 экзамена 1С:Профессионал по платформе. Для создания в конструкторе запросов вычисляемого поля необходимо:- Открыть закладку "Таблицы и поля". В командной панели над деревом "Таблицы" нажать кнопку "Изменить текущий элемент". В открывшемся окне добавить новое поле
- Открыть закладку "Таблицы и поля". В командной панели над деревом "Поля" нажать кнопку "Добавить" или выбрать одноименный пункт контекстного меню
- Открыть закладку "Объединения/Псевдонимы". В командной панели над списком полей нажать кнопку "Добавить" или выбрать одноименный пункт контекстного меню
- Создать вычисляемое поле, можно только изменив текст запроса "вручную"
Вопрос 04.49 экзамена 1С:Профессионал по платформе. Для создания в запросе строк, сгруппированных с помощью агрегатных функций, на закладке "Группировка" конструктора запросов обязательно должны быть заполнены:
- Только список групповых полей. Указание суммируемых полей не обязательно
- Только список суммируемых полей, при этом остальные поля автоматически попадут в секцию СГРУППИРОВАТЬ ПО в тексте запроса
- Обязательным является указание как групповых, так и суммируемых полей
По остальным полям будет произведена группировка в тексте запроса:
Вопрос 04.50 экзамена 1С:Профессионал по платформе. В конструкторе запросов условия на значения агрегатных функций можно накладывать:- На закладке "Группировка", в списке суммируемых полей при выборе агрегатной функции
- На закладке "Условия"
- На закладке "Итоги", в списке итоговых полей при выборе агрегатной функции
- В конструкторе запросов задать условия на значения агрегатных функций нельзя