Имя: Пароль:
1C
1С v8
Инструменты разработчика. Консоль запросов. Поддержка 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
вторая ссылка такая:

http://screencast.com/t/922Scsz0Leq
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
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.