-

Конструктор (построитель) запроса в 1С

2
4840
22.01.2021 Сергей Пушкин

Содержание:

1.       Что такое построитель запросов и зачем он нужен?

2.       Как работает конструктор запросов в 1С?

3.       Итоги  


1.      Что такое построитель запросов и зачем он нужен?


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


Запросы применяются для быстрого получения необходимых данных из объектов информационной базы 1С, а конструктор запроса в 1С помогает описать правила получения этих данных технически и синтаксически правильно.  


2.      Как работает конструктор запросов в 1С?


Единственным обязательным элементом любого запроса к базе данных является предложение «ВЫБРАТЬ». Именно в нем перечисляются необходимые поля выборки, которые необходимо получить в составе результата запроса.


Язык запросов требует следования определенным правилам написания, чтобы текст запроса был правильно интерпретирован. С консолью запросов эти правила знать совершенно необязательно.


Пример 1. Создание запроса при помощи конструктора


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


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


Перемещение справочника в построителе запросов

Перемещение справочника в построителе запросов


2. Раскрыть выбранный справочник и так же перетащить необходимые поля (Ссылка «Наименование») в правую панель окна конструктора запросов. В результате в правой панели разместятся эти два выбранных реквизита справочника.


справочник в построителе запросов

Реквизиты справочника в окне конструктора запросов


Жмем «ОК» и вуаля – текст запроса готов! Построитель запросов сделает все остальное. В результате будет получен правильно написанный текст запроса, который можно использовать для получения данных, например, в консоли запросов или для создания отчета.


"ВЫБРАТЬ

|    Валюты.Ссылка КАК Ссылка,

|    Валюты.Наименование КАК Наименование

|ИЗ

|    Справочник.Валюты КАК Валюты"

* Символ «|» означает перенос строки текста, заключенного в кавычки, т.е. информирует о том, что на переводе строки этот текст не прерывается, а имеет продолжение.


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


Пример 2. Добавление в запрос условий


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


1. Перейти на вкладку «Условия». В левой панели окна конструктора запросов будут размещены объекты, участвующие в выборке.


Вкладка условия построителя запросов

Вкладка условия построителя запросов


2. Раскрыть выбранный справочник – перетащить в правую панель реквизит «Ссылка» (или два раза щелкнуть по этому реквизиту). В результате в правой панели будет размещен выбранный реквизит, автоматически указаны вид сравнения «=» и имя параметра.


Окно конструктора запросов с выбранным реквизитом

Окно конструктора запросов с выбранным реквизитом


3. Так как по нашему условию требуется выбрать все валюты за исключением одной, мы должны поменять вид сравнения на «<>».


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

Замена вида сравнения в построителе запросов


4. Нажимаем «Ок» – получаем готовый тест запроса.

"ВЫБРАТЬ

|    Валюты.Ссылка КАК Ссылка,

|    Валюты.Наименование КАК Наименование

|ИЗ

|    Справочник.Валюты КАК Валюты

|ГДЕ

|    Валюты.Ссылка <> &Ссылка"

 

Здесь важно, что добавилось предложение «ГДЕ», в котором указано условие, по которому необходимо отобрать элементы справочника «Валюты». Указав в качестве значения параметра ссылку на валюту, которая в результате не требуется, можно будет получить все остальные валюты. Так происходит добавление условий в конструктор запросов.


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


Группировки используются для получения агрегированных значений в запросе (минимум, максимум, сумма количество и т. д.). Допустим, нам необходимо получить количество различных валют по каждому способу установки курса. Наименования в данном примере нам не потребуются, а потребуются только ссылки, чтобы посчитать их количество.


1. Убираем из выборки поле «Наименование», добавляем в выборку поле «СпособУстановкиКурса».


Добавления поля в окно конструктора запросов


Добавления поля в окно конструктора запросов


2. Переходим на вкладку «Группировка», перетаскиваем «Валюты.СпособУстановкиКурса» в правую верхнюю панель, а «Валюты.Ссылка» в правую нижнюю панель. Конструктор самостоятельно укажет агрегатную функцию в запросе «Количество различных».


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


Агрегатная функция в запросе «Количество различных»


3. Так как мы добавили способ установки курса после того, как ссылка уже фигурировала в выборке, после нажатия «Ок» порядок следования полей будет таким: «Ссылка» – «СпособУстановкиКурса». Нам удобнее, чтобы группировочное поле (наш показатель) располагалось первым по очереди, а его значение вторым. Поэтому, переходим на вкладку «Объединения/Псевдонимы».


Объединения/Псевдонимы в построителе запросов


Вкладка «Объединения/Псевдонимы» в построителе запросов


4. Синей стрелкой перемещаем поле «Ссылка» вниз под поле «СпособУстановкиКурса». А имена полей меняем на те, которые будут более наглядными: «СпособУстановкиКурса» оставляем (имя показателя соответствует тому, что мы в итоге хотим получить). «Ссылка» меняем на «Количество».


Изменение имен полей при использовании конструктора запросов

Изменение имен полей при использовании конструктора запросов


* Жирный шрифт означает, что для поля задан псевдоним.


5. Нажимаем «Ок» – получаем готовый тест запроса.

"ВЫБРАТЬ

|    Валюты.СпособУстановкиКурса КАК СпособУстановкиКурса,

|    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Валюты.Ссылка) КАК Количество

|ИЗ

|    Справочник.Валюты КАК Валюты

|ГДЕ

|    Валюты.Ссылка <> &Ссылка

|

|СГРУППИРОВАТЬ ПО

|    Валюты.СпособУстановкиКурса"

 

Следует отметить:

· Порядок следования полей стал такой, какой нам нужен. Сначала идет показатель, затем его значение.

· Второе поле получило псевдоним «Количество» – это имя следует за «КАК».

· В тексте запроса появилась агрегатная функция «КОЛИЧЕСТВО(РАЗЛИЧНЫЕ»

· В тексте запроса появилось предложение «СГРУППИРОВАТЬ ПО» для выбранного нами поля.


Пример 4. Добавление нестандартного условия через конструктор запросов.


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


1. Из созданного ранее текста запроса в поле конструктора запросов копируем агрегатную функцию в запросе. Полностью всю конструкцию до псевдонима: «КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Валюты.Ссылка)».


2. Переходим в конструкторе на вкладку «Условия».


3. Нажимаем «+» (Добавить) в правой панели, у добавленного поля устанавливаем флаг в колонке «Произвольное», активируем содержимое поля «Условие» двойным щелчком, вставляем скопированный текст «КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Валюты.Ссылка)» и дополняем его следующим текстом: «=1».


поля при использовании конструктора запросов

«КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Валюты.Ссылка)» в построителе запроса


4. Нажимаем «Ок» и смотрим, что получилось.


"ВЫБРАТЬ

|    Валюты.СпособУстановкиКурса КАК СпособУстановкиКурса,

|    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Валюты.Ссылка) КАК Количество

|ИЗ

|    Справочник.Валюты КАК Валюты

|ГДЕ

|    Валюты.Ссылка <> &Ссылка

|

|СГРУППИРОВАТЬ ПО

|    Валюты.СпособУстановкиКурса

|

|ИМЕЮЩИЕ

|    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Валюты.Ссылка) = 1"

 

В запросе появилось еще одно предложение «ИМЕЮЩИЕ». Смысл его заключается в том, что условие на выборку накладывается уже после выполнения агрегатной функции. Что нам и требовалось.  


3.   Итоги


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


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

Сергей Пушкин

Задать вопрос автору статьи
Тема вопроса*
Ваше имя*
E-mail или телефон*
Ваш вопрос*
 

0
Guest
Статья не соответствует описанию.....
Имя Цитировать 0
0
Guest
При чем здесь построитель запросов, если в статье рассматривается конструктор запросов...
Имя Цитировать 0
Добавить комментарий
Текст сообщения*
Защита от автоматических сообщений
 
Теги
# абота Риелторского Агентства # Управление торговлей 11 #Работа Риелторского Агентства # 1C # CRM-система # Cинтаксис-помощник # Cинхронные методы работы # PDF документами # PowerShell # XML-файл # Бизнес-процесс # Глубина анализа # Графические объекты # Динамический список # Документ заполнен # Документ Отбор (размещение) товаров # Документ Отгрузка товаров ИС МП # Документ Приобретение товаров и услуг # Документ УПД # Доступ на ТСД # ДтКт # ЕАЭС # Закладка Администрирование # Зарплата и кадры # Имя таблицы # ИТС # Кабель NYM(Севкабель) 3x5.5 # Книга учета доходов и расходов # Курс валюты # Лицо с правом подписи # Лицо, имеющее право подписи документов # Маркировка цифровыми кодами # Минимальные цены продажи в 1С # Настройка НСИ и разделов # Настройка ценообразования # НДФЛ # Нематериальные активы # Оплата через банк # Основное ответственное лицо организации # Перемещение ТС и оборудования # Проведение инструктажа # Продажи или Закупки # Прочие доходы # Пункт Подключить обработки # Пункт Сервис # ПФР и ФФОМС # Работа ТС # Расчет налога УСН # Расчетные счета # Система «Честный знак» # Система GS1 # Списание на расходы # Справка-расчет налога УСН # Страховые взносы # Таблица формы # Таблица формы «Сотрудники» # Товары # Установка цен на товары # Формат Цифровой Маркировки # Функция Дата # Функция ДеньГода # Функция ДеньНедели # Центральный Банк России # Цены номенклатуры 2.5 # Элементы #1.6-НДФЛ #1С Бухгалтерия #1С: CRM #1С: ERP #1С: ERP Управление строительной организацией #1С: ERP. Управление буровой компанией #1С: WMS Управление складом #1С: Аренда и управление недвижимостью #1С: БУХ #1С: Договорчики #1С: Документооборот #1С: ЗУП #1С: Интеграция #1С: КА #1С: Колледж #1С: Конвертация данных #1С: Модули #1С: Платформа #1С: Розница #1С: Сценарное тестирование #1С: ТОИР #1С: УАТ #1С: УКФ #1С: Университет #1С: УНФ #1С: УПП #1С: Управление строительной организацией #1С: УТ #1С: УХ #1С:ERP #1С:БГУ #1С:БП #1С:Риелтор #1С:Управление холдингом #1С.6-НДФЛ #ADO #APACHE #API #canonical #com-объекты #Excel #Excel в 1С #GoogleDrive #Googleаккаунт #HTTP #ITIL #Koderline: Управление медиа-холдингом #Koderline: Управление проектами строительства скважин #LINUX #MS SQL Server #PDF #WEB #WEB-сервисы 1С #Word #WS-ссылки #XML #Администрирование 1С #Адрес URL описания #акты в 1С #Безопасность сервера #Бесшовная интеграция #БИТ.Финанc #Битрикс24 #Блокировки в 1С #БСП #БУ #Бурение скважин #Бухгалтерская отчётность в МСФО #Бюджетирование #Вид Характеристики #Внедрение #Внедрение ERP #Внешний вид формы #Выбор каталога #Выбранные файлы #Документ Отпуск #Документ1 #Загрузка цен в 1С #Задача для 1С #Закрытие месяца #Заменить #Запись регистра сведений #Запросы 1С #Интеграция 1С #Интервал dpi #История пользователя #КАК ОТРАЖАЮТСЯ ТОВАРЫ В ПУТИ 1С #Как сделать в 1С #Карточка Объекта недвижимости #Клиент-серверная схема #Код ЦМТ #Конвертация данных #Контроль документов #Конфигурация 1С #Копирование настроек пользователей #Корпоративное сопровождение #Лизинг #Лицензии 1С #Массовая регистрация отгулов #Меню Отчет #Механизм Анализа Данных в 1С #Моделирование #Модуль Диадок #МРОТ #МСФО #Налоги #Начисления Арендной платы #Обмен между базами #Обновления #Операции в 1С #Оптимизация #Организация #Отпуск #Отчетность #Отчеты в 1С #Оценка задач #Параметр «Количество» #Партнер #Перенос данных #Перенос цен из Excel в 1С #Периодичность ДЕНЬ #Периодичность МЕСЯЦ #Планирование #Поле Ввода Значение Субконто #Полезные обработки #Пользовательский режим #Правила обмена #предопределенные элементы справочников #Принцип работы 1С #Проводки 1С #Программа 1С #Программирование в 1С #Программные права #Продажа ТМЦ #Продажи #Продление #Производство #Просмотр #Путь к файлу #Работа с объектами в 1С #Расторжение #Расчетные документы #Расширение конфигурации #Регламентированная отчетность #Результаты поиска #РСБУ #С # #СЗВ-СТАЖ #СКД #Соединение COM в 1С платформе #Соединение СОМ в 1С платформе #Сравнение конфигураций #Счет-фактура #Территориальная привязка #Территориальные рамки #Тестирование 1С #Техническое задание #Типы данных ссылки #Торговое оборудование #Транспортная логистика #Управление проектами #Установка цен номенклатуры #Финансовый учет #Формат MicrosoftExcel #Функционал МРМ #Х-точка #Характеристики Товаров #Хранилище настроек #Хранить историю изменений #Ценообразование #Чтение #Экзамен 1С #Яндекс-диск или Google-диск #Яндекс.Касса 1С под Linux 1С:УНФ Email или телефон Работа с объектами в 1С Функциональные опции в 1С
Услуги программиста 1С
Получите специалиста  
для решения всех задач
в области 1С
Программы 1С
Цены и подробное описание программ 1С:Предприятие 8.