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

Конструктор запроса 1С
Конструктор запроса 1С — это один из инструментов разработки, который позволяет:
Конструктор запроса с обработкой результата — это один из инструментов разработки, который позволяет:
- сформировать текст нового запроса;
- сформировать программный код, содержащий создание объекта встроенного языка «Запрос», текста запроса, получение и обработку результата выполнения запроса (фрагмент программного кода, который исполняет запрос и выводит его результаты в табличный документ или диаграмму — отсюда );
- отредактировать текст имеющегося запроса.
Конструктор запросов может использоваться:
Использование в режиме 1С:Предприятие позволяет квалифицированным пользователям самостоятельно получать выборки данных, для которых нет типовых отчетов.
Вызов конструктора текста запроса 1С:
С помощью кнопок «Далее» и «Назад» можно перемещаться по закладкам конструктора и указывать, какие данные должны присутствовать в результате запроса, как они связаны, сгруппированы, какие итоги следует рассчитать, работать с временными таблицами, редактировать пакет запросов:
Результатом работы конструктора будет являться синтаксически правильный текст запроса.
Таким образом, разработчик может составить работоспособный запрос, даже не владея синтаксисом языка запросов — необходимые синтаксические конструкции конструктор сгенерирует автоматически. Готовый текст запроса может быть сразу же вставлен в текст модуля или скопирован в буфер обмена.
Промокоды на Займер на скидки
Кроме этого конструктор запросов позволяет редактировать уже имеющийся в программе текст запроса. Для этого достаточно установить курсор внутри существующего текста запроса и вызвать конструктор. Имеющийся текст запроса будет проанализирован и представлен в конструкторе в виде соответствующих выбранных полей базы данных и набора заданных связей, группировок, условий и т.д.
Текст запроса может содержать описание предопределенных данных конфигурации:
1С событие обновления динамического списка
- позволяет включить возможность установки блокировки данных, которая обеспечивает сохранность данных от момента их чтения до изменения (актуально только для «Автоматического режима блокировок», конструкция ДЛЯ ИЗМЕНЕНИЯ); позволяет заблокировать данные указанных таблиц-источников на чтение (в рамках транзакции).
- в режиме автоматических транзакционных блокировок) происходят блокировки:
- в варианте файл-сервер — на уровне таблиц базы данных;
- в варианте клиент-сервер — на уровне записей таблиц базы данных.
- Если список «Таблицы для изменения» — пуст, то будут блокироваться данные всех таблиц, задействованных в запросе, иначе — только таблиц, указанных в списке.
Вкладки конструктора запроса 1С
На этой вкладке указывается источник данных и поля, которые необходимо выводить в отчет (по сути описываются конструкции ВЫБРАТЬ … ИЗ).
В качестве источников данных могут служить:
В контекстном меню виртуальных таблиц можно задать параметры этих таблиц.
На закладке «Таблицы и поля» конструктора запросов задают:
- источники данных запросов, в качестве которых могут выступать реальные и виртуальные таблицы;
- набор полей из таблиц — источников данных запроса;
- поля в виде произвольного выражения.
Закладка «Связи» становится доступна сразу после добавления двух таблиц.
На закладке «Связи» конструктора запросов можно определить соединение таблиц-источников данных и связи между ними.
Язык запросов предоставляет широкие возможности по построчному соединению нескольких таблиц.
Соединение таблиц может быть:
- безусловным ;
- условным (или по ключу ), то есть по заданному условию связи:
- полным — все записи обеих таблиц; для тех, которым не нашлось соответствия, запрос возвращает NULL;
- левым/правым — все записи из соответственно левой/правой таблицы (из противоположной только те, которым есть соответствие), для не найденных запрос возвращает NULL. Примечание : консоль запросов всегда преобразует правое соединение в левое, меняя таблицы местами (в случае, если запрос написать вручную, и потом открыть конструктором);
- внутренним — только совпадающие записи обеих таблиц.
В случае безусловного соединения, в конструкторе запросов достаточно определить выбираемые таблицы, не указывая, по каким полям они будут связаны (то есть не заполняя закладку Связи).
На практике чаще встречаются задачи соединения по определенному полю двух таблиц.
В конструкторе запросов тип условного соединения регулируется флажком «Все» — где он стоит, из той таблицы и выбираются все записи.
Флажок «Все», устанавливаемый у таблицы, выбранной на закладке «Связи» конструктора запросов означает что в результат запроса надо включить все записи этой таблицы.
При соединении таблиц-источников данных в конструкторе запросов можно назначить необходимое количество соединений с указанием необходимого количества условий связи, причем эти условия могут быть как простые, так и произвольные.
На данной вкладке система позволяет группировать и суммировать нужные поля результата таблицы. Описывается использование конструкций СГРУППИРОВАТЬ ПО, СУММА, МИНИМУМ, СРЕДНЕЕ, МАКСИМУМ, КОЛИЧЕСТВО, КОЛИЧЕСТВО РАЗЛИЧНЫХ.
При описании группировки в тексте запроса все поля должны делиться:
Вложенные таблицы не попадают ни в группируемые, ни в агрегируемые поля.
Количество записей в результате запроса можно узнать с помощью агрегатной функции КОЛИЧЕСТВО(*).
Это может быть полезным, когда меняются связи топология , либо меняются значения связей, либо производится выбор значения из истории списка.

Создание формы выбора
За основу возьмем некую тестовую конфигурацию 1С:»Бухгалтерия предприятия 3.0″. Не будем сейчас делать подбор, просто в справочнике «Номенклатура» добавим еще одну форму выбора и сделаем ее временно основной:
При создании система по умолчанию добавит на форму табличное поле с типом «Динамический список».
В первую очередь нас интересует флажок «Произвольный запрос». Он-то и откроет нам все преимущества динамического списка. У нас появится возможность написать собственный запрос, причем с параметрами. Устанавливаем флажок и нажимаем ссылку «Открыть»:
Откроется окно с уже готовым кодом на языке запросов. Пока что там просто перечислены все поля справочника «Номенклатура».
Как видим, имеется кнопка вызова «Конструктора запроса» и флажок, который дает возможность динамически изменять содержимое списка. То есть когда другой пользователь меняет что-то в справочнике, в нашем списке это тоже изменится. Кроме того, имеется закладка «Настройки», но ее мы коснемся позже.
Динамические списки: использование и установка параметров в 1С 8.2 и 8.3.
- По реквизитам табличных частей.
- Поля представлений.
- Поле ВерсияДанных.
- Поле ИмяПредопределенныхДанных.
- Поле Вид таблицы плана счетов.
- Поле ВидДвижения таблицы регистра накопления.
- Поле ТипЗначения таблицы плана видов характеристик.
- Поле типа Тип;
- Поле типа Строка (неограниченной длины).
- Поле типа ДвоичныеДанные.
- Не поддерживаются объединения.
- Не поддерживается использование секции УПОРЯДОЧИТЬ ПО. Следует использовать запрос без основной таблицы или задавать необходимое упорядочивание через настройки динамического списка.
Программная установка параметров запроса в динамическом списке 1С 8.3
Не забываем, что в запросе у нас присутствуют два параметра: «Период» и «Тип цен». Мы должны передать их в запрос, иначе будет ошибка.
Пропишем эти параметры в параметрах формы, а в модуле формы добавим следующие строки:
Значения параметров можно передать из объекта, откуда вызывается форма, либо другие, установленные по умолчанию.
Далее на форму с «Динамическим списком» можно добавить таблицу значений, куда будут при двойном клике передаваться строки с выбранным товаром и затем переноситься в документ.
Также на форму можно добавить флажок «Запрашивать количество».
В этом случае мы получаем уже простенький подбор товаров, однако с достаточно расширенными возможностями.
Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
Задача: Получить программно данные динамического списка на форме со всеми отборами, поиском, условным оформлением, настройками и т.д.
Это может понадобится для совершенно любых задач: печать полученных данных, отправка их по почте, обработка данных и тому подобное.
Решение: Для реализации этого решения достаточно иметь версию платформы 1с начиная с ‘8.3.6.1977’ и знать два новых метода динамического списка:
- ПолучитьИсполняемуюСхемуКомпоновкиДанных() – получаем схему компоновки данных;
- ПолучитьИсполняемыеНастройкиКомпоновкиДанных() – получаем все настройки динамического списка;
Допустим в справочнике “Футбольные клубы” у нас в форме списка есть реквизит “Список” – тип “Динамический список”:
Добавляем на форме команду “ПолучитьДанныеСписка” и прописываем следующий код:
Далее проверяем в режиме 1с предприятия: устанавливаем любой отбор и добавляем поиск по наименованию:
Нажимаем на команду “ПолучитьДанныеСписка” и смотрим результат:
Вот таким простым способом мы можем считать данные с любого динамического списка под любыми настройками!
Так же можно ознакомиться более подробно с этой информацией по следующей ссылке.
Микрофинансирование → Микрокредиты → Специальные предложения → Скачать файлы → Обзор Быстроденег → Предмет договора → Ответственность сторон → Отличные наличные→ Экспресс займы