Консоль запросов 1с как пользоваться
Консоль запросов 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С становятся серьезной проблемой в процессе изучения программы. Пользователям, не обладающим достаточным опытом, приходится запоминать многочисленные операторы и области их применения. Эффективно решает эту проблему конструктор запросов 1С. Этот инструмент, встроенный в платформу 1С 8.3, облегчает работу с запросами и освобождает пользователя от дополнительной нагрузки.
Как применять конструктор запросов 1С
Воспользоваться конструктором 1С можно в специальных обработках или конфигураторе. Специальные обработки – это консоли запросов, позволяющие сохранить конфигурацию на поддержке. Для запуска конструктора потребуется однократный клик правой клавишей мыши в поле для создания кода или в модулях. Затем необходимо выбрать из списка нужный пункт.
В конфигураторе поочередно выполняются следующие действия:
- Переход в один из модулей.
- Выбор одного из двух пунктов в контекстном меню. Первый пункт открывает конструктор запроса. После взаимодействия с ним у пользователя остается только готовый текст запроса. Второй пункт помогает пользователю написать запрос и создает операторы, которые потребуются для его обработки и выполнения. Данный функционал способен ускорить процесс разработки бизнес-приложений, но не во всех случаях в этом есть необходимость.
После вызова конструктора перед пользователем открывается форма данного механизма. Она поделена на несколько закладок, каждая из которых имеет индивидуальное назначение и функциональные возможности:
«Таблицы и поля». Это стартовая вкладка, где отражена вся информация о задействованных полях и таблицах в запросе. В левой части находится общее дерево конфигурации, в правой – конечные поля, а в центре расположены источники информации для выборки. Здесь должна быть заложена основа запроса из секций «выбрать из».
«Связи». В этом разделе содержится информация о выбранных таблицах, а также поля, по которым они соединены. Нередко 1С предлагает собственные варианты связей, основываясь на похожих типах данных, но опытные программисты предпочитают их изменять. В тексте запроса информация из этой вкладки формируется в конструкцию «Соединение».
«Группировка». В этом разделе строки группируются по определенным полям, а с числовыми реквизитами проводятся простые арифметические операции. В тексте запроса данные расположены в разделе «Сгруппировать по».
«Условия». В этом разделе выставляются дополнительные условия на данные, которые оказываются в результате выборки. В тексте присутствует после оператора «Где».
- «первые» предоставляет возможность выбирать конкретное количество записей (в тексте определяется, как «Первые N»);
- «без повторяющихся» - исключает в конечной выборке наличие повторяющихся строк (в тексте определяется, как «Различные»);
- «разрешенные» - запускает учет настроенных прав доступа в случае выполнения запроса (оператор «Разрешенные»);
- определение типа запроса из трех возможных вариантов – обычной выборки, формирования или ликвидации временной таблицы;
- блокировка данных (предназначается для автоматического режима блокировок в целях сохранения целостности информации на период от чтения до записи).
«Объединения/Псевдонимы». С левой стороны пользователь видит перечень запросов, а с правой он может менять имя реквизита или совмещать данные из группы запросов. Эти настройки находятся в виде текста по операторам «Как» и «Объединить».
В этом разделе сортируются итоговые записи. Он связан с оператором «Упорядочить по».
Дополнительные функции конструктора запросов
Перечисленные ранее разделы конструктора необходимы для правильной настройки запроса на выборку данных для любой задачи. Но в отдельных случаях пользователь вынужден обращаться и к дополнительным настройкам конструктора. Чаще всего из этого списка задействована опция формирования пакетных запросов. Для ее активации нужно обратиться к заключительной вкладке конструктора запросов.
Пакет запросов требуется пользователю в тех случаях, когда появляется необходимость в получении нескольких выборок данных за одно обращение к базе или во время работы с временными таблицами. Это особенный вид таблиц с информацией, которые конструируются 1С в период выполнения запроса. В случае их использования они станут доступными в будущих обращениях в дереве конфигурации в первом разделе конструктора.
Пользователь способен создавать временные таблицы с помощью конструктора и самостоятельно. Вкладка «Таблицы и поля» содержит клавишу формирования описания временной таблицы в среднем окне. Чаще всего данной опцией пользуются в целях передачи таблиц в запрос извне. Рядом располагается клавиша формирования вложенного запроса. Результат этого запроса к базе данных можно использовать в дальнейших операциях.
У конструктора есть еще одна опция, но используется она сравнительно редко. Это вывод итогов. В разделе «Итоги» пользователь задает необходимые ему арифметические расчеты с числовыми полями. В текстовом виде эта настройка отображается в виде оператора «Итоги по».
«Построитель» - раздел конструктора с оригинальным набором опций. Здесь есть все настройки, которые позволят запросу быть выполненным интерактивно или без участия человека. Можно изменить текст запроса с учетом данных, которые были введены изначально. В текстовом виде выполненные настройки «построителя» заключаются в фигурные скобки.
В некоторых случаях приходится обращать внимание на текстовый вид запроса во время взаимодействия с конструктором. Для выполнения этой операции нужно активировать клавишу «запрос», расположенную в левом нижнем углу. После активации клавиши откроется окно с текстом запроса к базе. Нажав на соответствующую клавишу, пользователь сможет внести коррективы. Конструктор добавит изменения во вкладки при закрытии.
Невозможно безошибочно пользоваться функционалом и хорошо понимать принципы работы конструктора, не имея практического опыта. Чем больше пользователь работает с программой, тем быстрее его запросы становятся оптимальными. Специалистам, продолжающим создавать коды в текстовом виде, конструктор поможет быстро находить в операторах опечатки.
В любом случае, если возникли вопросы, обращайтесь к специалистам технического сопровождения 1С, мы с радостью вам поможем.
Читайте также: