gifts2017

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

Опубликовал Boris Leleko (Boris-Leleko) в раздел Программирование - Инструментарий

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

Скачать файлы

Наименование Файл Версия Размер
cons83.epf 31
.epf 92,93Kb
10.12.14
31
.epf 92,93Kb Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Сергей Иванов (u_n_k_n_o_w_n) 28.11.14 15:55
Хороший инструмент.
Давно такого не хватало.
Спасибо.
2. Boris Leleko (Boris-Leleko) 10.12.14 13:32
1. Добавил экспортную функцию:
Функция ДобавитьМенеджерВТ(Запрос) Экспорт
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Возврат "Добавлен менеджер ВТ"
КонецФункции
для тех случаев если не определен в коде МенеджерВременныхТаблиц то перед выполнением запроса надо вызвать в табло:
ВнешниеОбработки.Создать("E:\1C\cons83.epf").ДобавитьМенеджерВТ(Запрос)

2. исправил ошибку с границей в параметрах.
3. Добавил Отладочный текст
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа