|
Инструменты разработчика. Консоль запросов. Поддержка WQL (WMI) | ☑ | ||
---|---|---|---|---|
0
TormozIT
гуру
11.06.13
✎
02:32
|
Предлагаю вашему вниманию демонстрацию поддержки WQL (WMI) в консоли запросов (ИР) с конструктором запроса и отображением справочной информации по классам/свойствам.
https://www.youtube.com/watch?v=bFDDJqToPTM |
|||
9
TormozIT
гуру
11.06.13
✎
09:50
|
(7) BB FlashBack Pro. Перепробовал много разных программ этого направления. Эта для меня однозначно лучшая.
|
|||
10
Утконос
11.06.13
✎
10:00
|
(9) Спасибо большое
|
|||
11
Ковычки
11.06.13
✎
10:07
|
КомандаСистемы("%systemroot%\System32\wbem\wbemtest.exe || %systemroot%\SysNative\wbem\wbemtest.exe");
|
|||
12
TormozIT
гуру
11.06.13
✎
10:19
|
(11) Это че? Типа альтернатива (0)? =)
|
|||
13
Speshuric
11.06.13
✎
10:41
|
(6) Самые простые приложения:
1. Административное применение. Посмотреть в моменте информацию по процессам, службам, устройствам и куче прочего. 2. Программное. Написать запрос с *, уменьшить количество полей (WMI не самая быстрая вещь), отладить запрос, воткнуть в серверный модуль с обвязкой, взятой из обработки. Без механизации делать долго (автоматизацией это не назвать :) ). После втычивания можно навесить методы (напр. перезапуск служб) (5) Ну ок, если будет что-то интересное, то опубликую. |
|||
14
Ковычки
11.06.13
✎
10:44
|
вообщето вми самодокументируемая система
|
|||
15
Конфигуратор1с
11.06.13
✎
10:53
|
(6) о! очень простое - когда на серваке память вижирает какая то хрень, то 1сник узнает когда сервер уже упал(, а так раз и все - смска память достигла критического уровня
|
|||
16
TormozIT
гуру
11.06.13
✎
11:06
|
(14) На сколько я изучил вопрос, не совсем так. Объектная модель не позволяет получать смысловое описание классов и методов и свойств (на человеческом языке). Для этого мне пришлось получать информацию в обход WMI.
|
|||
17
Maxus43
11.06.13
✎
11:11
|
(15) конкретно для этого юзать 1с не вижу смысла, есть специализированное ПО, следящее за состоянием систем и серверов, в т.ч. сигнализирующее админам о таких заковыках. Оно надёжней, ибо 1с и сама может упасть)
|
|||
18
Ковычки
11.06.13
✎
12:31
|
(16) а подобного не достаточно ?
Моникер=ПолучитьCOMОбъект("winmgmts:\\.\root\cimv2"); Процессы=Моникер.Get("Win32_Process"); Сп=Новый СписокЗначений; Сп.Добавить(Процессы.Properties_,"Свойство: "); Сп.Добавить(Процессы.Methods_,"Метод: "); Сп.Добавить(Процессы.Qualifiers_,"Квалификатор: "); Для Каждого Элемент Из Сп Цикл Для Каждого Х Из Элемент.Значение Цикл Сообщить(Элемент.Представление+Х.Name); КонецЦикла; КонецЦикла; |
|||
19
Ковычки
11.06.13
✎
12:32
|
опущен конечно перебор пространств и классов
|
|||
20
TormozIT
гуру
11.06.13
✎
12:35
|
(18) Процитирую себя из (16) с явным акцентированием
"Объектная модель не позволяет получать СМЫСЛОВОЕ описание классов и методов и свойств (НА ЧЕЛОВЕЧЕСКОМ ЯЗЫКЕ)" |
|||
21
Ковычки
11.06.13
✎
12:36
|
(20) ну если, что то отчасти может, есть метод возврата свойств в виде иксмээль
|
|||
22
Jaap Vduul
11.06.13
✎
12:52
|
Поддержка специфичных для WQL ключевых слов (ASSOCIATORS OF, REFERENCES OF, ISA, WITHIN и т.д.) присутствует?
ЗЫ. Вообще я вот это юзаю (конструктора запросов там нет, приходится ручками лепить): http://www.microsoft.com/downloads/details.aspx?FamilyID=6430f853-1120-48db-8cc5-f2abdc3ed314&DisplayLang=en&displaylang=en |
|||
23
TormozIT
гуру
11.06.13
✎
13:00
|
(22) В конструкторе нет. В тексте запроса вручную можно писать.
|
|||
24
Jaap Vduul
11.06.13
✎
13:34
|
(20)
Это не так. Вот для примера (powershell): $result = get-wmiObject -query "SELECT * FROM meta_class WHERE __this ISA ""Win32_LogicalDisk""" -amended $result.qualifiers.item("description").value Результат: Класс Win32_LogicalDisk является источником данных, разрешаемым на локальное устройство хранения данных на компьютере с системой Win32. Класс возвращает как локальный, так и подключенный диск. Однако, рекомендуется использовать этот класс для получения сведений о логических дисках, а для получения сведений о подключенных дисках использовать класс Win32_MappedL ogicalDisk. |
|||
25
TormozIT
гуру
16.06.13
✎
00:23
|
(24) Спасибо. Теперь понятно, что просто квалификатор этот есть только у тех объектов, у которых есть само описание.
(18) Тоже получается был прав. В новой версии попробую переделать на такой способ получения описаний. |
|||
26
TormozIT
гуру
02.07.13
✎
16:06
|
(24) Никак не удается получить эту информацию через COM интерфейс. Через powershell действительно можно. Можешь подсказать, в чем отличие?
|
|||
27
Jaap Vduul
02.07.13
✎
16:29
|
(26)Да, в общем-то, никакого отличия.
Просто нужно указание, что нам нужна уточняющяя информация. В случае PS это параметр -amended, а для COM - наличие флага WBEM_FLAG_USE_AMENDED_QUALIFIERS в параметрах вызовов: wbemFlagUseAmendedQualifiers = &H20000 Set wmi = GetObject("winmgmts:\\.\root\cimv2") Set wbemObjects = wmi.ExecQuery("SELECT * FROM meta_class WHERE __this ISA ""Win32_LogicalDisk""", "WQL", wbemFlagUseAmendedQualifiers) For Each wbemObject In wbemObjects Debug.Print wbemObject.Qualifiers_.Item("Description") Next |
|||
28
TormozIT
гуру
02.07.13
✎
16:32
|
(27) Спасибо. Сделал так
wbemFlagUseAmendedQualifiers = 131072; //&H20000 КоллекцияКлассов = мWMIService.SubclassesOf(, wbemFlagUseAmendedQualifiers); |
|||
29
Jaap Vduul
02.07.13
✎
16:32
|
||||
30
TormozIT
гуру
04.07.13
✎
13:18
|
Реализовал получение смысловых описаний через объектную модель в 2.85
|
|||
31
TormozIT
гуру
21.07.13
✎
13:02
|
(17) Теперь (в версии 2.86) можно оценить заметное повышение удобства, т.к. контекстная подсказка и генераторы кода теперь поддерживают результаты запроса WQL.
|
|||
32
Бертыш
22.07.13
✎
08:37
|
(0) Приятная плюшка
|
|||
33
Fragster
модератор
22.07.13
✎
08:47
|
а ADO будет?
|
|||
34
Bumer
22.07.13
✎
08:52
|
(32)+100
|
|||
35
TormozIT
гуру
22.07.13
✎
09:42
|
(33) ADO будет
|
|||
36
TormozIT
гуру
29.07.13
✎
09:49
|
(33) Начальная поддержка ADODB в виде типа запроса "ADO" добавлена в версии 2.87
|
|||
37
1Cv8_accepted
29.07.13
✎
09:52
|
ЗБС!
|
|||
38
Живой Ископаемый
30.07.13
✎
10:35
|
http://screencast.com/t/eLc8DRHTqTt
Э.. а как этим пользоваться? или оно еще будет развиваться? |
|||
39
ДенисЧ
30.07.13
✎
10:45
|
В мобильных будет АДО?
|
|||
40
TormozIT
гуру
30.07.13
✎
11:52
|
(38) В поле ПУТЬ в данном случае нужно указывать имя DSN (ориентироваться надо на параметры в строке соединения). Согласен, что пока немного путано. Развиваться конечно будет.
(39) Технических сложностей (взаимодействия с сервером приложений) для работы в мобильном варианте здесь нет. Так что остается дождаться лишь Khaoos'а, который уже давно не занимается разработкой на 1С и потому выпускает версии заметно реже и на чистом альтруизме. |
|||
41
Fragster
модератор
30.07.13
✎
12:29
|
(36) супер! скину бабосов скоро на пиво!
|
|||
42
also
30.07.13
✎
12:40
|
(40) TormozIT, добавь себе в профиль реквизиты кошелька для доната и ссылку на сайт. Мне кажется, ты зря почти не проводишь пиар акции направленные на активный донат за твою работу.
|
|||
43
ДенисЧ
30.07.13
✎
12:42
|
(40) будем ждать...
|
|||
44
also
30.07.13
✎
13:45
|
Еще и через кнопку на сайте можно только 5 рублей отправить ((
|
|||
45
Живой Ископаемый
30.07.13
✎
13:47
|
2(42) кошелек у него есть, но он опасается публиковать... уже б мог завести номер только и именно для сбора средств
|
|||
46
also
30.07.13
✎
13:55
|
(45) я отправил на тот, что по кнопке "Дай пять". Странно, нужно пошаманить, чтобы найти куда денег скинуть.
|
|||
47
TormozIT
гуру
30.07.13
✎
14:04
|
(44) Да, такая проблема имеется. Это данность от яндекса. Если кто знает, как сделать удобнее сразу с возможностью ввести любую сумму, подскажите.
|
|||
48
also
30.07.13
✎
14:08
|
||||
49
also
30.07.13
✎
14:08
|
||||
50
also
30.07.13
✎
14:09
|
Там вплоть до API есть
|
|||
51
also
30.07.13
✎
14:09
|
Можно спросить у Доржи, и прямо на инфостарт воткнуть
|
|||
52
TormozIT
гуру
30.07.13
✎
14:44
|
(48) (49) Спасибо. Хотя (48) и красивее, но по компоновке подошел только (49)
|
|||
53
Живой Ископаемый
05.08.13
✎
10:54
|
||||
54
Живой Ископаемый
06.08.13
✎
07:26
|
Сорри, для 2.87 не актуально, там все хорошо.
|
|||
55
TormozIT
гуру
06.08.13
✎
09:27
|
(53) Кстати а чем такой прием лучше временной таблицы?
|
|||
56
Живой Ископаемый
06.08.13
✎
09:41
|
2(55) мм? какой прием?
|
|||
57
Живой Ископаемый
06.08.13
✎
09:47
|
давай поговорим, а то я неуютно себя чувствую...
|
|||
58
TormozIT
гуру
06.08.13
✎
10:15
|
(56) Выполнять предварительно (Перед выполнением) запрос и выгружать его в ТЗ
|
|||
59
Живой Ископаемый
06.08.13
✎
10:23
|
2(58) ффух...
так и делаю на самом деле http://screencast.com/t/GTxqlz7Abf но "ссылка" я тоже объявил как параметр, чтобы просто загодя его и визуально установить нужным документом, а не писать в коде "Перед выполнением" НайтиПоКоду или типа того. Ну то есть я объявляю это как параметр главного запроса, хотя в самом запросе этот параметр и не используется, для самого запроса используются http://screencast.com/t/GTxqlz7Abf |
|||
60
Живой Ископаемый
06.08.13
✎
10:23
|
||||
61
TormozIT
гуру
06.08.13
✎
10:39
|
(59) Так в (55) я спросил, чем такой (выборка в параметр-ТЗ в перед выполнением) прием лучше временной таблицы. Кажется теперь стало понятно - на скриншотах не видно, но в коде обработчика есть вызов проведения документа.
|
|||
62
Живой Ископаемый
06.08.13
✎
10:47
|
2(61) нет, нету, но суть в том, что я это отлаживаю в твоей консоли, чтобы потом перенести в обработчик подписки ПриЗаписиНабораЗаписейРБХозрасчетный.
Поэтому мне важно чтобы его можно было перенести как можно более безболезненно. |
|||
63
Живой Ископаемый
06.08.13
✎
10:48
|
э... Но вообще лучше будешь, если ты мне покажешь этот прием с временной таблицей
|
|||
64
TormozIT
гуру
06.08.13
✎
10:53
|
Тогда думаю в твоем случае более рационально было бы применить пакетный запрос. В первых запросах пакета сформировать временные таблицы, используя ключевое слово конструкцию ПОМЕСТИТЬ <ИмяВременнойТаблицы>. А в последнем запросе пакета уже оперировать именами созданных в первых запросах пакета временных таблиц.
|
|||
65
Живой Ископаемый
06.08.13
✎
10:55
|
(64) "Кто сказал, что у Кутузова не было одного глаза? У Кутузова БЫЛ один глаз!":
http://screencast.com/t/hK0sPcxP |
|||
66
TormozIT
гуру
06.08.13
✎
11:08
|
Теперь ясно. Данных в БД при выполнении целевого кода еще нет, а в обработчике ПередВыполнением ты их готовишь чтением из БД и после вставки в рабочий код удаляешь фрагмент, выполняющий это чтение.
|
|||
67
Живой Ископаемый
06.08.13
✎
11:12
|
Угу. А в консоли иммитирую просто читая движения двух разных, хоть и похожих документов.
|
|||
68
Fragster
модератор
12.08.13
✎
12:37
|
как в ИР таблицу с результатом запроса получить в консоли кода в качестве параметра входящего? один раз как-то получилось, сейчас же с новым видом запроса ADO снова актуально
|
|||
69
Fragster
модератор
12.08.13
✎
12:38
|
кстати, не работает кнопка "загрузить" которая целиком большой результат запроса засасывает
|
|||
70
Fragster
модератор
12.08.13
✎
12:38
|
для ADO, естественно
|
|||
71
Fragster
модератор
12.08.13
✎
15:01
|
еще заметил, что оно в консоли запросов часто при выводе округляет (именно формат вывода, когда 2 раза тыкаешь, отображает нормальное значение), в том числе для обычных запросов.
|
|||
72
Fragster
модератор
12.08.13
✎
15:24
|
блин, как от этого избавиться? http://wstaw.org/m/2013/08/12/0.png
|
|||
73
Fragster
модератор
12.08.13
✎
15:26
|
блин.
версия 2.89 Общее *Исправлена потеря дробной части некоторых числовых колонок при отображении в ряде табличных полей подсистемы, внесенная не позднее версии 2.84 |
|||
74
TormozIT
гуру
12.08.13
✎
15:39
|
(69) Это в какой версии?
|
|||
75
TormozIT
гуру
12.08.13
✎
15:42
|
(68) На закладке "Обработка результата" есть кнопка "Обработать результат в консоли кода".
|
|||
76
Fragster
модератор
12.08.13
✎
15:44
|
(74) 2.80
(75) понял - это если результат полностью поместился |
|||
77
Fragster
модератор
12.08.13
✎
15:44
|
есть обходное решение для проблемы с точностью? а то мне быстро не обновиться - иначе РИБ обмены встанут
|
|||
78
Fragster
модератор
12.08.13
✎
15:45
|
2.87 вернее
|
|||
79
TormozIT
гуру
12.08.13
✎
16:02
|
(77) Нет
|
|||
80
TormozIT
гуру
12.08.13
✎
16:05
|
(78) Кажется такую проблему (64) исправлял в 2.88, но забыл внести в список исправлений.
|
|||
81
TormozIT
гуру
12.08.13
✎
16:05
|
(80) + Всмысле проблему (69), а не (64)
|
|||
82
Fragster
модератор
12.08.13
✎
16:16
|
(79) пичалька :(
еще после обновления на 2.87 стала после относительно длительной работы сначала глючить картинками 1ска, а потом вылетать... а может это от того, что я не перезагружался уже месяца 2 |
|||
83
Fragster
модератор
12.08.13
✎
16:17
|
с 2.80 на 2.87
|
|||
84
Fragster
модератор
12.08.13
✎
16:18
|
после работы с консолью запросов, ну и картинки - сначала в консоли запросов, а потом по всей 1ске - и вылет.
|
|||
85
TormozIT
гуру
02.09.13
✎
13:54
|
В 2.91 стало возможно результат запроса WQL и ADO помещать во временную таблицу 1С.
|
|||
86
Fragster
модератор
02.09.13
✎
14:58
|
(85) ого!
|
|||
87
ЧашкаЧая
02.09.13
✎
15:08
|
Уважаемый, TormozIT, пользуясь случаем хочу спросить, что за файл запрашивается в версии 2.91 при выборе типа запроса ADO? Как указать параметры подключения к SQL базе?
|
|||
88
TormozIT
гуру
02.09.13
✎
15:19
|
(87) Опиши подробнее, что делаешь и со скриншотом и желательно в отдельной теме форума http://devtool1c.ucoz.ru/forum/
|
|||
89
ЧашкаЧая
02.09.13
✎
15:27
|
(88) Пробовал открывать DSN файл. Ну и закладки параметров подключения больше нет.
http://screencast.com/t/VKxqwnFYY |
|||
90
TormozIT
гуру
02.09.13
✎
15:33
|
(89) Спасибо. Воспроизвел. Диалог открытия файла появляется в данным случае ошибочно. В нет нет смысла выбирать файл и нужно его закрыть. После этого еще будет сообщение об ошибке его тоже нужно закрыть. Закладка с параметрами ADO у меня при этом появилась. Для избежания этой проблемы можно копировать существующий запрос ADO или добавлять новый запрос, стоя на запросе типа ADO.
|
|||
91
Живой Ископаемый
02.09.13
✎
17:03
|
2(85) а там написано "Дата: 28.11.2011"
это ошибка? файлы более актуальные? http://screencast.com/t/SM1odCiKuZZ0 |
|||
92
TormozIT
гуру
02.09.13
✎
21:08
|
(91) Это дата добавления файла, но не версии. Добавил дату изменения, чтобы было понятнее.
|
|||
93
TormozIT
гуру
03.09.13
✎
00:24
|
(89) Исправлено в 2.92
|
|||
94
also
03.09.13
✎
01:11
|
(93) есть в планах реализация подключения своих обработок к панели инструментов?
|
|||
95
also
03.09.13
✎
01:13
|
+(94) еще есть предложение: сделать в консоли запросов такие же хоткеи, как в снегопате. Ну типо alt+7 вставляет & и тд
|
|||
96
TormozIT
гуру
03.09.13
✎
08:21
|
(95) Зачем? Ведь есть раскладка от Чистова с теми же возможностями. Она является более универсальным решением.
|
|||
97
TormozIT
гуру
03.09.13
✎
08:31
|
(94) К панели инструментов буквально подключать свои обработки невозможно, т.к. она не поддается программному изменению. Возможно ты имел ввиду что то другое?
|
|||
98
Feunoir
03.09.13
✎
08:41
|
В консоли системы компоновки данных, которая от 1С, есть очень интересная функция - просмотра XML для промежуточных стадий выполнения компоновки. Нет планов сделать нечто подобное?
|
|||
99
TormozIT
гуру
03.09.13
✎
08:47
|
(98) Подменю "Исследовать", в исследователе кнопка "XML" или "XDTO".
|
|||
100
1Cv8_accepted
03.09.13
✎
08:48
|
100
|
|||
101
Живой Ископаемый
03.09.13
✎
08:49
|
2(98) давно уже есть
|
|||
102
TormozIT
гуру
03.09.13
✎
08:49
|
(98) Этот ролик http://www.youtube.com/watch?v=4vDV-Y9W_ng не смотрел?
|
|||
103
Feunoir
03.09.13
✎
08:54
|
(99) (101) Не догадался, спасибо.
(102) Да что-то я потыкался в этот исследователь, на первый взгляд не впечатлил он меня, поэтому и не пользуюсь. Видимо нужно второй раз посмотреть. Уже более внимательно. |
|||
104
Escander
03.09.13
✎
08:59
|
(85) афигеть! Сергею уважуха!
|
|||
105
TormozIT
гуру
04.09.13
✎
00:20
|
В функции режима отладки От/Отладить добавлена поддержка WMI запросов (Locator+QueryText) и ADO запросов (ADODB.Command или ADODB.Connection + QueryText). Т.е. в точке останова можно отладить "живой" объект для выполнения запроса WMI или ADO.
|
|||
106
also
06.09.13
✎
16:57
|
(96) понял.
Сергей, есть следующая идея. Я сам уже давно почти не пишу временных обработок. Пишу алгоритмы в подсистеме и пользуюсь консолью запросов. Причем чаще даже всякие "временно-постоянные" обработки связаны с каким-то набором данных и потому самое акутальное лежит в каталоге с файлами консоли запросов. Т.е. пишу запрос, потом обработку результатов, и если чувствую, что будет полезно в будущем храню в спец каталоге. Мне кажется, было бы круто расширить справочник алгоритмов или даже сделать отдельный справочник запросов, для сохранения туда нужных запросов прямо из консоли. Надеюсь понятно изложил свои мысли :) |
|||
107
TormozIT
гуру
09.09.13
✎
09:34
|
(106) Изложил понятно. Но развиваться в сторону хранимых в БД данных пока хотелось бы, в том числе из-за сложностей с мобильным вариантом. Алгоритмы сделаны справочником для возможности ссылаться внутри алгоритма на другой алгоритм.
Было бы полезно, если бы ты подробнее описал преимущества, которые получит пользователь от справочника Запросы. |
|||
108
also
09.09.13
✎
10:24
|
(107) Привязываться не обязательно. Это просто каталог обработок, только вместо обработок файлики .sel
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |