[8.2] Управляемая консоль запросов (только управляемые формы)

Опубликовал Евгений Люлюк (Evg-Lylyk) в раздел Программирование - Инструментарий

Разрабатывал практически с нуля, старался максимально использовать возможности новой платформы.
Ничего особенно выдающегося... просто шаг вперед

Из интересного (то чего нет и консолях для 8.1):
  Сообщения привязанные к полю для ошибок в тексте запроса
  Сохранение настроек в базе (в хранилище настроек)
  "Управляемый интерфейс" изменение пользователем формы, уведомления.
  Более информативное оформление результата (на скриншотах)
  Выделение значений в таблице NULL, ПустаяСсылка и т.д.

Обработка предназначена для работы с запроса и их результатами в режиме Предприятия

Данная версия предназначена исключительно для платформы 8.2 (управляемые формы) и требует платформу версии 8.2.11 и старше. Не поддерживается работа в режиме клиент-сервер для 64-разрядного сервера 1С Предприятие.


Является идейным продолжением http://infostart.ru/public/16782/ (использовался опыт и код)

Особенность функционала более подробно:

Изменен интерфейс относительно стандартного консольного. Теперь настройки находятся на одной закладке, а результат на другой во весь размер формы. Это дает больше места на экране для просмотра результата и настройки запроса (параметры, редактирование текста запроса).
На это натолкнули меня некоторые ошибки платформы 8.2 и консоль http://www.infostart.ru/public/57704/

Сохранение настройка запросов в хранилище базы
В 8.2 появились ХранилищаНастроек (данные хранятся в базе) т.е. теперь можно в любой конфигурации сохранять настройки запросов в базе, это работает быстро и по идее менее проблемно в Веб-клиенте (не тестировал).

Подцветка значений
Выделяются значения: NULL, Неопределено, ПустаяСтрока, ПустойУникальныйИдентификатор, ПустаяДата, ПустоеВремя, ПустаяСсылка: Х
Есть проблемы с подцветкой NULL значений в платформе 8.2.13.165, 180 версии тестовые надеюсь в релизе исправлят.

В результате запроса, в заголовке колонки отображается картинка тип поля запроса.

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

Замер времени выполнения запроса (информация о количестве строк в результате)

Удобное редактирование списка запросов (группы, выделение, перенос)

Параметр список значений

Делал "внутренности" с учетом пред. опыта гибко и универсально. Параметры - возможны типы МоментВремени, Граница (нужно будет для отладки)



p.s.

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

Поддержку СКД добавлю значительно позже т.к. не собираюсь часто публиковать версии.

Другие консоли 8.2:
http://infostart.ru/public/64522/
http://infostart.ru/public/21925/
http://nashe1c.ru/materials-view.jsp?id=307
http://www.infostart.ru/public/57704/

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

Наименование Файл Версия Размер
1.0.9 от 19.12.2011 (модуль без пароля)
.epf 85,07Kb
19.06.15
2057
.epf 85,07Kb 2057 Скачать

См. также

Добавить вознаграждение
Комментарии
1. Антон Степанов (Stepa86) 568 17.11.10 12:59 Сейчас в теме
Не хочешь совместить с версией для 8.1? Так чтобы в упр. режиме открывалась упр. форма, а в обычном режиме - версия из 8.1 сконвертированная под 8.2?
2. Евгений Люлюк (Evg-Lylyk) 1992 17.11.10 13:13 Сейчас в теме
(1) Не планировал... запустить ведь не трудно. Они будут очень разные.
3. Андрей Д. (detec) 122 17.11.10 14:58 Сейчас в теме
При попытке выполнить запрос на клиент-серверной базе

{ВнешняяОбработка.УправляемаяКонсольОтчетов.МодульОбъекта(18)}: Ошибка при вызове конструктора (COMОбъект)
JavaScript = Новый COMОбъект("MSScriptControl.ScriptControl");
по причине:
Class not registered

ОС: Windows Server 2008 R2 x64.
4. Евгений Люлюк (Evg-Lylyk) 1992 17.11.10 15:03 Сейчас в теме
(3) Попробуйте установить MSScriptControl - sct10en.exe. В вашей ОС не зарегестрирован этот класс возможно имеет другое имя.
5. Андрей Д. (detec) 122 17.11.10 15:22 Сейчас в теме
(4)

Поставил файл, рестартовал службу. Не помогло.
6. Андрей Д. (detec) 122 17.11.10 15:33 Сейчас в теме
Выяснил попыткой запуска с Windows Powershell x64 и x32. Компонент ("MSScriptControl.ScriptControl") совместим только с 32-битным окружением. Сервер 1С:Предприятие x64 не поддерживеат вашу разработку.
7. Евгений Люлюк (Evg-Lylyk) 1992 17.11.10 15:36 Сейчас в теме
(5) Извините, даже не знаю что сделать. Проблема в том что в вашей ОС нет MSScriptControl, а он нужен для работы обработки (конкретно замера времени выполнения в мс). Возможно другое имя класса.
8. Евгений Люлюк (Evg-Lylyk) 1992 17.11.10 15:37 Сейчас в теме
(6) Плохо :( Спасибо за подсказку, буду думать чем заменить.
9. Олег Никоноров (nikolega) 142 17.11.10 17:03 Сейчас в теме
Все просто решается - делайте оболочку для запуска 32 битного приложения по х64.
10. Олег Никоноров (nikolega) 142 17.11.10 17:07 Сейчас в теме
(8) Как сие делается:
1. запустите утилиту Component Services
2. создайте пустое COM+ приложение со следующими параметрами:
- с Activation type - Server application
- с именем MSScriptControl
- укажите имя пользователя Windows, от имени которого компонента будет запускаться - выбрать System или Система
- при запросе членов Роли CreatorOwner, помимо сущуствующей учетки, добавить туда System или Система
- в ветке Components добавьте новую компоненту <путь к DLLке>
adhocprog; practik1c; akatim; zipik; maxchaos; cleaner_it; Поручик; +7 Ответить 1
11. dushelov (Душелов) 19.11.10 04:15 Сейчас в теме
12. Pavel Shabaev (Eternalsun) 31.03.11 13:10 Сейчас в теме
{ВнешняяОбработка.УправляемаяКонсольОтчетов.МодульОбъекта(18)}: Ошибка при вызове конструктора (COMОбъект)
JavaScript = Новый COMОбъект("MSScriptControl.ScriptControl");
по причине:
Класс не зарегистрирован
13. Pavel Shabaev (Eternalsun) 31.03.11 13:12 Сейчас в теме
И что предлагаете - каждому пользователю прописывать? Нет, то не выход
14. Константин Цветков (zeal) 01.04.11 12:56 Сейчас в теме
Eternalsun, Павлик, ты чтоль?!
15. Константин Гейнрих (CyberCerber) 108 23.09.11 14:06 Сейчас в теме
Спасибо за обработку! Жаль, конечно, что в клиент-серверном варианте контсруктор запроса не работает.
16. sumixam (sumixam) 23.09.11 14:08 Сейчас в теме
Спасибо буду тестировать....
17. Валерий Гуров (Saint) 14 23.09.11 14:29 Сейчас в теме
(15)
CyberCerber пишет:
Жаль, конечно, что в клиент-серверном варианте контсруктор запроса не работает

Чё это вдруг? В толстом клиенте пробовал запускать?
18. Евгений Люлюк (Evg-Lylyk) 1992 23.09.11 14:39 Сейчас в теме
(17) Если сервер 1С 64 битный там есть проблемы т.к. используется COMОбъект "MSScriptControl.ScriptControl"
прочитайте комментарии с 3

Извините это не в тему
19. Евгений Люлюк (Evg-Lylyk) 1992 23.09.11 14:42 Сейчас в теме
(15) Запускайте в режиме толстого клиента и конструктор будет доступен (смотрите картинку)
20. евгения сон (Евгения Сон) 29.09.11 00:42 Сейчас в теме
Оказалось очень полезная обработка.Спасибо
21. Иван Великий (ICPROFI) 04.10.11 03:09 Сейчас в теме
Огромное спасибо! А то надоело переключаться то в упр, то в толстый клиент.
22. 1 1 (girlochka) 06.10.11 08:21 Сейчас в теме
23. isn Игнатьев (isn) 11 13.10.11 13:28 Сейчас в теме
Очень полезный инструмент.
К нему бы прикрутить СКД - и было бы просто верх мечтаний
24. Ledok (Ledok) 23.10.11 15:56 Сейчас в теме
В свое время делала самописную для 8.1, а вот до упр. форм так и не добралась..
Спасибо! Очень удобная вещь!
25. solarlion (solarlion) 08.11.11 16:11 Сейчас в теме
подниму, нужно прикрепить СКД как в версии для 8.1. очень помогает
26. Николай (SNT) 11.11.11 23:30 Сейчас в теме
Полезная обработка.Спасибо!
27. Гость 16.12.11 13:38 Сейчас в теме
Полезная обработка, спасибо
28. pulpik (pulpik) 105 20.12.11 10:42 Сейчас в теме
Добрый день.
Скачал, в тонком клиенте не активна кнопка конструктор. Не подскажите в чем проблема?
29. Евгений Люлюк (Evg-Lylyk) 1992 20.12.11 11:05 Сейчас в теме
(28) Чтобы был доступен конструктор запросов необходимо запускать в режиме толстого клиента.
В конфигураторе - Сервис - Параметры - Запуск 1С:Предприятия - (Приложение - Толстый клиент (управляемое приложение))
30. Людмила Мануйлова (Nika-cat) 21.12.11 08:58 Сейчас в теме
31. Alexey Pak (Alexey55) 21.12.11 10:37 Сейчас в теме
Спасибо большое! очень полезная вещь!
32. Игорь Алексеев (TRansgen) 10.01.12 19:03 Сейчас в теме
Шикарно! Вещь номер 1 необходимая программисту! Работает четко!
33. Евгений Мартыненков (JohnyDeath) 291 11.01.12 11:00 Сейчас в теме
Кстати о вашей консоли.
Почему мало кто из разработчиков консолей добавляет мегаполезную кнопочку под названием "Добавить/Убрать |" (которая добавляет/удаляет символ | в начало каждой строки текста запроса)? Ведь это же очень удобно - копировать запрос в конфигуратор или вставлять в консоль из конфигуратора. Неужели вы пишите запросы только что б посмотреть результат в ТЗ/ТабДоке?
34. Евгений Люлюк (Evg-Lylyk) 1992 11.01.12 11:06 Сейчас в теме
(34) В старой консоли это было... как пожелание записал... может позже. Все работают по разному кто то пишет запросы вручную кто то не пользуется консолью и т.д. мне как то эта функция не особо была нужна (я нажимаю ПКМ - Конструктор - Копирую текст запроса).
35. Ledok (Ledok) 12.01.12 06:19 Сейчас в теме
Да, обработка классная, только.. постоянно из-за неё 1С-ка вылетает.
Так что есть тут какая-то проблемка.
Причем больше связано с действиями на клавиатуре, например когда копирую и вставляю текст, или надо прокрутить большой текст.
Пишешь - пишешь запрос, а тут раз и всё заново надо начинать,
никто с таким не сталкивался?

з.ы. пробовала на разных базах (УТ, УНФ)
36. Евгений Люлюк (Evg-Lylyk) 1992 12.01.12 08:15 Сейчас в теме
(35) Да, наблюдал такое иногда какие то непонятные вылеты... в коде вроде никакого криминала. Да я сам не знаю как такое программно делать.
37. Марат Мулин (kernst) 19.01.12 12:04 Сейчас в теме
а текст модуля будет закрыт всегда? или планируешь его открыть?
если встраивать в конфигурацию, то потом не удобно делать поиск глобальный, при поиске он будет всегда останавливаться на этой обработке
38. Евгений Люлюк (Evg-Lylyk) 1992 19.01.12 14:12 Сейчас в теме
(37) пока закрыт, потом может открою
39. Дмитрий Семенов (Sam13) 198 30.01.12 11:37 Сейчас в теме
Спасибо. Очень помогло. Респект и + автору
41. {ÐƦǑƝȊ} mx (dour-dead) 185 12.04.12 14:51 Сейчас в теме
//Формирование подсказки по колонке
Элемент.Подсказка = Гл.ПолучитьПодсказкуДляОписанияТипа(Реквизит.Имя, ТипРеквизита);
Элемент.ПутьКДанным = ПутьКДанным;
{Форма.ОсновнаяФорма.Форма(1712)}: Ошибка при установке значения атрибута контекста (ПутьКДанным): Недопустимое значение
42. Иван (Sairys) 17.04.12 11:36 Сейчас в теме
Вот это как раз то что я и искал, сейчас будем тестить, и сравнивать что лучше всё хуже.
43. Иван (Sairys) 17.04.12 11:44 Сейчас в теме
Кстати по поводу. (Выделяются значения: NULL, Неопределено, ПустаяСтрока, ПустойУникальныйИдентификатор, ПустаяДата, ПустоеВремя, ПустаяСсылка: Х) отдельный респект.
44. Иван (Sairys) 17.04.12 11:55 Сейчас в теме
{ВнешняяОбработка.УправляемаяКонсольОтчетов.МодульОбъекта(18)}: Ошибка при вызове конструктора (COMОбъект)
по причине:
Класс не зарегистрирован
45. Евгений Люлюк (Evg-Lylyk) 1992 17.04.12 13:07 Сейчас в теме
(44) Возможно у вас x64 server почитайте коменты там разбиралась эта проблема.
Как вариант закоментить этот код. Он отвечает за замер времени выполнения запроса
46. Иван (Sairys) 17.04.12 13:23 Сейчас в теме
Понятно, спасибо за ответ.
47. Кирилл kirillkr (kirillkr) 26 31.05.12 17:43 Сейчас в теме
При повторном выполнении запроса, возникает коллизия
{Форма.ОсновнаяФорма.Форма(1667)}: Ошибка при вызове метода контекста (ИзменитьРеквизиты)
ИзменитьРеквизиты(МассивДобавляемыеРеквизиты, РезультатВДеревеДобавленныеРеквизиты.ВыгрузитьЗначения());
по причине:
Неуникальное имя реквизита. Имя: "Значение"
48. Padonak-XXI (DMSDeveloper) 31.08.12 14:10 Сейчас в теме
(10) А вот фиг там.
Не помогает такой финт. Уже мозг себе сломал, как обойти.
Немного не в тему. Может кто нибудь подсказать, как можно на стороне сервере (регламентное задание) запустить некий батник.
Суть в том, что есть острая необходимость в использовании спец. софта, который написан на Java (мать её так...)
и запуск возможен только через Bat-файлы.
49. Алексей 1 (all_i_ance) 04.10.12 11:50 Сейчас в теме
Запрос:

"ВЫБРАТЬ
Контрагенты.Наименование
ИЗ
Справочник.Контрагенты КАК Контрагенты"

Вышла ошибка: "Класс не зарегистрирован" !!!!

Подскажите в чем же собственно проблема???
50. Алексей 1 (all_i_ance) 04.10.12 11:51 Сейчас в теме
(16) sumixam, каковы результаты теста?
51. sumixam (sumixam) 05.10.12 09:45 Сейчас в теме
(50) all_i_ance, в общем проверил я обработку никаких у меня серьезных косяков не вылезло!!!
52. Алексей 1 (all_i_ance) 05.10.12 11:24 Сейчас в теме
А по моей ошибке кто-нибудь ответит? :)
53. Евгений Люлюк (Evg-Lylyk) 1992 05.10.12 11:40 Сейчас в теме
(52) Почитай в начальных комментах... Там есть замер времени он работает от COM объекта закоментируйте код. Замера времени не будет, но должно работать.
54. Алексей 1 (all_i_ance) 05.10.12 11:49 Сейчас в теме
55. Дмитрий Гомзин (plevakin) 25.10.12 17:42 Сейчас в теме
Пользуюсь версией 1.0.8 и хотел бы узнать чем 1.0.9 отличается от 1.0.8? Вынесен ли блок Java в настройки, чтоб не использовать его тем, у кого это не работает?
56. Евгений Люлюк (Evg-Lylyk) 1992 25.10.12 21:34 Сейчас в теме
(55) извините сейчас не развиваю. Нет времени
57. Юрий Седых (suvolod) 16 23.03.13 20:14 Сейчас в теме
нет режима просмотра временных таблиц, который реализован в большинстве аналогичных обработок. Жаль.. только из-за этого отнесу эту обработку к разряду "прочих"
58. Sergey Dikov (DikovSV) 6 17.06.13 14:15 Сейчас в теме
Не увидел оформление NULL, а очень хотелось бы. Через вид сравнения "равно" или "содержит" null не обрабатывается.
59. Евгений Люлюк (Evg-Lylyk) 1992 17.06.13 20:24 Сейчас в теме
(58) в ранних версиях платформы я делал... позже если не ошибаюсь 15 не работает. На сайте 1С заинтересованность в решении проблемы не проявили. Теперь не сделать, а возможность была интересная
60. sbv2005 (sbv2005) 317 11.12.13 10:48 Сейчас в теме
Все таки люди путают консоль запросов с консолью отчетов. Здесь нет СКД, как в консоли отчетов. Вообщем это консоль запросов. Автор меняй название, иначе поставлю минус
61. Евгений Люлюк (Evg-Lylyk) 1992 11.12.13 11:03 Сейчас в теме
(60) "Вообщем это консоль запросов. Автор меняй название"
По названию согласен.
62. Елена Пименова (Bukaska) 119 11.12.13 11:05 Сейчас в теме
(61) Evg-Lylyk, Здравствуйте! А ваша консоль для тонкого или для толстого клиента?
63. Евгений Люлюк (Evg-Lylyk) 1992 11.12.13 11:09 Сейчас в теме
(62) Да работает в обоих клиентах, только конструктор запросов работает только в толстом клиенте
64. Елена Пименова (Bukaska) 119 11.12.13 11:13 Сейчас в теме
(63) Evg-Lylyk, Но текст запроса можно вставлять на исполнение? если я правильно поняла
И параметры можно задавать в тонком клиенте?
65. Евгений Люлюк (Evg-Lylyk) 1992 11.12.13 13:16 Сейчас в теме
(64) Да конечно! Редактировать можно.
66. Yran Kolm (Yran) 18.12.13 09:45 Сейчас в теме
(45) Evg-Lylyk, Вы пишите, что можно закоментировать в модуле объекта замер времени и будет работать под 64-разрядном сервере но модуль объекта под паролем!!! как быть?
67. Евгений Люлюк (Evg-Lylyk) 1992 18.12.13 11:41 Сейчас в теме
(66) Обновил файл, убрал пароль с модуля
68. Елена Пименова (Bukaska) 119 18.12.13 11:46 Сейчас в теме
(67) Evg-Lylyk, Больше нигде паролей не стоит?)))))
70. Александр Зорин (Manticor) 61 19.12.13 11:49 Сейчас в теме
При добавлении в данную консоль запроса - 1с-ка отваливается через раз с записью дампа памяти. Может есть уже более работающий релиз?
71. Евгений Люлюк (Evg-Lylyk) 1992 19.12.13 13:17 Сейчас в теме
(70) К сожалению нет. Развивать пока не планирую
Напишите конкретнее что за запрос. Мне нужно воспроизвести ошибку
72. Александр Зорин (Manticor) 61 22.12.13 22:32 Сейчас в теме
(71) Evg-Lylyk, ну вот например такой запрос http://forum.infostart.ru/forum26/topic101149/message1044374/#message1044374

Как я понял по тестам - не важно какие запросы, просто еслия копирую текст запроса и втсавляю его в эту консоль - то программа периодически отваливается. Возможно какойто баг платформы )
73. Евгений Люлюк (Evg-Lylyk) 1992 22.12.13 22:52 Сейчас в теме
(72) у меня работает на платформах версий 8.2.19, 8.3.4
такой запрос воспроизвести проблематично т.к. у меня нет вашей конфигурации
74. Айтуар Баубериков (Bajo) 14 14.07.16 13:47 Сейчас в теме
Обработка умеет трансформировать запрос 1с в T-SQL?
75. г. Казань Рустем Гумеров (Rustig) 775 14.09.16 16:56 Сейчас в теме
удобно, что результат запроса выведен на все окно в отдельной закладке
до сих пор привыкнуть не могу, что нельзя запустить конструктор запроса для тестирования своих запросов
76. Игорь Дзеса (Kamikadze) 44 07.11.16 11:41 Сейчас в теме
После обновления сервера выдает ошибку:

{ВнешняяОбработка.Запросник2_0.Форма.Форма.Форма(2799)}: Ошибка при вызове конструктора (COMОбъект)
обMSScriptControl = Новый COMОбъект("MSScriptControl.ScriptControl");
по причине:
-2147221164(0x80040154): Class not registered

Кто знает что делать?
77. Евгений Люлюк (Evg-Lylyk) 1992 26.12.16 14:24 Сейчас в теме
(74) Нет
(76) Вопрос не по моей консоли
Предположу что этот код используется для замера длительности выполнения запроса в мс, сейчас в платформе есть функции для решения этой проблемы
78. Игорь Дзеса (Kamikadze) 44 28.12.16 12:41 Сейчас в теме
(77), Проблема была с криво установлденными обновлениями Виндовса