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


Теперь можно в табло посмотреть произвольные ВТ, сделанные в других запросах и переданные через МенеджерВременныхТаблиц.
И также посмотреть их в пользовательском режиме.

Достало, что никто не делает эту штуку. Решил сам сделать.
Взял типовую консоль. Немного допилил.

Для того, чтобы поспотреть ВТ в табло, надо вставить туда что-то типа:

ВнешниеОбработки.Создать("E:1Ccons83.epf").GET("Q1", Запрос, " ВТ_КосвенныеРасходы,  ВТ_РасходыСНастройкой,  МетодыРаспределенияКосвенныхРасходов")

Функция GET пытается  сначала инициализировать структуру, возвращаемую модулем: ОтладкаЗапросовПовтИсп.ПолучитьКэш();

Если оного нет, то создает новую структуру и возвращает её в табло.

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

Если конфигурация позволяет, то можно добавить модуль ОтладкаЗапросовПовтИсп  с одной единственной функцией:

Функция ПолучитьКэш() Экспорт
Кэш = Новый Структура;
Возврат Кэш;
КонецФункции

Не забудьте у модуля поставить флаг повторно возвращаемых значений.

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

При заполнении параметров есть ограничения.

1. Граница периода преобразуется в дату. Если тип границы — включая, то к дате прибавляется секунда. 

2. Если параметр массив, то он преобразуется в список значений.

Также консоль раз в 5 мин. сбрасывает и перезаполняет кэш повторно возвращаемых значений. Иначе кэш сбрасывается через 10-20 мин. Так что можно и кофе пойти попить спокойно.

 

Функция ДобавитьМенеджерВТ(Запрос) Экспорт 
    Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
    Возврат "Добавлен менеджер ВТ"
КонецФункции
 

для тех случаев если не определен в коде МенеджерВременныхТаблиц то перед выполнением запроса надо вызвать в табло:
ВнешниеОбработки.Создать(«E:1Ccons83.epf»).ДобавитьМенеджерВТ(Запрос)

2 Comments

  1. u_n_k_n_o_w_n

    Хороший инструмент.

    Давно такого не хватало.

    Спасибо.

    Reply
  2. Boris-Leleko

    1. Добавил экспортную функцию:

    Функция ДобавитьМенеджерВТ(Запрос) Экспорт

    Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;

    Возврат «Добавлен менеджер ВТ»

    КонецФункции

    для тех случаев если не определен в коде МенеджерВременныхТаблиц то перед выполнением запроса надо вызвать в табло:

    ВнешниеОбработки.Создать(«E:1Ccons83.epf»).ДобавитьМенеджерВТ(Запрос)

    2. исправил ошибку с границей в параметрах.

    3. Добавил Отладочный текст

    Reply

Leave a Comment

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