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

Саму завдання можна сформулювати наступним чином: потрібна можливість з відладчика (Конфігуратора) відкрити Консоль запитів в "1С: Підприємство" так, щоб в цій Консолі запитів та внесіть необхідні були заповнені текстом і параметрами цікавить нас запиту.

Для вирішення цього завдання будемо використовувати саму звичайну Консоль запитів (НЕ-геномодифіковану, без подвійного дна).

Опис рішення (для цікавих; нецікаві можуть пропустити цей розділ).

І нарешті, останнє - це параметри запиту типу ТабліцаЗначеній. Штатним чином в Консолі запитів можна задати таблицю значень в якості значення параметра. Але в реальних запитах таблиці значень в якості параметрів нехай не часто, але все-таки трапляються (наприклад, Запрос.Текст = "ВИБРАТИ * З ТЗ ЯК ТЗ "). Вирішуючи це завдання, я дізнався, що означає загадковий прапорець" В "в формі параметрів запиту в Консолі запитів (до цього мені якось особливо не було до нього справи). Виявляється, якщо встановити цей прапорець (на насправді називається він "ЕтоВираженіе"), то Консоль запитів в якості значення параметра буде використовувати результат обчислення виразу, заданого в "значення параметра" (тобто вона візьме текст з "значення параметра" і застосує до нього функцію Обчислити (). а отриманий результат буде використовувати як значення параметра запит а). Ось так сервіс! Ну що ж - тоді провернём ще раз нашу махінацію з тимчасовими файлами. Всі параметри запиту, які мають тип ТабліцаЗначеній, за допомогою звичайного ЗначеніеВФайл () будемо зберігати в тимчасові файли, а в якості значень таких параметрів в Консолі запитів будемо вказувати "ЗначеніеІзФайла (ІмяВременногоФайла)" і встановлювати це чарівний прапорець "В".

Код модуля обробки

Обробка складається всього з однієї експортної функції ОткритьКонсольЗапросов (Запит, ФайлКонсоліЗапросов = "", Модально = Істина).

Параметри цієї функції:

  • Запит - це об'єкт запит, який потрібно відкрити в Консолі запитів.
  • ФайлКонсоліЗапросов - це повне ім'я файлу Консолі запитів. Параметр необов'язковий. Якщо не вказано, то обробка вважає, що консоль запитів має ім'я "КонсольЗапросов.epf" і знаходиться в тому ж каталозі, що і сама обробка.
  • Модально - вказує чи потрібно відкривати Консоль запитів в модальному режимі (Істина) чи ні. Параметр також необов'язковий. За замовчуванням - Істина (тобто Консоль запитів відкривається в модальному режимі).

Тепер про те, як використовувати цю обробку.

У режимі налагодження викликаємо діалог "Обчислити вираз." (Shift + F9), пишемо вираз виду

  • ВнешніеОбработкі.Создать ( "КаталогЕтойОбработкі \ ОткривашкаКонсоліЗапросов.epf"). ОткритьКонсольЗапросов (Запит, "КаталогКонсоліЗапросов \ КонсольЗапросов.epf", Істина)

і натискаємо кнопку "Розрахувати". Якщо останній параметр Істина (або не заданий), то Консоль запитів відкриється в модальному режимі, і ми можемо відразу перейти в "1С: Підприємство" і працювати з відкрилися запитом. Якщо останній параметр Брехня, то Консоль запитів відкриється в "1С: Підприємство" ПІСЛЯ того, як ми натиснемо F5 ( "Продовжити налагодження").

  • КаталогЕтойОбработкі \ ОткривашкаКонсоліЗапросов.epf - це повне ім'я файлу цієї обробки.

Ще приклади запуску:

  • ВнешніеОбработкі.Создать ( "КаталогЕтойОбработкі \ ОткривашкаКонсоліЗапросов.epf"). ОткритьКонсольЗапросов (Запит) - відкриє Консоль запитів, яка має ім'я "КонсольЗапросов.epf" і знаходиться в каталозі "КаталогЕтойОбработкі".
  • ВнешніеОбработкі.Создать ( "КаталогЕтойОбработкі \ ОткривашкаКонсоліЗапросов.epf"). ОткритьКонсольЗапросов (Запит. Брехня) - те ж саме, але Консоль запитів відкриється в немодальному режимі.

Власне і все. Побажання і зауваження по справі вітаються!