Консоль запросов для управляемого приложения как пользоваться
Консоль запросов 1с - удобный инструмент для построения и отладки запросов в режиме предприятия 1с. С помощью консоли запросов Вы можете выполнять запрос к базе 1с и видеть результат запроса прямо на экране в 1с предприятии. В этой статье мы рассмотрим две консоли одну для 1с 8.2 (обычные формы), а вторая может работать как в обычных так и в управляемых формах 1с 8.3.
Для того чтобы начать работу с обработкой Вам для начала необходимо скачать консоль запросов 1с, ниже мы дадим ссылки на скачивание, а пока давайте отметим тот факт, что консоль запросов 1с может быть классифицирована и отнесена к одному из следующих видов:
- Для обычных форм (1с 8.2)
- Для управляемых форм (1с 8.3)
- Смешанный (работает как на 1с 8.2 так и на 1с 8.3)
В нашей статье мы рассмотрим две консоли, первая работает только на 1с 8.2 (обычные формы), а вторая работает на 1с 8.3 (управляемые формы). Они немного отличаются друг от друга, об отличиях мы поговорим дальше, а пока отметим что в управляемых приложениях консоль будет работать должным образом только в режиме запуска "Толстый клиент".
Ниже представлен скриншот обработки, Вы можете скачать консоль запросов 1с для обычного приложения 1с 8.2
А это вторая консоль, ее скриншот вы также можете видеть на экране ниже, по ссылке Вы можете скачать консоль запросов 1с для управляемого приложения 1с 8.3
Описание принципов работы и основного функционала консоли запросов 1с для обычного приложения 1с 8.2
Данная консоль запросов 1с 8.2 для обычного приложения проста в использовании, и не требует от пользователя каких-то особых знаний. На скриншоте Вы можете наблюдать тестовое поле для написания запроса, в нем можно писать запрос как вручную так и с помощью конструктора. Под цифрой 1 на рисунке вы видите кнопку "Параметры", щелкнув на нее мы увидим форму для подстановки параметров в запрос, мы к ней еще вернемся. Под цифрой 2 Вы видите рабочую область и панель действий с самим запросом, тут мы можем добавлять запросы, удалять их, а также сохранять в отдельный файл на диске. Под цифрой номер 3 в консоли запросов 1с 8.2 находится настройка вывода результата, он может выводиться с в виде таблицы либо иерархично в виде дерева, второй вариант используется тогда когда нам нужно увидеть иерархию в результате запроса. Пункт 4 показывает нам есть ли временные таблицы в запросе, если есть то мы их можем отладить и посмотреть результат выполнения который помещается во временную таблицу.
Теперь давайте рассмотрим некоторые отдельные моменты в консоли запросов 1с.
Выше Вы наблюдаете окно в котором подставляются параметры в запрос. Нажав на кнопку "Из запроса" мы получим параметры которые указаны в запросе, теперь нам остается выставить нужные значения и закрыть форму. Кстати если вы редактируете запрос и у вас ранее добавленные параметры на форме уже не используются, то они будут выделяться серым. Если таких параметров много их можно удалить из окна с помощью кнопки "Удалить неиспользуемые".
Если у Вас в запросе есть временные таблицы то Вы можете в отдельных подзапросах их отлаживать и видеть результат выполнения данного подзапроса, если в главном окне консоли запросов 1с мы видим что имеются временные таблицы, то щелкаем на кнопку "Временные таблицы" (пункт 4 на главном окне консоли). После нажатие появится окно которые мы видели выше, в нем показаны все временные таблицы запроса, щелкаем "Отладить" и увидим следующее окно.
Из рисунка выше мы видим что добавился подзапрос к основному запросу, текст запроса представлен в поле для текста запросов, пункт 1. Соответственно результат запроса мы видим в пункте под номером 3.
Краткое описание функционала консоли запросов 1с для управляемого приложения 1с 8.3
Мы с Вами познакомились с основными функциями консоли запросов 1с 8.2 , теперь пришло время рассмотреть консоль запросов 1с 8.3. Данную обработку так подробно как предыдущую мы рассматривать не будем, а вкратце пробежимся по основным параметрам и настройкам.
Рассмотрим этот инструмент подробнее.
Авторство обработок не моё, я лишь объединил 2 наиболее удачные, на мой взгляд, консоли.
Описание консоли запросов 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С 8.3 и 8.2, которая будет работать в обоих случаях. Только учтите, что консоль на управляемом интерфейсе у вас откроется только в толстом клиенте.
Работа с консолью запросов
В левой части консоли запроса представлен сам список ваших запросов. Это позволяет вам хранить не один запрос, а сразу несколько. Дерево запросов имеет иерархическую структуру, что очень удобно для их группировки.
Нажав на кнопку «Добавить» вы можете добавить новый запрос, самостоятельно задав ему имя. Так же встроенный функционал позволяет создавать запросы с копированием, перемещать вверх или вниз по списку и многое другое.
Сам текст запроса отображается в правой части формы обработки. Его можно написать вручную, либо при помощи конструктора запросов. Конструктор запросов работает только в толстом клиенте.
Правее кнопки конструктора находится кнопка «Вставить операторы запроса». Она сразу добавит пустую конструкцию запроса с условием, группировкой, порядком и итогами.
Правее расположены очень полезные кнопки, которые помогут, если данный запрос вы используете при разработке решений на 1С.
Получите понятные самоучители по 1С бесплатно:
Кнопка позволяет преобразовать написанный вами запрос в текст. В нашем случае это будет выглядеть так, как показано на рисунке ниже.
Далее расположены кнопки добавления и удаления переносов. Это необходимо для того, чтоб удобно переносить написанный и отлаженный запрос из консоли в программный код и обратно.
Сами запросы вы можете сохранять в файл либо подгружать из него. Это очень удобно для возможности дальнейшего использования.
Перед непосредственным выполнением запроса необходимо установить его входные параметры (при их наличии), далее нажать на кнопку «Выполнить запрос». Так же здесь есть возможность выполнять запросы не целиком, а отдельно какой-либо пакет.
Режим просмотра определяет то, как будет выведен результат запроса: списком, иерархическим списком, либо деревом.
Результат выполнения будет отображен в самом низу консоли запроса. Так же там отображается количество полученных строк и время выполнения. При необходимости вы можете перемещать строки результата запроса.
Очень часто пользователи просят сделать выборку каких-либо данных и сохранить их в Excel. Это может понадобиться и вам. Для выполнения задачи вам всего-навсего достаточно в меню «Еще» выбрать пункт «Вывести список». Программа предложит отметить необходимые колонки.
Кроме задания перечня колонок для вывода тут так же можно и указать конкретные строки. Это реализуется путем выделения строк в самом запросе. Далее в форме выбора колонок достаточно установить флаг в настройке «Только выделенные».
Кроме табличного документа вы можете сохранить результат запроса и в текстовый документ.
В нашем примере мы вывели все данные результата запроса. Сохранить их во внешний файл, можно скопировав из открывшегося табличного документа, либо при помощи комбинации горячих клавиш «Ctrl+O». Вариантов форматов для сохранения много, мы выбрали «*. xlsx».
Как видите, работа в консоли запросов очень удобна и полезна, поэтому настоятельно рекомендуем ее скачать и применять на практике.
При разработке в конфигурациях 1С программисты получают данные из базы как результат компиляции запросов. Нередко успешность решения задачи сводится к оптимальному построению запроса. Достичь успеха в этом непростом деле разработчикам помогает специальный инструмент в виде внешней обработки – «Консоль запросов». Без нее намного сложнее научиться понимать основные принципы создания оптимальных запросов на выборку данных из базы.
Где найти и как использовать консоль
Большая популярность консоли запросов привела к тому, что ее выкладывают на большинстве сайтов, связанных с разработкой в 1С. Можно найти классические версии инструментария, как на сайте ИТС, или доработанные разработчиками с дополнительными функциями. Поэтому найти и скачать консоль запросов для 1С версии 8.3 или младше не составит труда. Специалисты, предоставляющие консультации по ведению 1С, советуют обращать внимание на отзывы, чтобы не попасть на вирусы под видом этого полезного инструмента.
Обработка представляет собой небольшой файл с расширением epf, который вы сможете открыть в 1С с помощью меню открытия файла. Для удобства есть возможность добавить ее в дополнительные обработки программы – чтобы при необходимости быстро открыть консоль запросов из 1С. В любом случае при открытии разработчик увидит форму, состоящую из 3 основных разделов:
- Заполнение параметров. Часто этот раздел совмещен с перечнем запросов, если консоль поддерживает работу с несколькими запросами;
- Сам запрос. В толстом клиенте можно воспользоваться конструктором запросов платформы 1С;
- Вывод результата.
Для отладки и оптимизации запросов на языке 1С программисты вставляют текст в соответствующий раздел, заполняют параметры и проверяют результат работы. Чтобы заполнить параметры, необходимо найти соответствующую вкладку или раздел, а для запуска – нажать кнопку «Выполнить» или ее аналог – клавишу «F7». Кроме вывода перечня полей, в консоли отражается время выполнения запроса и количество строк, выведенных в соответствующий раздел.
Практически в любой из распространяемых версий консоли запросов есть и дополнительные функции, позволяющие существенно облегчить работу.
Возможности консоли запросов 1С 8.3
В первую очередь отметим возможность выполнить не весь текст запроса, а его часть, и проверить результат. Это может пригодиться, если у вас пакетный запрос, но вы не можете определить, в какой части ошибка. Достаточно лишь выделить мышью кусок и нажать «Выполнить».
Многие консоли могут выдавать результат каждого запроса в пакете в соответствующем разделе. Некоторые включают эту функцию по умолчанию, в некоторых версиях программисту придется нажать на отдельную команду «Выполнить пакет». Полезной будет и возможность просмотра временных таблиц, созданных в процессе выполнения текста запроса. Для этого найдите команду «Просмотр временных таблиц».
Разработчикам часто приходится писать аналогичные друг другу запросы, и консоль может облегчить эту задачу. С ее помощью вы сможете сохранять шаблоны и загружать их с помощью 1 кнопки. Для этого воспользуйтесь командой «Сохранить» и на компьютере будет создан файл с текстами ваших запросов. Если часто просят сделать определенную выборку данных, то эта функция, как и следующая, будет полезна.
Сохранение данных результата запроса в файл распространенного формата позволяет решить частые задания без создания внешних отчетов. Намного быстрее запустить консоль запросов и написать только текст обращения к базе данных, чем оформлять форму отчета и писать процедуры вывода. Команда «Вывести список…» предложит вам несколько вариантов и позволит выгрузить лишь выделенные строки и определенные столбцы.
Отличия в версиях этой универсальной обработки продиктованы тем, что многие разработчики настраивают консоль под себя и распространяют уже обновленную версию. Так же можете поступить и вы, если в скачанной версии вам чего-либо не хватает.
Читайте также: