Открытие консоли запросов при отладке из кода (Обычное приложение)


Часто для проверки работы запроса его текст приходится копировать в консоль запросов и проверять. Скопировать текст несложно. Досадная сложность возникает когда запрос имеет много параметров. Данная публикация о том как можно быстро открыть консоль запросов с текстом необходимого запроса и с уже заполненными параметрами.

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

Мысль следующая: В общий модуль (клиентский) добавляется процедура открытия Консоли запросов. А по коду, в процессе разработки она может быть вызвана в любой момент. После полного заполнения объекта «Запрос» просто вставляется вызов процедуры и в режиме 1С Предприятие (обычное приложение) выполняется вызов необходимого участка кода. Будет открыта консоль запросов с заполненными параметрами. Останется нажать кнопку «Выполнить» и работайте с запросом себе на здоровье. … После отладки строка вызова запроса просто удаляется из кода. … Процедура живет себе в базе, никому не мешает и вызывается разработчиком в тех случаях когда она ему нужна. 

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

Процедуру вызова поместил в модуль обработки. Скопируйте ее вобщий модуль (модуль должен иметь флажок «Клиент(обычное приложение)» )

 

8 Comments

  1. KliMich

    Спасибо! Идея интересная.

    Надо будет попробовать.

    Reply
  2. Armando

    Откройте для себя Подсистема «Инструменты разработчика»

    Там это есть

    Reply
  3. Serj1C

    Во-первых, баян.

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

    Короче век живи — век учись.

    Reply
  4. q_i

    Идея интересная.

    Правда, вместо общего модуля наверное лучше было бы запихнуть это в экспортную процедуру/функцию модуля внешней обработки и вызывать через ВнешниеОбработки.Создать(«C:ОткрывашкаКонсолиЗапросов.epf»).ОткрытьВКонсолиЗапросов(Запрос). В этом случае получилась бы portable-версия.

    Reply
  5. students

    Уже давно использую аналогичную консоль. БАЯН

    Reply
  6. Kov495

    Хорошая статья!

    Reply
  7. help1Ckr

    Гениально, как сам не додумался(

    Reply
  8. KillerMann

    За идею +

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *