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

Содержание:

1.    Из чего состоит консоль запросов 1С:Предприятие

2.    Интерактивное сравнение в 1С двух результатов запроса

3.    План запроса в 1С

Инструмент «Консоль запросов 1С:Предприятие 8.3» предназначен для отладки запросов и просмотра результатов выполнения в режиме 1С:Предприятие.

Консоль запросов 1С:Предприятие 8.3 представляет собой внешнюю обработку для управляемого приложения 1С.

Запускаем 1С:Предприятие. Файл->Открыть.

Выбираем обработку для управляемого приложения 1С ИнструментыРазработчикаКонсольЗапросов.epf  

1.    Из чего состоит консоль запросов 1С:Предприятие

Консоль запросов 1С 8.3 состоит из трех секций (областей): Параметры, Текст запроса, Результат запроса.

Текст запроса можно набрать вручную, но обычно используется конструктор запроса в 1С.

Курсор располагаем в секции “Текст запроса” и из контекстного меню 1С (правая кнопка мыши) вызываем конструктор 1С 8.3 запроса.

Работа с конструктором запроса в 1С – тема для отдельной статьи, поэтому здесь не будем подробно останавливаться на этом.

Выберем необходимые таблицы и необходимые поля. Если нужно, создадим временные таблицы 1С 8.3.

По кнопке Ok закрываем конструктор запроса в 1С. Сформированный текст запроса размещается в области “Текст запроса”.

В демонстрационной базе ERP откроем консоль запросов 1С 8.3. В секцию “Текст запроса” поместим следующий запрос:

 

Часто на практике запрос приходится брать из модуля какого-либо объекта в конфигураторе. После копирования и вставки в секцию “Текст запроса”, запрос выглядит так:

Символ “|” в конфигураторе позволяет перенести текст на следующую строку, но в консоли запросов 1С не нужен. После нажатия кнопки “Выполнить” символы “|” исчезают и автоматически в секции “Параметры” заполняются параметры запроса. В случае изменения текста запроса, параметры также можно заполнить по кнопке “Заполнить параметры”.

В процессе отладки запроса (запрос может быть достаточно объемным) могут понадобиться промежуточные запросы. В этом случае отформатированный текст таких запросов (запрос без символов “|”) удобно временно помещать в обычный “Блокнот” (несколько экземпляров).

Верно и обратное! Запрос, который мы поместили в секцию “Текст запроса” и изменили, можно вызвать в конструкторе запроса. При этом если в запросе присутствует ошибка, то конструктор запроса в 1С выдаст на экран ошибку с указанием, что неправильно.

Также отладка запроса может быть исполнена с использованием оригинального синтаксиса 1С запроса:

sel ect … fr om ….

Запустим запрос на исполнение (Выполнить).

В секции “Результат запроса” получаем результат запроса с количеством строк и временем выполнения.

В консоли запросов 1С:Предприятие есть неочевидная возможность выполнения только выделенной части запроса. Это очень удобно при отладке запроса. Для этого необходимо выделить нужный запрос и выполнить его. В секции “Результат запроса” будет результат именно выделенной части запроса. Это может быть, например, вложенный подзапрос или временная таблица.

Но при этом следует помнить, что выделенная часть должна полностью соответствовать синтаксису 1С запроса, то есть в ней должна быть конструкция вида ВЫБРАТЬ … ИЗ …. И если выполняется временная таблица, то должны быть выделены все временные таблицы в 1С 8.3, которые используются в ней. А в исполняемой временной таблице следует убрать строку ПОМЕСТИТЬ … и все что относится к строке ИНДЕКСИРОВАТЬ ПО …

Но в консоли запросов 1С:Предприятие есть замечательная возможность выполнить запрос с временными таблицами по одноименной кнопке.

В результате запроса видим три таблицы, как раз по числу пакетов в запросе. Две первые таблицы – результат выполнения запросов во временных таблицах. 

2.    Интерактивное сравнение в 1С двух результатов запроса

Интерактивное сравнение в 1С двух результатов запроса выполняется по кнопке “Запросы”. Скопируем наш запрос и выполним его для другого документа “Приобретение товаров и услуг”. Выделим оба запроса.

Выберем Еще->Сравнить результаты запросов.

Поскольку интерактивное сравнение в 1С показало разные результаты, то видим разницу: записи, выделенные красным цветом, различаются.

 

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

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

Рассмотрим некоторые сервисные возможности, которые предлагаются в консоли запросов 1С:Предприятие:

1)    Результат запроса 1С можно сохранить в файл с расширением q1c.

2)    По кнопке Оформление->Закомментировать/ Раскомментировать можно закомментировать и раскомментировать выделенный текст в “Тексте запроса”.

3)    В меню “Еще” -> “Дополнительно” есть несколько настроек. Флажок “Выводить в результатах запроса значения ссылок” позволяет выводить результат запроса, где объекты представлены в виде их уникальных ссылок (GUID — Globally Unique Identifier).

4)    В секции “Текст запроса” можно открыть контекстное меню в 1С (правая кнопка мыши) и выбрать “Текст запроса для конфигуратора”. В этом случае получим запрос в формате для конфигуратора (символ переноса строки “|” в начале каждой строки и кавычки в начале и конце текста).

5)    В секции “Результат запроса” в контекстном меню 1С с помощью команды “Выделить/отменить выделение” можно выделить жирным шрифтом нужные строки результата запроса.

6)    В секции “Результат запроса” в контекстном меню 1С команда “Сохранить результат запроса” позволяет сохранить результат запроса 1С в одном из форматов, указанных на рисунке. 

3.    План запроса в 1С

Есть возможность открыть план запроса в 1С.

Для этого изменим строку в обработке “Консоль запросов 1С 8.3”, открыв ее в Конфигураторе. Закомментируем строку “Текущий пользователь” и напишем другую:

Включаем флажок “Показывать план выполнения запроса” в командной панели.

В модуле объекта обработки “Консоль запросов 1С 8.3” в следующей процедуре проверяется наличие файлов технологического журнала (расширение .log) в каталоге C:\Windows\Temp\1c_logs

Для этого в файле logcfg.xml (расположенном в каталоге вида C:\Program Files (x86)\1cv8\версия платформы\bin\conf) должен быть прописан путь к файлам технологического журнала 1c_logs:

<log history=»1″ location=»C:\Windows\Temp\1c_logs»>

Ссылка “Открыть” становится доступной через некоторое время, поскольку обработчик ожидания (регламентное задание) проверяет наличие файлов с заданной периодичностью.

После выполнения запроса, можно посмотреть план запроса в 1С по ссылке “Открыть”.

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////

При необходимости можно доработать обработку “Консоль запросов 1С 8.3 ” в конфигураторе. Например, изменить расположение секций в удобном для разработчика виде.

Встроить консоль запроса в качестве инструмента в конфигурацию.

Разместить список запросов в виде дерева и многое другое.

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

Мингалеев Ильдар

Содержание

  1. Где найти консоль запросов
  2. Как пользоваться консолью запросов
  3. Возможности консоли
  4. Чем поможет консоль запросов в 1С:ERP Управление предприятием

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

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

В этой статье мы рассмотрим основные возможности консоли запросов и её применение при работе с базами данных на примере конфигурации 1С:ERP Управление предприятием.

Где найти консоль запросов

На данный момент существует достаточно много версий этой обработки. Многие разработчики брали за основу классическую версию и добавляли в нее различные дополнительные функции. В данной статье мы рассмотрим классическую версию обработки, которую можно скачать на сайте ИТС (перейти на сайт ИТС). На сайте доступны версии обработки как для платформы 8.3, так и для 8.2. В этой статье мы будем рассматривать консоль запросов для платформы версии 8.3.

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

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

Обработку можно открыть через меню открытия файла. В верхнем правом углу программы открываем Меню () — Файл — Открыть… и выбираем ранее скачанную обработку.

консоль 1С ERP

Либо можно добавить ее в дополнительные отчеты и обработки через НСИ и администрирование — Администрирование — Печатные формы, отчеты и обработки — Дополнительные отчеты и обработки.

консоль 1С ERP

После открытия перед нами появляется форма с тремя основными разделами:

  • Параметры запроса — в этом разделе можно задать параметры, указанные в тексте запроса;
  • Текст запроса — в этом разделе располагается сам текст запроса. Его можно написать как вручную, так и с помощью конструктора;
  • Результат запроса — в этом разделе выводится результат выполненного запроса.

консоль 1С ERP

Ниже рассмотрим последовательность составления и выполнения запроса, а также возможности консоли запросов. Для примера возьмем задачу: получить актуальные цены номенклатуры на указанную дату.

Все начинается с составления текста запроса. Как было описано выше, его можно написать вручную в соответствующем поле, а можно — с помощью конструктора запросов. Пойдем по второму пути. В разделе “Текст запроса” правой кнопкой мыши вызываем меню: “Конструктор запроса”.

консоль 1С ERP

Откроется форма конструктора. В ней выбираем виртуальную таблицу ЦеныНоменклатуры.СрезПоследних и выбираем поля:

  • Номенклатура;
  • Характеристика;
  • Цена;
  • Валюта.

В параметрах виртуальной таблицы не забываем указать параметр “Период”. Нажимаем на кнопку “ОК”.

1С:ERP консоль запросов

Сформированный текст запроса помещен в соответствующий раздел. Далее заполняем параметры: для этого нажимаем кнопку “Обновить” в командной панели.

1С:ERP консоль запросов

Заполняем параметр и нажимаем кнопку “Выполнить”. В разделе “Результат запроса” консоль запросов сформировала таблицу по нужным нам полям. Помимо этой информации в разделе отображается количество строк в результате запроса, а также время выполнения запроса. Последняя информация является очень полезной для отладки и оптимизации запросов.

Замечание: в данном примере параметр можно было и не заполнять, тогда бы запрос вернул последние актуальные цены номенклатуры на дату 31.12.3999 23:59:59.

1С:ERP консоль запросов

Возможности консоли

Рассмотрим более подробно командную панель консоли запросов. Пойдем слева направо:

1С:ERP консоль запросов

  • Выполнить — выполняет запрос и выводит результат итоговой таблицы.
  • Выполнить запрос с временными таблицами — выполняет запрос и выводит в результат запроса не только итоговую таблицу, но и временные. Такое выполнение особенно полезно при отладке пакетного запроса, когда сложно определить, в какой его части находится ошибка.
  • Добавить новый элемент — добавляет новый параметр в параметры запроса.
  • Выбрать запросы из файла — позволяет открыть ранее сохраненный запрос.
  • Сохранить запросы в файл — сохраняет шаблон запроса.
  • Сохранить запросы как — сохраняет шаблон запроса с указанием пути сохранения.
  • Скопировать запрос — создает копию исходного запроса. Переключаться между этими запросами можно с помощью кнопки “Открыть другой запрос”. 
  • Заполнить параметры — заполняет параметры из текста запроса, мы рассматривали эту кнопку ранее.
  • Подменю “Оформление” — позволяет закомментировать или раскомментировать определенную часть текста запроса. Для этого нужно выделить необходимую часть и нажать соответствующую кнопку.

Чем поможет консоль запросов в 1С:ERP Управление предприятием

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

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

Хотите узнать точную стоимость внедрения?

Заполните короткий бриф – это займет всего 3 минуты. Наши специалисты проведут детальную оценку работ с учетом необходимого вам функционала. Это позволит сформировать максимально точную стоимость внедрения 1С:ERP с минимальной погрешностью (10–20%). Заполнить бриф…

Время на прочтение10 мин

Количество просмотров33K

Привет, Хабр! В одном из недавних проектов мне удалось поближе познакомиться с «Инструментами разработчика» (далее ИР). Это универсальный комплекс средств, который помогает решать широкий спектр задач, поставленных разработчику и администратору. 

Описание всего инструментария будет слишком объемной задачей – многие из них заслуживают отдельной статьи. 

Меня зовут Николай, я 1С-разработчик в SimbirSoft и хочу поделиться собственным опытом применения трех инструментов из набора, которые использую чаще всего: 

  • Консоль запросов;

  • Консоль компоновки;

  • Консоль кода. 

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

ИР можно запустить в двух вариантах: в режиме обычных форм и толстого клиента управляемых форм. Я предпочитаю использовать второй вариант, поскольку большинство современных конфигураций разработаны именно под этот способ. Работа в режиме обычных форм не гарантирована или может возникнуть множество ошибок. Доработки чаще всего не учитывают подобный режим, поэтому их использование часто оказывается невозможным или нестабильным: в процессе постоянно сталкиваешься с ошибками, приводящими к завершению работы клиента. Однако если конфигурация устаревшая или разработана под обычные формы, то остается вариант использования только под обычными формами. Далее использование инструмента «Инструменты разработчика» будет рассматриваться только в режиме управляемых форм.

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

#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
…
#КонецЕсли

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

Установка не представляется сложной – можно запустить портативный вариант в виде набора внешних обработок. Работает только под обычными формами. Просто скачиваете архив с обработками, запускаете ирПортативные.epf.

В виде расширения – работает под управляемыми формами. Расширение можно установить, подключив непосредственно в базу или воспользовавшись установщиком расширения. 

Консоль кода

Консоль кода – достаточно простой инструмент разработчика. Он реализует идею, аналогичную интерактивному режиму ввода кода и проверки его исполнения, существующего в языке Python. Удобно, когда «на лету» можно проверить некоторый участок кода перед вставкой его в основную часть.

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

Другой вариант – это создать внешнюю обработку, добавить форму во внешнюю обработку, создать необходимые реквизиты, запустить обработку, проверить результат. 

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

Консоль кода – альтернативный вариант предыдущим двум:

Инструмент предоставляет среду разработки по написанию кода:

На скриншоте выше я постарался кратко указать самые интересные возможности. Консоль предоставляет множество дополнительных средств, улучшающих ваш код: рефакторинг, инструментарий для замера производительности. Также присутствует подсветка кода, есть синтакс-помощник:

Лично мне больше всего нравится возможность работать с переменными в коде (верхняя таблица). Удобно добавлять необходимые переменные, смотреть значения вычисленных переменных. 

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

Консоль компоновки данных и Консоль запросов

Консоль запросов, равно как и Консоль компоновки данных – одни из самых полезных и нужных инструментов в ИР, когда речь заходит об отладке, анализе запросов или отчетов на СКД (схеме компоновки данных). Когда мы говорим о простых запросах, необходимость в подобных механизмах может исчезнуть, но все меняется, когда запрос стремится превратиться из милого пушистого зверька в монстра (не кормите запросы после полуночи и не мочите водой  :)

На этот случай пригодится тяжелая артиллерия в виде Консоли запросов!

Вот ее плюсы:

  • Получение запроса в Консоль запросов из отладчика в контексте,с использованием функции  ИрОбщий.ОтЛкс инструмента «Отладка ИС».

  • Получение макета компоновки данных в Консоль запросов из отладчика в контексте. 

  • Широкие возможности по анализу данных в Консоли запросов.

  • Возможность получения структуры анализируемого отчета в Консоли (временные таблицы, подзапросы).

  • Возможность просмотра данных по каждому элементу структуры отчета (временные таблицы, подзапросы).

  • Редактирование схемы компоновки и настроек компоновки данных в Консоли.

  • «Сборка» сложных запросов в Консоли.

Передача запроса из отладки в Консоль запросов

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

ТекстЗапросаXML = ОбщегоНазначения.ЗапросВСтрокуXML(Запрос) (конфигурация должна быть интегрирована с БСП). Далее полученный текст вставляем в Консоль запросов 1С:

Этот способ полезен, когда запрос сравнительно не сложный, но имеет ограничения.

Если в полученном XML-тексте будут типы параметров, которые Консоль не может обработать, появится ошибка, и часть параметров из XML-текста не будет передана. В Консоли запросов ИР этого нет, все параметры передаются без проблем. 

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

В процедуре «ПриКомпоновкеРезультата» в режиме отладки остановимся на точке останова: 

Вызовем команду Вычислить выражение (SHIFT – F9). Воспользуемся функцией  ИрОбщий.ОтЛкс инструмента «Отладка ИС»:

Скопируем текст из колонки Значение, выполним команду инструмента разработчика: 

Нажимаем ОК.

В консоли откроется отлаживаемая схема компоновки данных:

Использование функций отладки набора инструментов Инструменты разработчика

Небольшое отступление по поводу функции, которую я использовал для получения макета компоновки данных:

ирОбщий.ОтЛкс(СхемаКомпоновкиДанных, Настройки,,,,"ЗапросСКД",МенеджерВТ)

Параметры:

СхемаКомпоновкиДанных – схема компоновки данных.

Настройки – настройки компоновки данных.

ЗапросСКД – уникальное имя для сохранения на диске получаемого значения (здесь макета компоновки данных). Имеет смысл указывать, если в настройках инструмента вы указали каталог сохранения. Рекомендую всегда указывать каталог сохранения, так как все сохраненные объекты отладки сохраняются в указанном каталоге: остается возможность загрузить объект заново.

МенеджерВТ – Менеджер временных таблиц, так как в запросе набора данных отчета я использовал временную таблицу из менеджера временных таблиц. Менеджер временных таблиц, внешние наборы данных можно передать в функцию, если в передаваемой схеме компоновки данных они используются.

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

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

Итак, мы получили схему компоновку данных. Теперь посмотрим, какие интересные возможности предоставляет нам Консоль:

Возможности консоли компоновки для отладки отчета

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

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

Многие из представленных в обработке команд имеют аналоги в типовой Консоли компоновки данных, но в отличие от типовой Консоли, с помощью нашей рассматриваемой Консоли запросов можно исследовать сформированный СКД-запрос!

Перенос запроса макета компоновки данных в Консоль запросов для анализа

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

Перенести запрос из макета компоновки данных в Консоль запросов можно двумя способами (отмечены на рисунке выше). 

Способ №1. ЛК на Наборы данных. 

Способ №2. ЛК по кнопке Запросы. 

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

Воспользовавшись одним из способов, перенесемся в Консоль запросов для исследования запроса:

Анализ и отладка запроса в Консоли запросов

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

Просмотр структуры запроса – крутая возможность Консоли, открывающая большие возможности по анализу данных. 

Обратите внимание на команды контекстного меню, особенно хотелось бы отметить команды выполнения запросов и поиск зависимых от текущего выделенной таблицы запросов (Зависимые запросы). Когда запрос большой, состоит из большого числа временных таблиц, изменения во временных таблицах влияет на запросы вышестоящих. Точечно обновить их результаты помогают команды выполнения запросов:

Команды Обозначить зависимые запросы и Зависимые запросы помогают в навигации по большим запросам. Находясь на интересующем из них, можно посмотреть, где используется текущая временная таблица:

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

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

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

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

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

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

Останавливаемся в отладчике на нужной строке. Открываем окно «Вычислить выражение» и вычисляем выражение ирОбщий.ОтЛкс(Таблица,,,,,”тестовые данные”). Скопируем текст в колонке Значение. Далее переходим в пользовательский сеанс 1С и вызываем команду “Открыть объект для отладки” на панели инструментов Инструменты разработчика. Вставляем скопированное значение из окна вычислить «Вычислить выражение» и нажимаем ОК. В результате откроется окно «Исследователь объектов», в котором можно исследовать переданный в ИР объект, посмотреть содержимое значения. 

Перейдем к переносу таблицы в наш запрос. В Консоли запросов добавим параметр «Таблица» с типом Таблица значений и откроем значение, нажав лупу в колонке «Значение». Передадим таблицу значений в буфер обмена, как показано на втором скрине. Обратимся к нашей пустой таблице-параметру и выберем команду меню «из буфера обмена». Таблица заполнится переданным значением из буфера обмена (четвертый скрин).

Вставим текст запроса для временной таблицы в текст запроса.

UPD: Автор ИР@tormozitподсказал возможность генерации кода запроса из параметра запроса с типом Таблица значений. Чтобы текст запроса временной таблицы был сгенерирован автоматически, можно использовать команду на панели инструментов параметров. В текст запроса будет добавлен код запроса временной таблицы.

Вывод

Думаю, мне удалось показать, насколько полезным для 1С-разработчика может оказаться Консоль запросов и другие инструменты из набора ИР. Консоль кода помогает упростить отладку и написание кода, а Консоль компоновки совместно с Консолью запросов позволяют значительно упростить отладку особо сложных запросов и отчетов. 

Вот ряд их преимуществ:

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

  • Передача в Консоль скомпонованного для исполнения отчета. Можно сформировать отчет, проверить его настройки, выполнить его с измененной схемой компоновки данных или с измененными настройками. 

  • Возможность проанализировать запрос, который СКД с учетом всех оптимизаций и внутренней кухни приготовила к исполнению. Анализ получившегося запроса часто оказывается критически важным для понимания работы отчета. Известно, что запрос, который будет выполняться может сильно отличаться от того, что хранится в системе компоновки данных. 

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

  • Удобная навигация по структуре запроса, широкие возможности по анализу данных, получаемых в запросе на каждом этапе его исполнения. 

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

Спасибо за внимание!

Полезные материалы для web-разработчиков мы также публикуем в наших соцсетях – ВК и Telegram.

Консоль запросов 1С 8.3

Консоль запросов в платформе 1С:Предприятие 8.3 является мощным инструментом для работы с запросами. Она предназначена для упрощения разработки, анализа и отладки запросов, что делает ее незаменимым помощником для разработчиков. В данной статье мы подробно рассмотрим функционал консоли запросов, ее использование в управляемом режиме и толстом клиенте, возможности настройки и основные сценарии работы.

Что такое консоль запросов

Консоль запросов – это внешняя обработка, которая позволяет выполнять запросы в системе 1С, анализировать их результат и оптимизировать время выполнения. Она используется для работы с данными временных таблиц, анализа плана выполнения запросов и вывода результата в удобном виде. Консоль запросов можно использовать как в толстом клиенте, так и в управляемом режиме, что обеспечивает гибкость ее применения.

Основные возможности консоли запросов

Выполнение запросов

Консоль запросов позволяет выполнять запросы и анализировать результаты выполнения. С ее помощью можно:

1) Запустить выполнение запроса и получить вывод данных;

2) Вывести план выполнения запроса;

3) Провести замер времени выполнения;

4) Сравнить два результата выполнения для анализа изменений.

Работа с временными таблицами

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

Анализ и отладка

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

1) Вывод данных временных таблиц.

2) Отладка запроса с использованием технологического журнала.

3) Анализ плана выполнения в виде дерева.

Настройка параметров

Консоль запросов предоставляет возможность настройки параметров выполнения запроса. Параметры могут быть заданы вручную или рассчитаны автоматически в зависимости от условий работы системы.

Использование консоли запросов

Установка и запуск

Для начала работы с консолью запросов нужно:

1) Скачать внешнюю обработку из каталога на официальном сайте разработчиков.

2) Добавить ее в конфигурацию.

3) Открыть через меню «Файл» или вызвать из списка внешних обработок.

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

Работа с интерфейсом

Интерфейс консоли запросов интуитивно понятен. Главная форма состоит из следующих частей:

1) Поле для ввода текста запроса.

2) Область для вывода результата выполнения.

3) Панель инструментов для настройки параметров и запуска действий.

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

Для упрощения создания сложных запросов можно воспользоваться конструктором запросов. Этот инструмент позволяет выделить необходимые таблицы, выбрать реквизиты и задать условия фильтрации, что особенно удобно при работе с большими объемами данных.

Сохранение и загрузка

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

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

1) Экономия времени: благодаря возможности замера времени выполнения запросов и анализа плана выполнения, разработчики могут быстро находить узкие места.

2) Гибкость: консоль работает как в управляемом режиме, так и в толстом клиенте, что делает ее универсальной.

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

Советы по эффективной работе

1) Используйте комментарии в коде запросов для упрощения анализа.

2) Сохраняйте тексты запросов в отдельный файл для последующего использования.

3) Регулярно проверяйте результаты выполнения на наличие ошибок и некорректных данных.

4) Для сложных задач используйте вывод плана выполнения запроса.

Заключение

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

Автор уроков и преподаватель школы: Владимир Милькин

Если вы не читали введение к урокам — пожалуйста, прочтите его: ссылка.

Установка 1С и знакомство с базой

Для выполнения практической части уроков нам понадобятся три вещи:

  1. Платформа 1С 8.3 (не ниже 8.3.13.1644).
  2. Собственно сама база из которой будем извлекать данные нашими запросами.
  3. Специальная обработка «Консоль запросов», чтобы нам не приходилось для выполнения запросов каждый раз заходить в конфигуратор.

Установка платформы

Если у вас есть установленная 1С версии 8.3 — используйте её. Если нет — скачайте  и установите учебную версию, которую фирма 1С выпускает специально для образовательных целей: ссылка на инструкцию по скачиванию и установке 1С.

На вашем рабочем столе должен появиться вот такой ярлык:

Готово!

Установка и подключение базы данных

Для всех уроков из этого цикла мы будем использовать подготовленную мной базу данных «Гастроном». Скачайте её по следующей ссылке, распакуйте и подключите в список баз.

Обработка «Консоль запросов»

Все запросы на наших уроках мы будем выполнять в режиме 1С:Предприятия. Для этого нам понадобится предназначенная для этого обработка «Консоль запросов». Скачайте её по этой ссылке и распакуйте на рабочий стол.

Знакомство с базой

Наконец, рабочее место настроено и сейчас самое время открыть нашу базу «Гастроном» в режиме 1С:Предприятия:

Пользователь: Администратор.
Пароль пустой.

Знакомство с базой 3

Наша база уже содержит определенные данные. Вы можете в этом убедиться, если пощёлкаете по объектам базы из меню верхней панели (Еда, Вкусы, Цвета и так далее):

Виды объектов

Еда, Вкусы, Цвета, Клиенты, Заказы клиентов … — всё это прикладные объекты базы данных. Прикладными они называются потому, что служат для решения какой-то прикладной задачи.

Например, объект Еда служит для хранения информации о том, какая бывает еда, а объект Заказы клиентов хранит информацию о заказах, которые были сделаны нашими клиентами.

Для уроков пока нам достаточно уяснить, что прикладные объекты базы данных бывают двух видов: Справочники и Документы.

Справочники

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

Документы

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

Кто есть кто в нашей базе

А теперь, основываясь на информации приведенной выше, попробуйте разделить объекты нашей базы на Справочники и Документы.

Не торопитесь смотреть в ответ. Сначала сформируйте свои мысли.

Настоящие имена наших объектов

Те имена объектов (Еда, Вкусы, … , Заказ клиента и так далее), которые мы видим в режиме 1С:Предприятия далеко не всегда являются настоящими. Чаще всего они выглядят так, чтобы их приятно было читать пользователю.

Но для написания запросов нам необходимо знать именно настоящее имя объекта. Как его можно выяснить?

К примеру, если бы мы задались целью написать запрос для получения данных по заказам клиентов могли бы мы использовать имя «Заказ клиента», которое отображается в режиме 1С:Предприятия? Конечно же нет, потому что оно не настоящее. Настоящее имя объекта можно узнать в режиме 1С:Конфигуратор.

Зайдите в конфигуратор базы данных и выполните из главного меню «Конфигурация»-«Открыть конфигурацию»:

Знакомство с базой 2

Вот они наши объекты (и тут, кстати очень хорошо видно кто Справочник, а кто Документ)  и их настоящие имена.

Итак, какое настоящее имя у объекта «Заказ клиента»?

Наш первый запрос

Давайте, наконец, напишем наше «Hello, World» для запросов. Конечно, язык запросов, как и любой другой язык, имеет свои правила, но к их рассмотрению мы перейдём со следующего урока. А пока, просто примите как данность следующий текст запроса:

ВЫБРАТЬ
    *
ИЗ
    Справочник.Еда

Запрос очень простой и, в принципе, интуитивно понятный. Попробуйте разобраться в нём самостоятельно и только потом смотрите объяснение.

Ну запрос-то мы составили, но как бы нам его теперь «испытать»? Для этого нам понадобится запустить базу в режиме 1С:Предприятия и открыть обработку «Консоль запросов», которую мы распаковали на рабочий стол вот так…

05

… или вот так (если у вас более новая версия платформы):

Вот как она выглядит в запущенном виде:

Упражнения на запросы в 1С 8 5

В этой обработке перейдите в окошко «Текст запроса». Вот в него мы и будем писать  запросы. Вставьте туда наш запрос:

Нажмите кнопку «Выполнить».

Готово! В окошке «Результат запроса» отобразилась таблица со всеми элементами из справочника Еда (строки — элементы, столбцы — свойства):

07

Пройдите тест

Перейти к следующему уроку

Для учеников

Уровень сложности уроков идёт снизу вверх. Поэтому старайтесь заниматься последовательно, ничего не пропуская и не откладывая на потом.

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

На вопросы учеников — отвечаю по почте,  но прежде загляните в ЧАВО (ссылка) .

С уважением, Владимир Милькин

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Радиотелефон texet tx d7505a инструкция
  • Rm111 цифровой мультиметр инструкция
  • Релиф свечи инструкция по применению при геморрое наружном
  • Паранит репеллент защита от вшей спрей инструкция
  • Технологическая инструкция скачать doc