Консоль запросов для управляемого приложения с возможностью вывода в таблицу значений


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

За основу взята обработка с ИТС для платформы 8.3. Реализовано:

  • Результат запроса можно выводить в таблицу значений. Вывод результата в табличный документ можно отключить, что бывает полезно, если результат запроса занимает тысячи строк, а это может отнимать много времени.
  • Для удобства работы текст запроса с настройками и результат запроса размещены на разных страницах формы. Особенно актуально для интерфейса Такси.
  • Если в тексте пакет из нескольких запросов, то результат каждого из них будет выведен в отдельную таблицу значений на отдельной странице формы.
  • Добавлена совместимость с версией платформы 8.2 — не нужно держать отдельной версии обработки.
  • В контекстное меню текста запроса с констуктором запроса и выводом для вставки в конфигуратор добавлена команда удаления символа вертикальной черты. Позволяет очистить текст запроса после копирования из конфигуратора.
  • Исправлена ошибка вывода количества строк результата.
  • Добавлено автосохранение и восстановление настроек при закрытии и открытии обработки. Сохранение текста запроса с параметрами в файл оставлено без изменений. 
  • Добавлен импорт параметров из строки во внутреннем формате 1С. Если в конфигураторе в режиме отладки остановить в точке, где текст запроса сформирован, то можно получить параметы запроса (Отладка-Вычислить выражение: ЗначениеВСтрокуВнутр(Запрос.Параметры). Полученную строку можно вставить в обработку через импорт параметров)

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

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

 

10 Comments

  1. Bassgood

    (0) Еще одна консоль? И для чего может быть понадобится в консоли таблица значений с результатом запроса?

    Reply
  2. merabn

    (1) Bassgood, По-моему, достаточно ясно в описании сказано для чего таблица значений.

    Практически всегда работаешь на базе с актуальными данными и достаточно несколько раз посидеть подождать заполнения табличного документа, если в результате запроса строк хотя бы 20 тысяч, чтобы понять для чего. А если 150 тысяч, то таблица будет заполняться час

    Reply
  3. TMV

    (2) Какой-то бред. Как вообще можно анализировать результат запроса в 20000 строк, я уж не говорю о 150000? Обычно в запросы добавляют некоторые условия для ограничения выборки, что значительно упрощает анализ результатов. А следовательно ваше «изобретение» не выделяется на фоне остальных.

    Reply
  4. dj_serega

    Ничего не написано про сохранение настроек.

    Reply
  5. merabn

    (3) TMV, Нигде ни слова не сказано про анализ результата запроса. Открою для Вас секрет: далеко не все пользуются консолью запросов для анализа результата запроса, даже скажу больше, значительная часть использует ее для отладки запросов, где больше важна работоспособность запроса и наличие результата как такового. А если Вы сразу предусматриваете все условия, не забываете установить значения всех параметров и с ходу безошибочно пишете запрос, то и пользоваться консолью Вам и не нужно, смело можете писать прямо в код.

    Не стоит строить ошибочные предположения и в хамской манере критиковать плод воображения.

    Reply
  6. merabn

    (4) dj_serega, Про сохранение настроек добавлено

    Reply
  7. Поручик

    Консоль запросов хорошо, но перенумератор для управляемого приложения ещё лучше.

    Reply
  8. TMV
    где больше важна работоспособность запроса и наличие результата как такового

    Очень странно проверять лишь наличие результата, когда итоговая выборка в овер9000 строк. А работоспособность запроса проверяется хотя бы вызовом конструктора из контекстного меню.

    Reply
  9. fishca

    http://infostart.ru/public/335504/ — сам использую и вам советую

    Reply
  10. merabn

    (8) TMV, Вызовом конструктора можно проверить только синтаксис запроса, т.е. даже не выдаст ли он хоть что-нибудь. А если бы попробовали бы раз построить сложный запрос по номенклатуре, с несколькими промежуточными таблицами на базе с количеством номенклатуры хотя бы 150 тысяч, где группы не используются в принципе, вряд ли бы рассуждали про условия, которыми можно ограничить результат и упорно доказывали бы свою правоту.

    Reply

Leave a Comment

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