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








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


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

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

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

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

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

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

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

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

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

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


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

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

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

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


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

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

5 Comments

  1. akor77

    Доброго времени суток. Данная консоль-функция ещё на доработке. Вчера столкнулся с ошибкой, которая вызвана наличием в тексте запроса оператора «УНИЧТОЖИТЬ». Происходит бесконечное зацикливание. В выходные подправлю. Просьба сообщать о найденных ошибках.

    Reply
  2. bulpi

    Отличается от похожих публикаций наличием внятного описания использования, за это несомненный плюс.

    Reply
  3. serge_focus

    За идеи наработки большое спасибо! Надеюсь будет полезной при отладке и оптимизации сложных запросов.

    Reply
  4. mzelensky

    Да, идея интересная

    Reply
  5. murenysh

    бесполезна в клиент-серверном варианте

    Reply

Leave a Comment

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