Консоль запросов 1.8.1 разработана для использования в тонком и толстом клиенте управляемого приложения.
Работает начиная с версии платформы 8.3.3.
При интеграции в конфигурацию поддерживается автоматическое добавление новых запросов из точки отладки приложения (исполняемый текст запроса и набор параметров запроса, заполненных значениями в точке отладки).
Возможности:
— цветовое выделение ячеек по типу содержимого и получение расширенной информации о ячейке «на лету» или в текстовую область;
— получение в текстовую область всех предопределенных элементов справочников, значений перечислений в формате ЗНАЧЕНИЕ(…);
— выполнение выделенной части текста запроса, вызов конструктора для выделенной части текста и сохранение результата в выделенную часть текста;
— поддержка работы с временными таблицами;
— возможность использования параметров запроса с типами «Список значений», «Таблица значений», «Момент времени», «Граница»‘;
— возможность заполнения параметра «Таблица значений» из файла .mxl;
— выполнение выделенной части текста запроса, вызов конструктора для выделенной части текста и сохранение результата в выделенную часть текста;
— получение «на лету» расширенной информации о содержимом ячейки и возможность непосредственного использования для включения в текст запроса;
— работа в режимах «Толстый клиент (управляемое приложение)» и «Толстый клиент (обычное приложение)». Для обычного приложения нужно включить обработку в состав конфигурации; Инструкция по подключению прилагается 🙂
— обмен текстами запросов с модулями 1С;
Первые три изображения к публикации иллюстрируют возможности интеграции с режимом отладки.
В версии 1.8.1 исправлена ошибка 1.8.0: при добавлении из режима отладки нового запроса не обрабатывался тип параметра «Массив». Теперь параметр автоматически преобразуется в «Список значений», который поддерживается обработкой «Консоль запросов».
Интеграция консоли запросов с режимом отладки. Автоматическое добавление новых запросов с заполненными параметрами вызовом функции «Вычислить».
Перейти к публикации
(0) Ну почему и обработку, и документацию, и пример нельзя прикрепить одним файлом?! Дело не в $m — это дело наживное, а в удобстве скачивания.
Имхо, ведь приятнее распаковать в папку где все лежит вместе.
(1) Famza, не знал, что $m снимают за каждый файл, а не за публикацию. Исправил недочет.
Только вот первый релиз «проверку боем» не прошел. Тормозит не по детски. Количество тормозов прямо пропорционально количеству строк в результате запроса. Да и от количества колонок зависит не слабо. Эх, придется опять «основу» рихтовать. Как говаривал кот Матроскин: «Неправильно ты, дядя Федор, бутерброд ешь !». Где лечить — знаю, чем лечить — тоже. Как свободное время появится, вылечу от задумчивости. Текущий релиз можно рассматривать как анонс будущего счастья 🙂
(2) Ну чтож, буду ждать с нетерпением)))
Плюс за разработку .. так сказать, авансом, в счет .. будующего счастья! 🙂
Отличная работа и исполнение, было бы удобно если прикрутил бы еще и выполнение кода на примере моей обработки :Моя консоль
Еще пожелание, иметь итоговые показатели по числовым полям результата. (понятно что можно использовать итоги но вкусняшка пригодится и обязана быть !!! 😉 )
Спасибо. Опробуем.
Отличная обработка. Спасибо
Спасибо.Качественная работа
Ухт! И даже работает! Спасибо.
Мощно, ничего не скажешь. Автор молодец. Но раз анонсировано ускорение, подожду со скачиванием. А так, пока плюс ).
Спасибо за положительные отклики и предложения. Как только задумчивость вылечу, буду смотреть функционал, что полезного туда еще добавить. Пока состояние следующее:
Все тормоза — при выводе в табличный документ в двойном цикле.
Немного изменил код двойного цикла (убрал создание нового табличного документа для каждой строки результата), оно ускорилось, не кардинально. Кардинально — при отключении расширенного режима вместо двойного цикла — построитель. Разница примерно такая — вывод результата запроса о 16 колонках и 530 строках занимает в расширенном режиме 5сек, при отключенном — 0.25 сек.
Что без расширенного режима отключено:
— цветовое выделение по типу содержимого ячеек и примечания к ячейкам;
— расшифровка содержимого ячеек «таблица значений»;
— содержимое ячеек с типами «таблица значений», NULL, неопределено, «пустая ссылка» — не отображается;
— режим «дерево» (пока не успел).
Работает:
— пакетные запросы;
— расшифровка значения ячеек (кроме «таблицы значений»);
— получение расширенной информации о содержимом ячейки из контекстного меню «О ячейке» и вывод
предопределенных элементов справочников и значений перечислений.
Итого, для работы с большими результатами запросов — отключаем расширенный режим и всё летает, а если нужны красота и удобство, не обращаем внимания на скорость — это расширенный режим.
Как только «дерево» сделаю — выложу версию 1.1.
Мы ждем не дождемся когда же ты снова пришлешь нам хороших и вкусных калош (с) Маршак 🙂
(13) dandrontiy, калоши версии 1.1 доступны к скачиванию :). Как и обещалось, произведена оптимизация вывода в табличный документ. Даже три:
В обычном режиме расшифровка таблицы значений работает ! Есть нюансы с отображением поля «родитель». В обычном режиме отображается значение «родителя», в расширенном — <пустая ссылка> разных цветов. Если цвет черный, команда «О ячейке» или выпадающее окно покажет значение «родителя».
Итого: на практике проблем со скоростью вывода больше нет (и других принципиальных проблем).
Мелкие шероховатости со временем отполируются.
Построитель не понадобился (вызов в коде закомментирован). Ускорения по сравнению с текущей реализацией почти не даёт, но расшифровка «таблицы значений» с ним не работает.
А теперь и версия 1.2.
В этой версии возможность работы с параметром типа «Таблица значений» из разряда «а еще она и так может» превратилась в практически полезную. Если в конфигурацию включить идущий в комплекте общий модуль, можно сохранять непосредственно из отладчика таблицу значений (например, вычислив выражение: Консоль.ТЗ(Запрос.Выполнить().Выгрузить()). В результате в файл формата .q1c будет сохранено все содержимое аргумента функции и автоматически сформированный текст запроса.
Замечание: поскольку ссылки в файле сохранятся в виде значений уникальных идентификаторов, выгруженный запрос можно открыть только из базы, из которой он выгружен. Для иллюстрации процесса к публикации добавлены новые картинки.
В архивный файл для загрузки добавлены файлы «История версий» и «Общий модуль Консоль_ Модуль.txt».
P.S.
Замеченные ошибки:
— в сведениях о регистрации обработка версии 1.2 бодро сообщает, что она версии 1.1 🙂
Всегда приятно, когда разработчики делают инструменты сами для себя, причем так, что ими может пользоваться любой желающий, а не только этот разработчик. Плюс, однозначно
в своей консоли в 8,1 добавлял фильтр вроде «Отбор по значению в текущей …» : позволяет не менять запрос. И еще группировку с количеством записей. Доавить возможно?
(16) vec435, Отбор по значению в текущей добавил. А про группировку подробнее ?
группировка по текущей колонке с подсчетом количество записей
можно добавить(если нет) групповые операции(сумма…) по текущей
(19) vec435, (6) Legavaz, добавил команду контекстного меню «О колонке» для области результата запроса. Выдаёт имя колонки, количество строк в таблице, сумму чисел по колонке (если в ней есть числовые ячейки) с учетом установленных отборов по значению (отборы по значению можно применять последовательно, к разным колонкам, после каждого отбора количество строк может уменьшиться). Для иллюстрации добавил к публикации картинку.
Вопрос:
в контекстном меню есть функционал «Выделить/отменить выделение». Пока он служит только для визуального выделения.
Может приспособить его для подсчета сумм выделенных ячеек ? По текущей колонке или по всей таблице ? Может еще какую полезную нагрузку для этого функционала придумать ?
Главное, я думаю, востребованность функции и простота использования, без лишней экзотики. Иначе из консоли монстр получится.
Пробую работать с версией 1.4
При попытке выгрузить таблицу значений методом Консоль.ТЗ(МояТаблица), если в таблице есть значение типа «Структура» — срабатывает исключение.
В остальном вроде всё отлично работает.
При передаче в качестве параметра большой таблицы значений, каждый раз, после редактирования текста запроса, подвисает причем надолго. Пытался поймать где виснет отладчиком. Срабатывает процедура СохранитьТекстЗапроса(НомерСтроки), доходит до конца, потом подвисает, потом переходит к строке «КонецПроцедуры» ТекстЗапросаПриИзменении(Элемент). Что происходит между ними (когда висит) так и не смог выяснить.
(22) Kent_killer, на выходных посмотрю, в чем проблема. А пока — небольшое обновление. Команда «О колонке» теперь выдаёт информацию о количестве строк не только для всей текущей колонки, но и для выделенных в этой колонке ячеек
(23) > А пока — небольшое обновление.
А его тоже платно надо качать ?
(24) Ткачев, что значит, платно? за SM (StartMoney)? ну да за мэстные.
(25) Agema, т.е. скачал обработку, а потом все обновления ее тоже за SM ?
Тогда я подожду еще усовершенствований ее.
Добавил в закладки, слежу за развитием. hobi, спасибо вам!
буду попробывать. А вообще я за такие полезные разработки 🙂 И конечно плюс.
Спасибо за обработку. Попробуем, потестит. Отпишемся о проблемах и о впечатлениях тоже. Автору спасибо!!!
Автору большое спасибо!
(20) добавить можно, если еще не добавил(сообщение 23).Теперь дело за малым: парсинг текста запроса: как делается в консоле Инструменты Разработчика при отладке сложного запроса
Спасибо, отличная вещь!
Автору плюс, однозначно! Но…
Но если я использую в запросе параметр типа «Таблица значений», так и не понял, как заполнять строки такого параметра…, может туплю, но хоть убейте не пойму…
(33) ut2k5, есть два варианта заполнения «Таблицы значений»:
ссылочные), а также заполнить строки таблицы. В этом же окне есть кнопка «Загрузить .mxl». В последнем случае ссылочные типы значений загрузить нельзя.
Если не получится, напишите на hobi@mail.ru, я вышлю более подробные инструкции.
«Двойной клик по значению параметра»
Вот в примере то как раз все работает.., а вот если создаешь свой запрос, и заполняешь параметры…
то в качестве типа значений параметра «ТаблицаЗначений» выбрать не получается
2-ой способ не пробовал…, но встраивать консоль запроса в конфу не хочу…
(35) ut2k5, кажется понял, в чем проблема.
Дополнительные типы параметров (момент времени, граница, список значений и таблица значений) можно выбрать только после очистки значения. Таблица значений — восьмая строка в диалоге выбора типа. Если ранее уже был выбран какой-нибудь тип, например, число, то дополнительные типы не отображаются. После очистки (кнопка с крестиком), можно опять выбрать дополнительные типы. Чтобы победить эту особенность (выбор доп.типов только после очистки значения), нужно переписывать стандартный выбор типа. Но, поскольку особенно не напрягает нажать на кнопку с крестиком, я переписывать не стал. Надо отобразить в документации эту особенность.
Все спасибо, вопрос, решен!!!
А еще огромное спасибо, за быстроту ответа, обработка супер. маст хеф у каждого
плюс уже поставил… 🙂
Спасибо!!! Отличная работа
Отлично! Спасибо!
(31) vec435, не для рекламы, но только что появилась обработка по парсингу запросаhttp://infostart.ru/public/137294/
(41) vec435, предлагаете интегрироватьhttp://infostart.ru/public/137294/ в консоль запросов ? Нужно с автором парсера обсуждать разрешение/или возможную совместную работу. Если потребность в таком (консоль с визуализатором) продукте есть, можно заняться.
(42) в том и интерес что в этом парсере нет какой-либо ВК. Все делается средствами 1С. А визуализация структуры запроса-вещь актуальная
в клиент-серверном режиме не понравилось, что сохранение файла запросов происходит &НаСервере: диалог выбора файла открывается на клиенте, а файл по выбранному пути сохраняется относительно сервера — из-за этого файл либо сохраняется не там, где ты ожидал, либо вообще не сохраняется из-за различных прав на клиенте и сервере или отсутствия локального адреса на сервере.
Доработал обработку для корректной работы с таблицей значения
(0) hobi,
http://infostart.ru/public/141736/ ) в свою версию?
планируете ли Вы вносить наработки (46) gortol‘а (
(47) kirillkr, спасибо за ссылку.
Посмотрю, как только смогу.
(48) нашёл ещё багу в этой обработке, при выводе в виде дерева, то в строках почему то Null (если выводить не в дерево (без иерархии) то все данные отображаются корректно)
щас буду править
(48) исправил и эту багу (при выводе запроса в дерево) лежит тут:http://infostart.ru/public/141736/
Обработка работает на тонком клиенте?
(51) bobank, на тонком клиенте не работает.
Потому что главный инструмент в обработке — конструктор запросов.
А платформа поддерживает конструктор только для:
«Сервер, толстый клиент, внешнее соединение».
Поэтому делать половинчатое решение (без поддержки конструктора) не стал.
(52) Зря, просто отключай доступность конструктора в тонком клиенте. Запросы можно и руками написать или подправить.
Испробовал консоль v.1.6.3 в работе. Есть замечание: при попытке установить комментарий в тексте запроса, в первую строку запроса «ВЫБРАТЬ…» подставляется число. И не какое-то абстрактное, а номер строки на которой устанавливается комментарий! Оно же проставляется там при попытке снять комментарий. Других видимых глюков не замечено. Пока не так уж и много поработал с данной обработкой.
А так консоль вполне кошерная! Спасибо автору и +.
(53) Поручик, консоль работает уже и в тонком клиенте.
Естественно, конструктор запросов в этом случае не вызывается
(отображается сообщение о невозможности запуска).
И при запуске в тонком клиенте в окне сообщений сразу же
предупреждается об этом, чтобы не было несбыточных надежд
на запуск конструктора в режиме тонкого клиента 🙂
Под Web-клиентом пока не тестировал, возможно тоже заработает.
не нашел в описании можно ли просматривать временные таблицы?
как его вызвать из модуля конфигурации так, чтобы открылась консоль со всеми заполненными параметрами, как они заданы в запросе на момент её вызова?
Временные таблицы просматривать можно, для этого в левом верхнем углу консоли правее кнопки «Запрос» есть кнопка «Пакет». Чтобы консоль открылась с параметрами, которые были заполнены в предыдущем сеансе, нужно нажать кнопку «Сохранить как» и выбрать файл, в который будет сохранен запрос. Параметры будут сохранены на сервере, файл запроса — там, где указали. В версиях консоли до 1.7 параметры сохранялись не на сервере, а на локальном компьютере. Кнопка «Сохранить как» — последняя на панели инструментов для закладки «Запросы».
(57) по поводу «как его вызвать из модуля конфигурации так, чтобы открылась консоль со всеми заполненными параметрами, как они заданы в запросе на момент её вызова?» имел ввиду следующее
мы в конфигураторе после длинного запроса пишем примерно так
ВнешниеОбработки.Создать(«Q:1С8.2Консоль.epf»).Отладить(Запрос, Истина);
и в предприятии открывается консоль, где всё уже заполнено (и параметры и текст)
Дабы не мучаться потом со сравнением обработок, так же прошу реализовать работу с сохранением/загрузкой файлов и ТЗ в клиент-серверном режиме. Думаю, переписать логику с абсолютных путей к файлу на ПоместитьФайл/ПолучитьФайл будет не сложно.
А в остальном отличная консоль, спасибо.
извиняюсь, что не по теме
но нет ли у кого консоли отчетов(скд) для управляемых форм?
привык накидывать консультантам мини отчетики
а теперь с переходом на управляемые формы все похерилось(
Ставлю минус сходу:
— не все параметры запросов заполняються автоматически;
— наименование параметров иногда долше чем длинна, которая задана в обработке;
— в параметрах нет возможности выбора группы элементов справочников.
Если на этом этапе есть такие помарки — то я делаю вывод, что тестирование нормальное не проводилось.
Спасибо, пригодилось
Не запускается. 8.2.17.*
УТ 10.3
(63) Ilchenko, она же управляемая.
На 8.2.17 в УТ11, БП 3.0 и так далее работает. Единственный критичный минус (как я писал выше) — не работает сохранение в клиент-серверном режиме, если работа идет не на сервере
надо записать список багов и предложений 🙂
баги:
1) результат в дерево показывается неправильно, в нужных колонках Null
2) комментирует неправильно, ставит лишнюю цифру
3) окно сообщений при запуске надоело,
а лучше вообще убрать его и всё показывать в предупреждениях
4) не все параметры запросов заполняються автоматически,
при перезаполнении параметры можно не дублировать
я её доделал немножко 🙂
изменения:
1) Не заполнял некоторые колонки, писал Null
2) улучшения интерфейса
3) запросы случайно не удаляются
4) параметры запроса не задваиваются
5) ставится комментарий кнопкой CTRL+/
6) окно сообщений убирается кнопкой CTRL+*
(2) для начала пара вопросиков,
так сказать, соавторам
hobi и ManyakRus:
—
1. Почему результат запроса показывается в поле табличного документа,
а не (как в традиционной консоли) в табличном поле ?
2. Как отображаются в ней поля запроса,
в которых возвращаются табличные части объектов, имеющие тип значения «ТаблицаЗначений» ?
На первый вопрос:
http://infostart.ru/upload/iblock/823/tdwfdbzjva%20q%20jvzbljq.png
Количество и ширина колонок в строках табличного поля одинаковое, в поле табличного документа этого ограничения нет. Поэтому если нужно отобразить результат запроса вместе с временными таблицами, сделать это
используя табличное поле весьма затруднительно.
На второй вопрос:
а можно добавить возможность запуска от определенного пользователя? есть на ИС такая консоль, но она не под УФ.
Спасибо за комментарии. После майских праздников вернусь из отпуска и смогу предметно ответить на 68 и 69 вопросы.
Спасибо.
Хотелось бы еще пользоваться раскладкой чистова, чтобы через правый альт спец символы в поле запроса писать, но не работает ((. В обычном текстовом поле все работает. Это проблема/ограничение платформы для поля текстового документа или может можно что-то сделать?
Еще при изменении запроса, когда добавляешь новые параметры, то по кнопке заполнить было бы удобнее, чтобы ранее добавленные и установленные параметры не очищались, вернее главное, чтобы установленные значения параметров оставались.
Хотя можно, конечно, добавить без очистки и руками удалить продублированные параметры.. но без этого было бы приятнее 🙂
(68) sacred, воспроизвести ситуацию затруднительно.
Пример запроса в типовой УТ11 не работает. В запросе обращения к объектам, которых нет в типовой:
значения перечислений, регистры накопления…
Нужен или пример для типовой или ваша конфигурация.
Конфигурация типовая УТ 11.1 не 11.0 ! Об этом написано в первом моём комментарии.
Глюк оказался плавающим, возможно он связан с ещё одним.
А именно, описание глюка №2:
Делаю 2 запроса,
Откуда-нибудь, например из конфигуратора, копирую текст запроса через буфер в Запрос №1
Переключаюсь мышкой на запрос №2
Переключаюсь мышкой на запрос №1 — текст запроса исчез.
Доброго времени суток! Добавьте ещё, пожалуйста, тип «Массив». Тип «Список значений» не очень подходит к данному типу. Хочу, чтобы из массива выбирались ссылки и передавал этот параметр в запрос.
(75) Maxim2012,
чем не устраивает список значений?
(76) nixel, не знаю, вроде работает, есть косяки с выбором элементов списка значений при переоткрытии, сразу оговорюсь что когда выбираешь ссылки на них — исчезают, только при повторном открытии.
Очень хорошая и нужная вешь.
Но есть замечания:
1. В параметрах запроса невозможно выбрать группу.
2. После выполнения запроса не работает в окне редактирования текста Ctrl+Z, нельзя откатить правки запроса.
(78) Bazil, спасибо за замечания.
по первому замечанию внес исправления, второе позже проверю.
Вот это да! Отличная консоль. Огромное спасибо автору.
Нафига нужна консоль запросов для управляемого приложения, которая не работает в управляемом приложении?) (конструктор запросов в тонком клиенте я имею в виду)
(81) kser87, конструктор запросов в тонком клиенте не поддерживается платформой 1С.
Если Вы знаете, как это обойти, поделитесь секретом. Многим будет интересно.
(82) именно это меня и расстраивает. Никак не обойти. Подождать, пока 1С это реализует.
конструктор не нужная вещь 🙂
Хорошая консоль! Забираю!
1С:Предприятие 8.3 (8.3.3.687) падает платформа при переходе в конструктор. Не сразу. Но вылетает постоянно…
в параметре Типа «таблица значений», типы колонок не возможно изменить.
если в конфигураторе выгружать таблицу значений, вываливается на «МоментВремени». изменинл момент на дату, но загрузить в консоль так и не удалось (уже не разбирался почему).
в общем мне нужна была таблица движений по регистру остатков, при проведении документа.
если текст запроса изменять вручную, то при исполнении запроса все возвращатся назад
параметры не заполняет