gifts2017

Консоль-функция "Просмотр временных таблиц и пакетных запросов".

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

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


Консоль-функция "Просмотр внутренних таблиц".
Консоль-функция избавляет от ручного копирования текста запроса и избавляет от необходимости создавать подмены таблицам значений передаваемых в запрос в качестве параметров. Обработка сама всё захватит и сохранит для дальнейшего использования. Кроме того, все параметры запроса, включая таблицы значений и массивы возможно редактировать как и сам запрос и повторного вызывать выполнение полученного/отредактированного запроса уже на стороне "предприятия". Обработка позволяет сохранить текст запроса и все параметры, включая таблицы значений, массивы, моменты времени, границы и пр. в файл формата XML. Так же, консоль удобна для создания пакетных запросов и запросов с временными таблицами.

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

Режим функции

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

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

Описание параметров функции

Запрос - В данный параметр передаётся объект запроса.
ПоказатьФорму - Параметр сообщает обработке о необходимости показать форму с результатом запроса. Варианты Истина и Ложь.
Данные - Информация создаваемая самой функцией, для работы самой функции. При первом запуске функции этот параметр не указывается.
При вызове внешней обработки необходимо указать полный путь и имя обработки.

Данные = ВнешниеОбработки.Создать("C:\ПросмотрВременныхТаблиц 1.0.epf").ОбработатьЗапрос(Запрос, ПоказатьФорму, Данные);

Использование в режиме функции

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

...
Запрос.Выполнить();
Данные = ВнешниеОбработки.Создать("C:\ПросмотрВременныхТаблиц 1.0.epf").ОбработатьЗапрос(Запрос, Истина);

Обработка получает через параметр "Запрос" всю необходимую информацию, а "ПоказатьФорму" сообщает обработке о необходимости показать результаты и открыть форму.  

2. Если запрос разбит на 2  и более частей, тогда возникает необходимость передачи некоторой информации в повторно вызываемую обработку. Для этого при повторном вызове обработки в параметр "Данные" передаётся результат функции из прошлого вызова обработки.
...
Запрос.Выполнить();
// Первый вызов. Окно открывать пока не нужно.
Данные = ВнешниеОбработки.Создать("C:\ПросмотрВременныхТаблиц 1.0.epf").ОбработатьЗапрос(Запрос, Ложь);

...
Запрос.Выполнить();
// Последний вызов. необходимо отобразить окно с результатом и передать данные в третий параметр.
Данные = ВнешниеОбработки.Создать
("C:\ПросмотрВременныхТаблиц 1.0.epf").ОбработатьЗапрос(Запрос, Истина, Данные);


3. При работе с запросом разбитым на более чем 2 части. В запросах расположенных между первым и последним функцию вызываем как при последнем вызове, только в параметре "ПоказатьФорму" задаём значение Ложь.

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

Наименование Файл Версия Размер Кол. Скачив.
Консоль-функция для просмотра внутренних таблиц.
.epf 44,12Kb
01.06.14
82
.epf 1.4 44,12Kb 82 Скачать

См. также

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

Комментарии

1. Александр Кораблев (akor77) 27.02.13 08:00
Доброго времени суток. Данная консоль-функция ещё на доработке. Вчера столкнулся с ошибкой, которая вызвана наличием в тексте запроса оператора "УНИЧТОЖИТЬ". Происходит бесконечное зацикливание. В выходные подправлю. Просьба сообщать о найденных ошибках.
2. bulpi bulpi (bulpi) 27.02.13 15:22
Отличается от похожих публикаций наличием внятного описания использования, за это несомненный плюс.
3. serge_focus (serge_focus) 02.08.13 00:14
За идеи наработки большое спасибо! Надеюсь будет полезной при отладке и оптимизации сложных запросов.
4. Макс Зеленский (mzelensky) 09.06.14 16:30
5. Сергей Муравьёв (murenysh) 26.10.16 15:14
бесполезна в клиент-серверном варианте
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа