gifts2017

[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
2053
.epf 85,07Kb 2053 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

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

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

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

Поставил файл, рестартовал службу. Не помогло.
6. Андрей Д. (detec) 17.11.10 15:33
Выяснил попыткой запуска с Windows Powershell x64 и x32. Компонент ("MSScriptControl.ScriptControl") совместим только с 32-битным окружением. Сервер 1С:Предприятие x64 не поддерживеат вашу разработку.
7. Евгений Люлюк (Evg-Lylyk) 17.11.10 15:36
(5) Извините, даже не знаю что сделать. Проблема в том что в вашей ОС нет MSScriptControl, а он нужен для работы обработки (конкретно замера времени выполнения в мс). Возможно другое имя класса.
8. Евгений Люлюк (Evg-Lylyk) 17.11.10 15:37
(6) Плохо :( Спасибо за подсказку, буду думать чем заменить.
9. Олег Никоноров (nikolega) 17.11.10 17:03
Все просто решается - делайте оболочку для запуска 32 битного приложения по х64.
10. Олег Никоноров (nikolega) 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) 23.09.11 14:06
Спасибо за обработку! Жаль, конечно, что в клиент-серверном варианте контсруктор запроса не работает.
16. sumixam (sumixam) 23.09.11 14:08
Спасибо буду тестировать....
17. Валерий Гуров (Saint) 23.09.11 14:29
(15)
CyberCerber пишет:
Жаль, конечно, что в клиент-серверном варианте контсруктор запроса не работает

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

Извините это не в тему
19. Евгений Люлюк (Evg-Lylyk) 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) 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) 20.12.11 10:42
Добрый день.
Скачал, в тонком клиенте не активна кнопка конструктор. Не подскажите в чем проблема?
29. Евгений Люлюк (Evg-Lylyk) 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) 11.01.12 11:00
Кстати о вашей консоли.
Почему мало кто из разработчиков консолей добавляет мегаполезную кнопочку под названием "Добавить/Убрать |" (которая добавляет/удаляет символ | в начало каждой строки текста запроса)? Ведь это же очень удобно - копировать запрос в конфигуратор или вставлять в консоль из конфигуратора. Неужели вы пишите запросы только что б посмотреть результат в ТЗ/ТабДоке?
34. Евгений Люлюк (Evg-Lylyk) 11.01.12 11:06
(34) В старой консоли это было... как пожелание записал... может позже. Все работают по разному кто то пишет запросы вручную кто то не пользуется консолью и т.д. мне как то эта функция не особо была нужна (я нажимаю ПКМ - Конструктор - Копирую текст запроса).
35. Ledok (Ledok) 12.01.12 06:19
Да, обработка классная, только.. постоянно из-за неё 1С-ка вылетает.
Так что есть тут какая-то проблемка.
Причем больше связано с действиями на клавиатуре, например когда копирую и вставляю текст, или надо прокрутить большой текст.
Пишешь - пишешь запрос, а тут раз и всё заново надо начинать,
никто с таким не сталкивался?

з.ы. пробовала на разных базах (УТ, УНФ)
36. Евгений Люлюк (Evg-Lylyk) 12.01.12 08:15
(35) Да, наблюдал такое иногда какие то непонятные вылеты... в коде вроде никакого криминала. Да я сам не знаю как такое программно делать.
37. Марат Мулин (kernst) 19.01.12 12:04
а текст модуля будет закрыт всегда? или планируешь его открыть?
если встраивать в конфигурацию, то потом не удобно делать поиск глобальный, при поиске он будет всегда останавливаться на этой обработке
38. Евгений Люлюк (Evg-Lylyk) 19.01.12 14:12
(37) пока закрыт, потом может открою
39. Дмитрий Семенов (Sam13) 30.01.12 11:37
Спасибо. Очень помогло. Респект и + автору
41. {ÐƦǑƝȊ} mx (dour-dead) 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) 17.04.12 13:07
(44) Возможно у вас x64 server почитайте коменты там разбиралась эта проблема.
Как вариант закоментить этот код. Он отвечает за замер времени выполнения запроса
46. Иван (Sairys) 17.04.12 13:23
Понятно, спасибо за ответ.
47. Кирилл Краснов (kirillkr) 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) 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) 25.10.12 21:34
(55) извините сейчас не развиваю. Нет времени
57. Юрий Седых (suvolod) 23.03.13 20:14
нет режима просмотра временных таблиц, который реализован в большинстве аналогичных обработок. Жаль.. только из-за этого отнесу эту обработку к разряду "прочих"
58. Sergey Dikov (DikovSV) 17.06.13 14:15
Не увидел оформление NULL, а очень хотелось бы. Через вид сравнения "равно" или "содержит" null не обрабатывается.
59. Евгений Люлюк (Evg-Lylyk) 17.06.13 20:24
(58) в ранних версиях платформы я делал... позже если не ошибаюсь 15 не работает. На сайте 1С заинтересованность в решении проблемы не проявили. Теперь не сделать, а возможность была интересная
60. sbv2005 (sbv2005) 11.12.13 10:48
Все таки люди путают консоль запросов с консолью отчетов. Здесь нет СКД, как в консоли отчетов. Вообщем это консоль запросов. Автор меняй название, иначе поставлю минус
61. Евгений Люлюк (Evg-Lylyk) 11.12.13 11:03
(60) "Вообщем это консоль запросов. Автор меняй название"
По названию согласен.
62. Елена Пименова (Bukaska) 11.12.13 11:05
(61) Evg-Lylyk, Здравствуйте! А ваша консоль для тонкого или для толстого клиента?
63. Евгений Люлюк (Evg-Lylyk) 11.12.13 11:09
(62) Да работает в обоих клиентах, только конструктор запросов работает только в толстом клиенте
64. Елена Пименова (Bukaska) 11.12.13 11:13
(63) Evg-Lylyk, Но текст запроса можно вставлять на исполнение? если я правильно поняла
И параметры можно задавать в тонком клиенте?
65. Евгений Люлюк (Evg-Lylyk) 11.12.13 13:16
(64) Да конечно! Редактировать можно.
66. Yran Kolm (Yran) 18.12.13 09:45
(45) Evg-Lylyk, Вы пишите, что можно закоментировать в модуле объекта замер времени и будет работать под 64-разрядном сервере но модуль объекта под паролем!!! как быть?
67. Евгений Люлюк (Evg-Lylyk) 18.12.13 11:41
(66) Обновил файл, убрал пароль с модуля
68. Елена Пименова (Bukaska) 18.12.13 11:46
(67) Evg-Lylyk, Больше нигде паролей не стоит?)))))
70. Александр Зорин (Manticor) 19.12.13 11:49
При добавлении в данную консоль запроса - 1с-ка отваливается через раз с записью дампа памяти. Может есть уже более работающий релиз?
71. Евгений Люлюк (Evg-Lylyk) 19.12.13 13:17
(70) К сожалению нет. Развивать пока не планирую
Напишите конкретнее что за запрос. Мне нужно воспроизвести ошибку
72. Александр Зорин (Manticor) 22.12.13 22:32
(71) Evg-Lylyk, ну вот например такой запрос http://forum.infostart.ru/forum26/topic101149/message1044374/#message1044374

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

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

Кто знает что делать?
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа