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

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

Кому приходится писать и отлаживать запросы с большим количеством временных таблиц, постоянно сталкивается с необходимостью проверить содержимое временных таблиц.
А если их много, да называются похоже? На этот случай я доработал консоль запросов, разработанную Евгением Лавелиным - теперь все временные таблицы выводятся в меню, откуда их можно быстро открыть.

Кому приходится писать и отлаживать запросы с большим количеством временных таблиц, постоянно сталкивается с необходимостью проверить содержимое временных таблиц.
А если их много, да называются похоже? На этот случай я доработал консоль запросов, разработанную Евгением Лавелиным (http://www.lavelin.ru) - теперь все временные таблицы выводятся в меню, откуда их можно быстро открыть, и при необходимости - уничтожить.

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

При выборе временной таблицы в меню ее содержимое открывается в отдельном окошке. Каждая таблица открывается в своем окне. Можно отсортировать данные по одному столбцу, можно вывести список в табличный документ.

Улучшен анализ текста запроса - теперь закомментированные строки пропускаются (не создаются лишние строки в списке таблиц и не убираются из меню те таблицы, уничтожение которых закомментировано).

 

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

Наименование Файл Версия Размер
Консоль запросов
.epf 116,04Kb
03.10.11
322
.epf 116,04Kb 322 Скачать

См. также

Добавить вознаграждение
Комментарии
1. Ийон Тихий (cool.vlad4) 41 29.09.11 13:20 Сейчас в теме
было уже, но все равно посмотрю, имхо лавелинская консоль в плане интерфейса самая удачная
2. Ийон Тихий (cool.vlad4) 41 29.09.11 13:25 Сейчас в теме
кнопка? а я поле добавил (посмотрел в консоли какой-то)
Прикрепленные файлы:
3. Сергей Ожерельев (Поручик) 3471 29.09.11 13:25 Сейчас в теме
(1) Сам этой консолью пользуюсь.
4. shisha136 29.09.11 13:28 Сейчас в теме
5. Алексей Прокопьев (proal) 165 29.09.11 13:34 Сейчас в теме
Мне консоль от Лавелина самому очень нравится.
Вариант с менюшками мне показался наиболее простым и быстрым в доработке...
Кстати, если кто подскажет как РегЕкспами можно отсечь строки, начинающиеся на комментарий - буду очень благодарен :) Самому не получилось найти работающий вариант.
6. Ийон Тихий (cool.vlad4) 41 29.09.11 14:10 Сейчас в теме
(5) в смысле комментарии в коде? - "//Комментарии"?
Тогда можно попробовать что-то типа (/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/)|(//.*)
7. Ийон Тихий (cool.vlad4) 41 29.09.11 14:11 Сейчас в теме
+6 годится и для /*Комментов*/(для с-образных языков удобно), но можно убрать это и получить (//.*)
8. ediks (ediks) 319 30.09.11 13:53 Сейчас в теме
(5) Если нужно убрать комментарии из запроса, то можно воспользоваться конструктором запроса, как я у себя сделал http://infostart.ru/public/90275/
9. Dragon Ago (DragonAgo) 6 30.09.11 14:01 Сейчас в теме
Хорошая разработка в области консолей
10. Олег Шалимов (CaSH_2004) 341 03.10.11 01:15 Сейчас в теме
Думаю было бы правильно указать ссылку на первоисточник
11. Сергей Ожерельев (Поручик) 3471 03.10.11 07:28 Сейчас в теме
12. Alex (redcat) 94 03.10.11 17:04 Сейчас в теме
Доработка очень полезная.
Только при выполнении запроса сразу несколько раз ругается, что временная таблица уже существует (может это только у меня).
Выход: удаление временных таблий перед выполнением запроса
13. Алексей Прокопьев (proal) 165 04.10.11 10:11 Сейчас в теме
(12) redcat, если один и тот же запрос выполнять несколько раз, то ругаться будет однозначно - ведь по умолчанию используется один и тот же менеджер ВТ, соответственно если не уничтожать таблицу явно (через выполнение "УНИЧТОЖИТЬ <ИмяТаблицы>"), она в нем будет оставаться.

Если не нужно чтобы так было - просто уберите галочку "Использовать менеджер временных таблиц". Тогда каждый раз для запроса будет создаваться временный менеджер.

Кстати, немного доработал анализ текста запроса - теперь закомментированные строки строки должны пропускаться.
Большое спасибо cool.vlad4 за идею в (6).

Конструктор запроса, как советовал ediks (8), не получается - если ему передавать текст запроса, ссылающийся на временную таблицу, созданную в другом запросе - выскакивает ошибка "Таблица Такая-то не найдена" :(
14. Сергей Ожерельев (Поручик) 3471 04.10.11 10:38 Сейчас в теме
(13) Посмотрите консоль от Чистова aka GROOVY, там по-моему этих проблем небыло изначально.
15. Ийон Тихий (cool.vlad4) 41 04.10.11 10:46 Сейчас в теме
В смысле с ВТ? Там наверное перед выполнением запроса с ВТ, проводится попытка уничтожения ВТ. Я себе также сделал, но потом добавил и ручное уничтожение(сделал красный крестик напротив списка таблиц)
16. Alex AlexX (_iAlex) 04.10.11 16:01 Сейчас в теме
А вопрос с субконто в параметре запроса решен ? а от все консоли которыми я пользуюсь глючат..
17. Алексей Прокопьев (proal) 165 05.10.11 06:10 Сейчас в теме
(14) Поручик, посмотрел - там происходит поиск имен таблиц по слову "ПОМЕСТИТЬ". Я тоже так в начале думал сделать, но что если в начале строк идет комментарий "//"? А еще иногда строка может быть такой:
//ВЫБРАТЬ ДАТАВРЕМЯ(2011,01,31,23,59,59) КАК Период ПОМЕСТИТЬ ВТПериоды

Поэтому я и делал через RegExp, чтобы закомментированные строки не учитывать.

(15) cool.vlad4 - перед выполнением запроса я не делаю попытки уничтожить создаваемые в запросе таблицы. Считаю что так лучше - есть вероятность перезаполнить ВТ и не увидеть старые данные.

(16) _iAlex - а что за вопрос с субконто?
18. Alex (redcat) 94 05.10.11 10:38 Сейчас в теме
(17) to (15) Я у себя тоже добавил перед выполением запроса принудительное удаление временных таблиц. Считаю, что после выполнения запроса интересуют именно данные, которые были использованы при выполнении основной части зароса.
19. Olvia 15 30.09.12 13:43 Сейчас в теме
Однозначно полезная штука, однако есть крохотный недостаток для авралоподобных случаев, вынудивший откомментировать:

нажав кнопку "получить параметры из запроса" и заполнив некоторые "списком значений", как-то забываешь изменить колонку "В" на "Список", что при повторном нажатии и перезаполнении приводит к очистке списков их значений.

После четырех лет работы со стандартной консолью большинство действий доведено до автоматизма + по административным причинам использую обе обработки параллельно, следовательно - пришлось доделать ))