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

См. также

Лучшие комментарии

10. nikolega (файл скачал) 17.11.2010 17:07
(8) Как сие делается:
1. запустите утилиту Component Services
2. создайте пустое COM+ приложение со следующими параметрами:
- с Activation type - Server application
- с именем MSScriptControl
- укажите имя пользователя Windows, от имени которого компонента будет запускаться - выбрать System или Система
- при запросе членов Роли CreatorOwner, помимо сущуствующей учетки, добавить туда System или Система
- в ветке Components добавьте новую компоненту <путь к DLLке>
Ответили: (48)
# Ответить
1. Stepa86 (файл скачал) 17.11.2010 12:59
Не хочешь совместить с версией для 8.1? Так чтобы в упр. режиме открывалась упр. форма, а в обычном режиме - версия из 8.1 сконвертированная под 8.2?
Ответили: (2)
+ 1 [ NeoeN; ]
# Ответить
65. Evg-Lylyk 11.12.2013 13:16
(64) Да конечно! Редактировать можно.
+ 1 [ Bukaska; ]
# Ответить

Комментарии

1. Stepa86 (файл скачал) 17.11.2010 12:59
Не хочешь совместить с версией для 8.1? Так чтобы в упр. режиме открывалась упр. форма, а в обычном режиме - версия из 8.1 сконвертированная под 8.2?
Ответили: (2)
+ 1 [ NeoeN; ]
# Ответить
2. Evg-Lylyk 17.11.2010 13:13
(1) Не планировал... запустить ведь не трудно. Они будут очень разные.
# Ответить
3. detec (файл скачал) 17.11.2010 14:58
При попытке выполнить запрос на клиент-серверной базе

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

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

Поставил файл, рестартовал службу. Не помогло.
Ответили: (7)
# Ответить
6. detec (файл скачал) 17.11.2010 15:33
Выяснил попыткой запуска с Windows Powershell x64 и x32. Компонент ("MSScriptControl.ScriptControl") совместим только с 32-битным окружением. Сервер 1С:Предприятие x64 не поддерживеат вашу разработку.
Ответили: (8)
# Ответить
7. Evg-Lylyk 17.11.2010 15:36
(5) Извините, даже не знаю что сделать. Проблема в том что в вашей ОС нет MSScriptControl, а он нужен для работы обработки (конкретно замера времени выполнения в мс). Возможно другое имя класса.
# Ответить
8. Evg-Lylyk 17.11.2010 15:37
(6) Плохо :( Спасибо за подсказку, буду думать чем заменить.
# Ответить
9. nikolega (файл скачал) 17.11.2010 17:03
Все просто решается - делайте оболочку для запуска 32 битного приложения по х64.
# Ответить
10. nikolega (файл скачал) 17.11.2010 17:07
(8) Как сие делается:
1. запустите утилиту Component Services
2. создайте пустое COM+ приложение со следующими параметрами:
- с Activation type - Server application
- с именем MSScriptControl
- укажите имя пользователя Windows, от имени которого компонента будет запускаться - выбрать System или Система
- при запросе членов Роли CreatorOwner, помимо сущуствующей учетки, добавить туда System или Система
- в ветке Components добавьте новую компоненту <путь к DLLке>
Ответили: (48)
# Ответить
11. dushelov 19.11.2010 04:15
:idea: хорошо :)
# Ответить
12. Eternalsun (файл скачал) 31.03.2011 13:10
{ВнешняяОбработка.УправляемаяКонсольОтчетов.МодульОбъекта(18)}: Ошибка при вызове конструктора (COMОбъект)
JavaScript = Новый COMОбъект("MSScriptControl.ScriptControl");
по причине:
Класс не зарегистрирован
# Ответить
13. Eternalsun (файл скачал) 31.03.2011 13:12
И что предлагаете - каждому пользователю прописывать? Нет, то не выход
# Ответить
14. zeal 01.04.2011 12:56
Eternalsun, Павлик, ты чтоль?!
# Ответить
15. CyberCerber (файл скачал) 23.09.2011 14:06
Спасибо за обработку! Жаль, конечно, что в клиент-серверном варианте контсруктор запроса не работает.
Ответили: (17) (19)
# Ответить
16. sumixam (файл скачал) 23.09.2011 14:08
Спасибо буду тестировать....
Ответили: (50)
# Ответить
17. Saint (файл скачал) 23.09.2011 14:29
(15)
CyberCerber пишет:
Жаль, конечно, что в клиент-серверном варианте контсруктор запроса не работает

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

Извините это не в тему
Ответили: (44)
# Ответить
19. Evg-Lylyk 23.09.2011 14:42
(15) Запускайте в режиме толстого клиента и конструктор будет доступен (смотрите картинку)
# Ответить
20. Евгения Сон (файл скачал) 29.09.2011 00:42
Оказалось очень полезная обработка.Спасибо
# Ответить
21. ICPROFI 04.10.2011 03:09
Огромное спасибо! А то надоело переключаться то в упр, то в толстый клиент.
# Ответить
22. girlochka (файл скачал) 06.10.2011 08:21
полезная штука!
# Ответить
23. isn (файл скачал) 13.10.2011 13:28
Очень полезный инструмент.
К нему бы прикрутить СКД - и было бы просто верх мечтаний
# Ответить
24. Ledok (файл скачал) 23.10.2011 15:56
В свое время делала самописную для 8.1, а вот до упр. форм так и не добралась..
Спасибо! Очень удобная вещь!
# Ответить
25. solarlion 08.11.2011 16:11
подниму, нужно прикрепить СКД как в версии для 8.1. очень помогает
# Ответить
26. SNT (файл скачал) 11.11.2011 23:30
Полезная обработка.Спасибо!
# Ответить
27. Гость 16.12.2011 13:38
Полезная обработка, спасибо
# Ответить
28. pulpik (файл скачал) 20.12.2011 10:42
Добрый день.
Скачал, в тонком клиенте не активна кнопка конструктор. Не подскажите в чем проблема?
Ответили: (29)
# Ответить
29. Evg-Lylyk 20.12.2011 11:05
(28) Чтобы был доступен конструктор запросов необходимо запускать в режиме толстого клиента.
В конфигураторе - Сервис - Параметры - Запуск 1С:Предприятия - (Приложение - Толстый клиент (управляемое приложение))
# Ответить
30. Nika-cat (файл скачал) 21.12.2011 08:58
Спасибо очень ждала
# Ответить
31. Alexey55 (файл скачал) 21.12.2011 10:37
Спасибо большое! очень полезная вещь!
# Ответить
32. TRansgen (файл скачал) 10.01.2012 19:03
Шикарно! Вещь номер 1 необходимая программисту! Работает четко!
# Ответить
33. JohnyDeath (файл скачал) 11.01.2012 11:00
Кстати о вашей консоли.
Почему мало кто из разработчиков консолей добавляет мегаполезную кнопочку под названием "Добавить/Убрать |" (которая добавляет/удаляет символ | в начало каждой строки текста запроса)? Ведь это же очень удобно - копировать запрос в конфигуратор или вставлять в консоль из конфигуратора. Неужели вы пишите запросы только что б посмотреть результат в ТЗ/ТабДоке?
# Ответить
34. Evg-Lylyk 11.01.2012 11:06
(34) В старой консоли это было... как пожелание записал... может позже. Все работают по разному кто то пишет запросы вручную кто то не пользуется консолью и т.д. мне как то эта функция не особо была нужна (я нажимаю ПКМ - Конструктор - Копирую текст запроса).
Ответили: (34)
# Ответить
35. Ledok (файл скачал) 12.01.2012 06:19
Да, обработка классная, только.. постоянно из-за неё 1С-ка вылетает.
Так что есть тут какая-то проблемка.
Причем больше связано с действиями на клавиатуре, например когда копирую и вставляю текст, или надо прокрутить большой текст.
Пишешь - пишешь запрос, а тут раз и всё заново надо начинать,
никто с таким не сталкивался?

з.ы. пробовала на разных базах (УТ, УНФ)
Ответили: (36)
# Ответить
36. Evg-Lylyk 12.01.2012 08:15
(35) Да, наблюдал такое иногда какие то непонятные вылеты... в коде вроде никакого криминала. Да я сам не знаю как такое программно делать.
# Ответить
37. kernst (файл скачал) 19.01.2012 12:04
а текст модуля будет закрыт всегда? или планируешь его открыть?
если встраивать в конфигурацию, то потом не удобно делать поиск глобальный, при поиске он будет всегда останавливаться на этой обработке
Ответили: (38)
# Ответить
38. Evg-Lylyk 19.01.2012 14:12
(37) пока закрыт, потом может открою
# Ответить
39. Sam13 (файл скачал) 30.01.2012 11:37
Спасибо. Очень помогло. Респект и + автору
# Ответить
41. dour-dead (файл скачал) 12.04.2012 14:51
//Формирование подсказки по колонке
Элемент.Подсказка = Гл.ПолучитьПодсказкуДляОписанияТипа(Реквизит.Имя, ТипРеквизита);
Элемент.ПутьКДанным = ПутьКДанным;
{Форма.ОсновнаяФорма.Форма(1712)}: Ошибка при установке значения атрибута контекста (ПутьКДанным): Недопустимое значение
# Ответить
42. Sairys (файл скачал) 17.04.2012 11:36
Вот это как раз то что я и искал, сейчас будем тестить, и сравнивать что лучше всё хуже.
# Ответить
43. Sairys (файл скачал) 17.04.2012 11:44
Кстати по поводу. (Выделяются значения: NULL, Неопределено, ПустаяСтрока, ПустойУникальныйИдентификатор, ПустаяДата, ПустоеВремя, ПустаяСсылка: Х) отдельный респект.
# Ответить
44. Sairys (файл скачал) 17.04.2012 11:55
{ВнешняяОбработка.УправляемаяКонсольОтчетов.МодульОбъекта(18)}: Ошибка при вызове конструктора (COMОбъект)
по причине:
Класс не зарегистрирован
Ответили: (45)
# Ответить
45. Evg-Lylyk 17.04.2012 13:07
(44) Возможно у вас x64 server почитайте коменты там разбиралась эта проблема.
Как вариант закоментить этот код. Он отвечает за замер времени выполнения запроса
Ответили: (66)
# Ответить
46. Sairys (файл скачал) 17.04.2012 13:23
Понятно, спасибо за ответ.
# Ответить
47. kirillkr 31.05.2012 17:43
При повторном выполнении запроса, возникает коллизия
{Форма.ОсновнаяФорма.Форма(1667)}: Ошибка при вызове метода контекста (ИзменитьРеквизиты)
ИзменитьРеквизиты(МассивДобавляемыеРеквизиты, РезультатВДеревеДобавленныеРеквизиты.ВыгрузитьЗначения());
по причине:
Неуникальное имя реквизита. Имя: "Значение"
# Ответить
48. Padonak-XXI 31.08.2012 14:10
(10) А вот фиг там.
Не помогает такой финт. Уже мозг себе сломал, как обойти.
Немного не в тему. Может кто нибудь подсказать, как можно на стороне сервере (регламентное задание) запустить некий батник.
Суть в том, что есть острая необходимость в использовании спец. софта, который написан на Java (мать её так...)
и запуск возможен только через Bat-файлы.
# Ответить
49. all_i_ance (файл скачал) 04.10.2012 11:50
Запрос:

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

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

Подскажите в чем же собственно проблема???
# Ответить
50. all_i_ance (файл скачал) 04.10.2012 11:51
(16) sumixam, каковы результаты теста?
Ответили: (51)
# Ответить
51. sumixam (файл скачал) 05.10.2012 09:45
(50) all_i_ance, в общем проверил я обработку никаких у меня серьезных косяков не вылезло!!!
# Ответить
52. all_i_ance (файл скачал) 05.10.2012 11:24
А по моей ошибке кто-нибудь ответит? :)
Ответили: (53)
# Ответить
53. Evg-Lylyk 05.10.2012 11:40
(52) Почитай в начальных комментах... Там есть замер времени он работает от COM объекта закоментируйте код. Замера времени не будет, но должно работать.
Ответили: (54)
# Ответить
54. all_i_ance (файл скачал) 05.10.2012 11:49
(53) Evg-Lylyk, благодарю!
# Ответить
55. plevakin (файл скачал) 25.10.2012 17:42
Пользуюсь версией 1.0.8 и хотел бы узнать чем 1.0.9 отличается от 1.0.8? Вынесен ли блок Java в настройки, чтоб не использовать его тем, у кого это не работает?
Ответили: (56)
# Ответить
56. Evg-Lylyk 25.10.2012 21:34
(55) извините сейчас не развиваю. Нет времени
# Ответить
57. suvolod 23.03.2013 20:14
нет режима просмотра временных таблиц, который реализован в большинстве аналогичных обработок. Жаль.. только из-за этого отнесу эту обработку к разряду "прочих"
# Ответить
58. DikovSV 17.06.2013 14:15
Не увидел оформление NULL, а очень хотелось бы. Через вид сравнения "равно" или "содержит" null не обрабатывается.
Ответили: (59)
# Ответить
59. Evg-Lylyk 17.06.2013 20:24
(58) в ранних версиях платформы я делал... позже если не ошибаюсь 15 не работает. На сайте 1С заинтересованность в решении проблемы не проявили. Теперь не сделать, а возможность была интересная
# Ответить
60. sbv2005 (файл скачал) 11.12.2013 10:48
Все таки люди путают консоль запросов с консолью отчетов. Здесь нет СКД, как в консоли отчетов. Вообщем это консоль запросов. Автор меняй название, иначе поставлю минус
Ответили: (61)
+ 1 [ Spacer; ]
# Ответить
61. Evg-Lylyk 11.12.2013 11:03
(60) "Вообщем это консоль запросов. Автор меняй название"
По названию согласен.
Ответили: (62)
# Ответить
62. Bukaska 11.12.2013 11:05
(61) Evg-Lylyk, Здравствуйте! А ваша консоль для тонкого или для толстого клиента?
Ответили: (63)
# Ответить
63. Evg-Lylyk 11.12.2013 11:09
(62) Да работает в обоих клиентах, только конструктор запросов работает только в толстом клиенте
Ответили: (64)
# Ответить
64. Bukaska 11.12.2013 11:13
(63) Evg-Lylyk, Но текст запроса можно вставлять на исполнение? если я правильно поняла
И параметры можно задавать в тонком клиенте?
Ответили: (65)
# Ответить
65. Evg-Lylyk 11.12.2013 13:16
(64) Да конечно! Редактировать можно.
+ 1 [ Bukaska; ]
# Ответить
66. Yran (файл скачал) 18.12.2013 09:45
(45) Evg-Lylyk, Вы пишите, что можно закоментировать в модуле объекта замер времени и будет работать под 64-разрядном сервере но модуль объекта под паролем!!! как быть?
Ответили: (67)
# Ответить
67. Evg-Lylyk 18.12.2013 11:41
(66) Обновил файл, убрал пароль с модуля
Ответили: (68) (69)
# Ответить
68. Bukaska 18.12.2013 11:46
(67) Evg-Lylyk, Больше нигде паролей не стоит?)))))
# Ответить
70. Manticor 19.12.2013 11:49
При добавлении в данную консоль запроса - 1с-ка отваливается через раз с записью дампа памяти. Может есть уже более работающий релиз?
Ответили: (71)
# Ответить
71. Evg-Lylyk 19.12.2013 13:17
(70) К сожалению нет. Развивать пока не планирую
Напишите конкретнее что за запрос. Мне нужно воспроизвести ошибку
Ответили: (72)
# Ответить
72. Manticor 22.12.2013 22:32
(71) Evg-Lylyk, ну вот например такой запрос http://forum.infostart.ru/forum26/topic101149/message1044374/#message1044374

Как я понял по тестам - не важно какие запросы, просто еслия копирую текст запроса и втсавляю его в эту консоль - то программа периодически отваливается. Возможно какойто баг платформы )
Ответили: (73)
# Ответить
73. Evg-Lylyk 22.12.2013 22:52
(72) у меня работает на платформах версий 8.2.19, 8.3.4
такой запрос воспроизвести проблематично т.к. у меня нет вашей конфигурации
# Ответить
74. Bajo 14.07.2016 13:47
Обработка умеет трансформировать запрос 1с в T-SQL?
# Ответить
Внимание! За постинг в данном форуме $m не начисляются.
Внимание! Для написания сообщения необходимо авторизоваться
Текст сообщения*
Прикрепить файл






IE 2016