Инструменты разработчика. Консоль запросов. Поддержка WQL (WMI) #668578


#0 by TormozIT
Предлагаю вашему вниманию демонстрацию поддержки WQL (WMI) в консоли запросов (ИР) с конструктором запроса и отображением справочной информации по классам/свойствам.
#0 by TormozIT
Предлагаю вашему вниманию демонстрацию поддержки WQL (WMI) в консоли запросов (ИР) с конструктором запроса и отображением справочной информации по классам/свойствам.
#1 by GROOVY
Круто. Почему нет звука, нет комментов автора?
#2 by TormozIT
Речь в роликах добавляет сложности при монтировании. Поэтому она отсутствует для экономии времени на монтаже в тех роликах, где она на мой взгляд не очень нужна.
#3 by vis_tmp
Да, круто!
#4 by Speshuric
Если это по стопам то я очень рад развитию. Единственное, что я хотел на выходных сесть и прикрутить еще выполнение методов WMI. Если что - можем по почте списаться так чтобы эту функцию было проще встроить в ИР.
#5 by TormozIT
Да, по стопам твоей обработки. Там даже твои куски кода пока еще есть. Развивать в сторону работы с методами объектов WMI я пока не планировал.
#6 by Maxus43
круто) приложение к практике какое имеет кстати? пока не могу придумать сходу где понадобится
#7 by Утконос
вопрос не по теме - чем вы ролик записывали ?Спасибо.
#8 by TormozIT
Из чистой объектной модели 1С очень мало можно узнать об операционной системе. WMI - широкое окно, через которое можно получить огромное количество такого рода информации. В моей практике например часто приходилось получать информацию о процессах ОС.
#9 by TormozIT
BB FlashBack Pro. Перепробовал много разных программ этого направления. Эта для меня однозначно лучшая.
#10 by Утконос
Спасибо большое
#11 by Ковычки
КомандаСистемы("%systemroot%System32wbemwbemtest.exe || %systemroot%SysNativewbemwbemtest.exe");
#12 by TormozIT
Это че? Типа альтернатива ? =)
#13 by Speshuric
Самые простые приложения: 1. Административное применение. Посмотреть в моменте информацию по процессам, службам, устройствам и куче прочего. 2. Программное. Написать запрос с *, уменьшить количество полей (WMI не самая быстрая вещь), отладить запрос, воткнуть в серверный модуль с обвязкой, взятой из обработки. Без механизации делать долго (автоматизацией это не назвать :) ). После втычивания можно навесить методы (напр. перезапуск служб) Ну ок, если будет что-то интересное, то опубликую.
#14 by Ковычки
вообщето вми самодокументируемая система
#15 by Конфигуратор1с
о! очень простое - когда на серваке память вижирает какая то хрень, то 1сник узнает когда сервер уже упал(, а так раз и все - смска память достигла критического уровня
#16 by TormozIT
На сколько я изучил вопрос, не совсем так. Объектная модель не позволяет получать смысловое описание классов и методов и свойств (на человеческом языке). Для этого мне пришлось получать информацию в обход WMI.
#17 by Maxus43
конкретно для этого юзать 1с не вижу смысла, есть специализированное ПО, следящее за состоянием систем и серверов, в т.ч. сигнализирующее админам о таких заковыках. Оно надёжней, ибо 1с и сама может упасть)
#18 by Ковычки
а подобного не достаточно ?
#19 by Ковычки
опущен конечно перебор пространств и классов
#20 by TormozIT
Процитирую себя из с явным акцентированием "Объектная модель не позволяет получать СМЫСЛОВОЕ описание классов и методов и свойств (НА ЧЕЛОВЕЧЕСКОМ ЯЗЫКЕ)"
#21 by Ковычки
ну если, что то отчасти может, есть метод возврата свойств в виде иксмээль
#22 by Jaap Vduul
Поддержка специфичных для WQL ключевых слов (ASSOCIATORS OF, REFERENCES OF, ISA, WITHIN и т.д.) присутствует? ЗЫ. Вообще я вот это юзаю (конструктора запросов там нет, приходится ручками лепить):
#23 by TormozIT
В конструкторе нет. В тексте запроса вручную можно писать.
#24 by Jaap Vduul
Это не так. Вот для примера (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 by TormozIT
Спасибо. Теперь понятно, что просто квалификатор этот есть только у тех объектов, у которых есть само описание. Тоже получается был прав. В новой версии попробую переделать на такой способ получения описаний.
#26 by TormozIT
Никак не удается получить эту информацию через COM интерфейс. Через powershell действительно можно. Можешь подсказать, в чем отличие?
#27 by Jaap Vduul
Да, в общем-то, никакого отличия. Просто нужно указание, что нам нужна уточняющяя информация. В случае PS это параметр -amended, а для COM - наличие флага WBEM_FLAG_USE_AMENDED_QUALIFIERS в параметрах вызовов:
#28 by TormozIT
#29 by Jaap Vduul
#30 by TormozIT
Реализовал получение смысловых описаний через объектную модель в 2.85
#31 by TormozIT
Теперь (в версии 2.86) можно оценить заметное повышение удобства, т.к. контекстная подсказка и генераторы кода теперь поддерживают результаты запроса WQL.
#32 by Бертыш
Приятная плюшка
#33 by Fragster
а ADO будет?
#34 by Bumer
+100
#35 by TormozIT
ADO будет
#36 by TormozIT
Начальная поддержка ADODB в виде типа запроса "ADO" добавлена в версии 2.87
#37 by 1Cv8_accepted
ЗБС!
#38 by Живой Ископаемый
Э.. а как этим пользоваться? или оно еще будет развиваться?
#39 by ДенисЧ
В мобильных будет АДО?
#40 by TormozIT
В поле ПУТЬ в данном случае нужно указывать имя DSN (ориентироваться надо на параметры в строке соединения). Согласен, что пока немного путано. Развиваться конечно будет. Технических сложностей (взаимодействия с сервером приложений) для работы в мобильном варианте здесь нет. Так что остается дождаться лишь Khaoos'а, который уже давно не занимается разработкой на 1С и потому выпускает версии заметно реже и на чистом альтруизме.
#41 by Fragster
супер! скину бабосов скоро на пиво!
#42 by also
, добавь себе в профиль реквизиты кошелька для доната и ссылку на сайт. Мне кажется, ты зря почти не проводишь пиар акции направленные на активный донат за твою работу.
#43 by ДенисЧ
будем ждать...
#44 by also
Еще и через кнопку на сайте можно только 5 рублей отправить ((
#45 by Живой Ископаемый
2 кошелек у него есть, но он опасается публиковать... уже б мог завести номер только и именно для сбора средств
#46 by also
я отправил на тот, что по кнопке "Дай пять". Странно, нужно пошаманить, чтобы найти куда денег скинуть.
#47 by TormozIT
Да, такая проблема имеется. Это данность от яндекса. Если кто знает, как сделать удобнее сразу с возможностью ввести любую сумму, подскажите.
#49 by also
вот еще
#50 by also
Там вплоть до API есть
#51 by also
Можно спросить у Доржи, и прямо на инфостарт воткнуть
#52 by TormozIT
Спасибо. Хотя и красивее, но по компоновке подошел только
#53 by Живой Ископаемый
2
#54 by Живой Ископаемый
Сорри, для 2.87 не актуально, там все хорошо.
#55 by TormozIT
Кстати а чем такой прием лучше временной таблицы?
#56 by Живой Ископаемый
2 мм? какой прием?
#57 by Живой Ископаемый
давай поговорим, а то я неуютно себя чувствую...
#58 by TormozIT
Выполнять предварительно (Перед выполнением) запрос и выгружать его в ТЗ
#59 by Живой Ископаемый
2 ффух... так и делаю на самом деле но "ссылка" я тоже объявил как параметр, чтобы просто загодя его и визуально установить нужным документом, а не писать в коде "Перед выполнением" НайтиПоКоду или типа того. Ну то есть я объявляю это как параметр главного запроса, хотя в самом запросе этот параметр и не используется, для самого запроса используются
#60 by Живой Ископаемый
вторая ссылка такая:
#61 by TormozIT
Так в я спросил, чем такой (выборка в параметр-ТЗ в перед выполнением) прием лучше временной таблицы. Кажется теперь стало понятно - на скриншотах не видно, но в коде обработчика есть вызов проведения документа.
#62 by Живой Ископаемый
2 нет, нету, но суть в том, что я это отлаживаю в твоей консоли, чтобы потом перенести в обработчик подписки ПриЗаписиНабораЗаписейРБХозрасчетный. Поэтому мне важно чтобы его можно было перенести как можно более безболезненно.
#63 by Живой Ископаемый
э... Но вообще лучше будешь, если ты мне покажешь этот прием с временной таблицей
#64 by TormozIT
Тогда думаю в твоем случае более рационально было бы применить пакетный запрос. В первых запросах пакета сформировать временные таблицы, используя ключевое слово конструкцию ПОМЕСТИТЬ <ИмяВременнойТаблицы>. А в последнем запросе пакета уже оперировать именами созданных в первых запросах пакета временных таблиц.
#65 by Живой Ископаемый
"Кто сказал, что у Кутузова не было одного глаза? У Кутузова БЫЛ один глаз!":
#66 by TormozIT
Теперь ясно. Данных в БД при выполнении целевого кода еще нет, а в обработчике ПередВыполнением ты их готовишь чтением из БД и после вставки в рабочий код удаляешь фрагмент, выполняющий это чтение.
#67 by Живой Ископаемый
Угу. А в консоли иммитирую просто читая движения двух разных, хоть и похожих документов.
#68 by Fragster
как в ИР таблицу с результатом запроса получить в консоли кода в качестве параметра входящего? один раз как-то получилось, сейчас же с новым видом запроса ADO снова актуально
#69 by Fragster
кстати, не работает кнопка "загрузить" которая целиком большой результат запроса засасывает
#70 by Fragster
для ADO, естественно
#71 by Fragster
еще заметил, что оно в консоли запросов часто при выводе округляет (именно формат вывода, когда 2 раза тыкаешь, отображает нормальное значение), в том числе для обычных запросов.
#72 by Fragster
блин, как от этого избавиться?
#73 by Fragster
блин. версия 2.89     Общее         *Исправлена потеря дробной части некоторых числовых колонок при отображении в ряде табличных полей подсистемы, внесенная не позднее версии 2.84
#74 by TormozIT
Это в какой версии?
#75 by TormozIT
На закладке "Обработка результата" есть кнопка "Обработать результат в консоли кода".
#76 by Fragster
2.80 понял - это если результат полностью поместился
#77 by Fragster
есть обходное решение для проблемы с точностью? а то мне быстро не обновиться - иначе РИБ обмены встанут
#78 by Fragster
2.87 вернее
#79 by TormozIT
Нет
#80 by TormozIT
Кажется такую проблему исправлял в 2.88, но забыл внести в список исправлений.
#81 by TormozIT
+ Всмысле проблему , а не
#82 by Fragster
пичалька :( еще после обновления на 2.87 стала после относительно длительной работы сначала глючить картинками 1ска, а потом вылетать... а может это от того, что я не перезагружался уже месяца 2
#83 by Fragster
с 2.80 на 2.87
#84 by Fragster
после работы с консолью запросов, ну и картинки - сначала в консоли запросов, а потом по всей 1ске - и вылет.
#85 by TormozIT
В 2.91 стало возможно результат запроса WQL и ADO помещать во временную таблицу 1С.
#86 by Fragster
ого!
#87 by ЧашкаЧая
Уважаемый, , пользуясь случаем хочу спросить, что за файл запрашивается в версии 2.91 при выборе типа запроса ADO? Как указать параметры подключения к SQL базе?
#88 by TormozIT
Опиши подробнее, что делаешь и со скриншотом и желательно в отдельной теме форума
#89 by ЧашкаЧая
Пробовал открывать DSN файл. Ну и закладки параметров подключения больше нет.
#90 by TormozIT
Спасибо. Воспроизвел. Диалог открытия файла появляется в данным случае ошибочно. В нет нет смысла выбирать файл и нужно его закрыть. После этого еще будет сообщение об ошибке его тоже нужно закрыть. Закладка с параметрами ADO у меня при этом появилась. Для избежания этой проблемы можно копировать существующий запрос ADO или добавлять новый запрос, стоя на запросе типа ADO.
#91 by Живой Ископаемый
2 а там написано "Дата: 28.11.2011" это ошибка? файлы более актуальные?
#92 by TormozIT
Это дата добавления файла, но не версии. Добавил дату изменения, чтобы было понятнее.
#93 by TormozIT
Исправлено в 2.92
#94 by also
есть в планах реализация подключения своих обработок к панели инструментов?
#95 by also
+ еще есть предложение: сделать в консоли запросов такие же хоткеи, как в снегопате. Ну типо alt+7 вставляет & и тд
#96 by TormozIT
Зачем? Ведь есть раскладка от Чистова с теми же возможностями. Она является более универсальным решением.
#97 by TormozIT
К панели инструментов буквально подключать свои обработки невозможно, т.к. она не поддается программному изменению. Возможно ты имел ввиду что то другое?
#98 by Feunoir
В консоли системы компоновки данных, которая от 1С, есть очень интересная функция - просмотра XML для промежуточных стадий выполнения компоновки. Нет планов сделать нечто подобное?
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С