Консоль запросов 1с как пользоваться

Обновлено: 03.07.2024

Консоль запросов 1с - удобный инструмент для построения и отладки запросов в режиме предприятия 1с. С помощью консоли запросов Вы можете выполнять запрос к базе 1с и видеть результат запроса прямо на экране в 1с предприятии. В этой статье мы рассмотрим две консоли одну для 1с 8.2 (обычные формы), а вторая может работать как в обычных так и в управляемых формах 1с 8.3.

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

  1. Для обычных форм (1с 8.2)
  2. Для управляемых форм (1с 8.3)
  3. Смешанный (работает как на 1с 8.2 так и на 1с 8.3)

В нашей статье мы рассмотрим две консоли, первая работает только на 1с 8.2 (обычные формы), а вторая работает на 1с 8.3 (управляемые формы). Они немного отличаются друг от друга, об отличиях мы поговорим дальше, а пока отметим что в управляемых приложениях консоль будет работать должным образом только в режиме запуска "Толстый клиент".

Кнопка для скачивания консоли запросов 1с 8.2

Ниже представлен скриншот обработки, Вы можете скачать консоль запросов 1с для обычного приложения 1с 8.2

Основная форма обработки консоль запросов 1с 8.2

Кнопка для скачивания консоли запросов 1с 8.3

А это вторая консоль, ее скриншот вы также можете видеть на экране ниже, по ссылке Вы можете скачать консоль запросов 1с для управляемого приложения 1с 8.3

Основная форма обработки консоль запросов 1с 8.3

Описание принципов работы и основного функционала консоли запросов 1с для обычного приложения 1с 8.2

Пример работы с консоль запросов 1с 8.2

Данная консоль запросов 1с 8.2 для обычного приложения проста в использовании, и не требует от пользователя каких-то особых знаний. На скриншоте Вы можете наблюдать тестовое поле для написания запроса, в нем можно писать запрос как вручную так и с помощью конструктора. Под цифрой 1 на рисунке вы видите кнопку "Параметры", щелкнув на нее мы увидим форму для подстановки параметров в запрос, мы к ней еще вернемся. Под цифрой 2 Вы видите рабочую область и панель действий с самим запросом, тут мы можем добавлять запросы, удалять их, а также сохранять в отдельный файл на диске. Под цифрой номер 3 в консоли запросов 1с 8.2 находится настройка вывода результата, он может выводиться с в виде таблицы либо иерархично в виде дерева, второй вариант используется тогда когда нам нужно увидеть иерархию в результате запроса. Пункт 4 показывает нам есть ли временные таблицы в запросе, если есть то мы их можем отладить и посмотреть результат выполнения который помещается во временную таблицу.

Теперь давайте рассмотрим некоторые отдельные моменты в консоли запросов 1с.

Окно с параметрами консоли запросов 1с 8.2

Выше Вы наблюдаете окно в котором подставляются параметры в запрос. Нажав на кнопку "Из запроса" мы получим параметры которые указаны в запросе, теперь нам остается выставить нужные значения и закрыть форму. Кстати если вы редактируете запрос и у вас ранее добавленные параметры на форме уже не используются, то они будут выделяться серым. Если таких параметров много их можно удалить из окна с помощью кнопки "Удалить неиспользуемые".

Работа с временными таблицами в консоле запросов 1с 8.2

Если у Вас в запросе есть временные таблицы то Вы можете в отдельных подзапросах их отлаживать и видеть результат выполнения данного подзапроса, если в главном окне консоли запросов 1с мы видим что имеются временные таблицы, то щелкаем на кнопку "Временные таблицы" (пункт 4 на главном окне консоли). После нажатие появится окно которые мы видели выше, в нем показаны все временные таблицы запроса, щелкаем "Отладить" и увидим следующее окно.

Пример отладки подзапроса виртуальной таблицы в консоли запросов 1с 8.2

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

Краткое описание функционала консоли запросов 1с для управляемого приложения 1с 8.3

Мы с Вами познакомились с основными функциями консоли запросов 1с 8.2 , теперь пришло время рассмотреть консоль запросов 1с 8.3. Данную обработку так подробно как предыдущую мы рассматривать не будем, а вкратце пробежимся по основным параметрам и настройкам.

Как выглядит консоль запросов

Рассмотрим этот инструмент подробнее.

Авторство обработок не моё, я лишь объединил 2 наиболее удачные, на мой взгляд, консоли.

Описание консоли запросов 1С

Если Вас интересует, как пишутся запросы в системе 1С, рекомендую ознакомиться со статьей Описание языка запросов 1С и Описание конструктора запросов 1С.

Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания - попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>

Начнем рассмотрение консоли запросов с описания главной панели обработки:

верхняя панель

В шапке консоли запросов можно увидеть время выполнения последнего запроса с точностью до миллисекунды, это позволяет сравнивать разные конструкции по производительности.

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

Далее идут кнопки, отвечающие за инициализацию запроса:

действия

параметры запроса 1С

Позволяют установить текущие параметры для запроса.

В окне параметров запроса интересно следующее:

список значений

Также в верхней панели очень есть кнопка вызова настроек консоли запросов:

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

Где можно указать параметры автосохранения запросов и параметры выполнения запроса.

Конструктор запроса 1С 8.3 вызывается из контекстного меню (правая кнопка мыши) при нажатии на поле ввода:

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

В нижнем поле консоли запросов отображается поле результата запроса, ради чего и создана эта обработка:

поле результатат

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

Другие статьи по 1С:

СДРКонсольЗапросовХ – инструмент для программиста, позволяющий создавать и отлаживать запросы для баз 1С 8.3, а также обрабатывать результаты запросов (тонкий, толстый, web клиент). Не зависит от конкретной конфигурации, никаких БСП.

Работает с современными конфигурациями 1С с запретом на использование модальности и синхронных вызовов. Для конфигураций, использующих БСП, есть возможность подключения обработки к справочнику "ДополнительныеОтчетыИОбработки".

Видео инструкции по работе с консолью можно посмотреть здесь

Если Вас заинтересовала эта обработка, то рекомендую обратить внимание на Навигатор по базе данных 1С 8.3

В плане интерфейса использована классическая схема: дерево запросов, запрос и результаты запроса.

Особенности

  • Работает с современными конфигурациями 1С (с запретом на использование модальности и синхронных вызовов)
  • Заточена на интерфейс «Такси» - мало место для работы по сравнению с неуправляемыми формами (поэтому экономим место: можно погасить дерево запросов, результаты запроса и вообще ничего лишнего стараемся не показывать)
  • Оптимизирован обмен данными между клиентом и сервером
  • Не содержит избыточного функционала, редко используемого в практической работе
  • Для всех форм обработки установлен вариант масштаба "Компактный". Если кому то это не нравится и хочется использовать платформенную кнопку "Изменить масштаб", то надо в конфигураторе для всех форм обработки установить вариант масштаба "Авто".

Работа с деревом запросов

  • Запросы хранятся в виде дерева (как обычно)
  • Можно сохранить или загрузить все дерево запросов (в файл или из файла)
  • Можно сохранить отдельную веточку запросов в файл
  • Можно подгрузить в отдельную ветку запросов запросы из файла
  • Можно копировать запросы (вместе с параметрами и таблицами МВТ) или перетаскивать их в другие ветки дерева
  • ВАЖНО: корень дерева не предназначен для работы с запросом

Работа с текстом запроса

  • Поддержка пакета запросов
  • Можно выполнить весь пакет, либо только выделенную часть пакета
  • В поля выборки можно вставить специальное поле, чтобы вместо ссылки выводился GUID
  • В пакет запроса можно вставить специальный разделитель, чтобы выполнение пакета остановилось на этом месте
  • Выделенную часть запроса можно закомментировать, раскомментировать или преобразовать в строку для вставки в код скрипта 1С

Параметры запроса

  • В параметрах запроса кроме стандартных, может быть таблица значений, граница, момент времени, уникальный идентификатор
  • В параметре можно указать битую ссылку (ссылку не несуществующий объект)
  • В качестве параметру можно указать выражение на языке 1С, которое будет вычисляться перед выполнением запроса
  • Можно скопировать выбранные параметры из одного запроса в другой
  • Можно редактировать таблицу значений, являющуюся параметром запроса

Таблицы МВТ

  • Здесь располагаются таблицы значений, которые перед выполнением запроса помещаются в менеджер временных таблиц
  • В основном используется при перехвате сложных запросв из отладчика
  • Можно скопировать выбранные таблицы из одного запроса в другой
  • Т аблицы значений можно редактировать

Результаты запроса

  • Результаты запроса оформляются в виде таблицы значений или дерева значений
  • Временные таблицы пакета запроса также оформляются в виде таблицы значений (по желанию)
  • Есть возможность показывать итоги по числовым колонкам таблицы результатов или временных таблиц
  • Есть возможность показывать итоги для выделенных строк по числовым колонкам таблицы результатов или временных таблиц
  • Кликнув мышкой по ячейки результирующей таблицы значений можно открыть значение в стандартной форме (если там находится ссылка на объект)
  • Можно открыть значение ячейки таблицы в специальной форме, предоставляющей доступ ко всем реквизитам объекта (Редактор объектов информационной базы 8.3 – встроен в консоль запросов). Как самостоятельно встроить более новую версию "Редактора объектов" описано здесь.
  • В специальной форме можно открыть не только ссылочный объект, но и хранилище значения (поддерживаются массив, список значений, структура, соответствие, таблица значений, табличный и текстовый документ)
  • Можно загрузить таблицу результатов запроса в параметр запроса либо сохранить в файл
  • Можно загрузить таблицу результатов запроса в менеджер временных таблиц запроса
  • Можно выгрузить ссылочные объекты из произвольной колонки результатов запроса в формате XML (для последующей загрузки в базу). Для обмена данными можно использовать файлы или строку, передаваемую через буфер обмена.

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

  • Есть возможность остановиться в отладчике и сохранить запрос с параметрами и временными таблицами в файл, который затем можно подгрузить в консоль для отладки.
  • Есть возможность остановиться в отладчике и сформировать XML-представление запроса с параметрами и временными таблицами, из которго в консоли можно сформировать запрос для отладки (передается через буфер обмена без использования промежуточных файлов)
  • Функция общего модуля для сохранения запроса из отладчика прилагается, пример вызова: омОтладка.СохранитьЗапросДляСДРКонсолиХ(Запрос, "D:\1Cv8\Запросы\000") или омОтладка.СохранитьЗапросДляСДРКонсолиХ(Запрос) - формирует XML-представление запроса
  • В функцию сохранения запроса в качестве первого параметра можно передать Запрос или МакетКомпоновкиДанных
Функция для перехвата запроса из отладчика (актуальный текст функции приведен на закладке "Настройки" обработки)

Для обработки результатов запроса есть закладка «Алгоритмы»

  • в Web клиенте выполнить алгоритм можно только на стороне сервера
  • Алгоритм – это код на языке 1С
  • Алгоритмы хранятся в виде дерева, функционал аналогичен дереву запросов
  • ВАЖНО: корень дерева не предназначен для работы с алгоритмом
  • Алгоритмы могут выполнятся как на стороне сервера, так и на стороне клиента; имеют доступ к результатам запроса, можно указать дополнительные параметры (число, дата, ссылка и т.д.)
  • В консоль встроены примеры реализации алгоритмов на стороне сервера и клиента. В примере для клиента обратите внимание на строки «//--- Сервер:старт» и «//--- Сервер:финиш» - код между этими строками будет выполняться на сервере.

Видео инструкции по работе с консолью можно посмотреть здесь

Некоторые примеры скриншотов


Здесь в том числе приведен текст функции общего модуля для перехвата запроса в отладчике


Просмотр и редактирование параметра типа "ТаблицаЗначений"


Если использовать нестандартную форму для выбора типа параметра, то выбор организован более интелектуально - типы объектов не сваливаются в одну кучу, а разбиты по категориям


Вывод уникального идентификатора объекта в результатах запроса

Просто в псевдониме поля надо добавить строку "__GUID__" (во временных таблицах и при выгрузке в дерево значений игнорируется)

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

Как применять конструктор запросов 1С

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


В конфигураторе поочередно выполняются следующие действия:

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


После вызова конструктора перед пользователем открывается форма данного механизма. Она поделена на несколько закладок, каждая из которых имеет индивидуальное назначение и функциональные возможности:

«Таблицы и поля». Это стартовая вкладка, где отражена вся информация о задействованных полях и таблицах в запросе. В левой части находится общее дерево конфигурации, в правой – конечные поля, а в центре расположены источники информации для выборки. Здесь должна быть заложена основа запроса из секций «выбрать из».


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


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


«Условия». В этом разделе выставляются дополнительные условия на данные, которые оказываются в результате выборки. В тексте присутствует после оператора «Где».


  • «первые» предоставляет возможность выбирать конкретное количество записей (в тексте определяется, как «Первые N»);
  • «без повторяющихся» - исключает в конечной выборке наличие повторяющихся строк (в тексте определяется, как «Различные»);
  • «разрешенные» - запускает учет настроенных прав доступа в случае выполнения запроса (оператор «Разрешенные»);
  • определение типа запроса из трех возможных вариантов – обычной выборки, формирования или ликвидации временной таблицы;
  • блокировка данных (предназначается для автоматического режима блокировок в целях сохранения целостности информации на период от чтения до записи).


«Объединения/Псевдонимы». С левой стороны пользователь видит перечень запросов, а с правой он может менять имя реквизита или совмещать данные из группы запросов. Эти настройки находятся в виде текста по операторам «Как» и «Объединить».


В этом разделе сортируются итоговые записи. Он связан с оператором «Упорядочить по».


Дополнительные функции конструктора запросов

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


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

Пользователь способен создавать временные таблицы с помощью конструктора и самостоятельно. Вкладка «Таблицы и поля» содержит клавишу формирования описания временной таблицы в среднем окне. Чаще всего данной опцией пользуются в целях передачи таблиц в запрос извне. Рядом располагается клавиша формирования вложенного запроса. Результат этого запроса к базе данных можно использовать в дальнейших операциях.


У конструктора есть еще одна опция, но используется она сравнительно редко. Это вывод итогов. В разделе «Итоги» пользователь задает необходимые ему арифметические расчеты с числовыми полями. В текстовом виде эта настройка отображается в виде оператора «Итоги по».


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

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


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

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

Читайте также: