|
парсер запросов | ☑ | ||
---|---|---|---|---|
0
Kurbash
14.02.14
✎
08:06
|
собственно говоря сабж. Никто не знает есть ли такая тулза, чтобы отслеживать хотя бы текст запроса который вызывается 1с?
|
|||
1
Defender aka LINN
14.02.14
✎
08:07
|
Откуда вызывается?
|
|||
2
Wobland
14.02.14
✎
08:09
|
есть
|
|||
3
ДенисЧ
14.02.14
✎
08:11
|
техжурнал называется....
|
|||
4
Kurbash
14.02.14
✎
08:11
|
(1)в режиме предприятия например делаю любое действие, неважно, заполнить ТЧ или еще что то чтобы был виден текст запроса
(2)сажи пожалуйста где взять |
|||
5
Kurbash
14.02.14
✎
08:12
|
техжурнал? он где находится?
|
|||
6
Wobland
14.02.14
✎
08:12
|
(4) я беру тут: C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\PROFILER.EXE
|
|||
7
Kurbash
14.02.14
✎
08:14
|
это работает только со скулем? а файловый вариант?
|
|||
8
Kurbash
14.02.14
✎
08:16
|
у меня просто этой тулзы нет, есть скульный тресер для ораклы но он не катит
|
|||
9
ДенисЧ
14.02.14
✎
08:18
|
||||
10
Wobland
14.02.14
✎
08:19
|
а теперь скажи, что ты с этаким делать собрался после таких вопросов
FROM ( SELECT _Document234_VT3386_Q_001_T_001._Fld3388RRef AS _Q_001_F_000RRef, MAX(CASE WHEN _Document234_VT3386_Q_001_T_001._Fld3389_TYPE = 0x08 AND _Document234_VT3386_Q_001_T_001._Fld3389_RTRef = 0x00000066 AND (_Document234_VT3386_Q_001_T_001._Fld3389_TYPE <> 0x08 OR _Document234_VT3386_Q_001_T_001._Fld3389_RTRef <> 0x00000066 OR _Document234_VT3386_Q_001_T_001._Fld3389_RRRef <> 0x00000000000000000000000000000000) THEN CAST(1 AS NUMERIC(1,0)) ELSE CAST(0. AS NUMERIC(1,0)) END) AS _Q_001_F_001, CASE WHEN _Document234_VT3386_Q_001_T_001._Fld3389_TYPE = 0x01 AND _Document234_VT3386_Q_001_T_001._Fld3389_RTRef = 0x00000000 AND _Document234_VT3386_Q_001_T_001._Fld3389_RRRef = 0x00000000000000000000000000000000 OR _Document234_VT3386_Q_001_T_001._Fld3389_TYPE = 0x08 AND _Document234_VT3386_Q_001_T_001._Fld3389_RTRef = 0x00000066 AND _Document234_VT3386_Q_001_T_001._Fld3389_RRRef = 0x00000000000000000000000000000000 THEN 0x08 ELSE CASE WHEN _Document234_VT3386_Q_001_T_001._Fld3389_TYPE = 0x01 OR _Document234_VT3386_Q_001_T_001._Fld3389_TYPE = 0x08 AND _Document234_VT3386_Q_001_T_001._Fld3389_RTRef IS NOT NULL AND _Document234_VT3386_Q_001_T_001._Fld3389_RRRef IS NOT NULL THEN _Document234_VT3386_Q_001_T_001._Fld3389_TYPE ELSE NULL END END AS _Q_001_F_002_TYPE, |
|||
11
Wobland
14.02.14
✎
08:21
|
кстати, коллеги! не знаете, что это за пердимонокль?
CASE ... THEN CAST(CAST(0. AS NUMERIC(1,0)) AS NUMERIC(35,3)) |
|||
12
Kurbash
14.02.14
✎
08:23
|
(10)- может я не так вопрос задал-такой результат и я получить смогу, мне интересно знать запрос на языке именно 1С, чтобы его текст можно было в консоль запросов вставить
|
|||
13
ASU_Diamond
14.02.14
✎
08:25
|
(12) отладчик не то?
|
|||
14
Defender aka LINN
14.02.14
✎
08:27
|
(12) Ну, это надо себя как-то заставить...
|
|||
15
Kurbash
14.02.14
✎
08:27
|
(13) долго
|
|||
16
Defender aka LINN
14.02.14
✎
08:27
|
(15) Ну... Иди в гонщики тогда, там быстро.
|
|||
17
Wobland
14.02.14
✎
08:33
|
подлежит допиливанию
Процедура ДействияФормыПеревести(Кнопка) Попытка RegExp=Новый COMОбъект("VBScript.RegExp"); Исключение Сообщить(ОписаниеОшибки()); Возврат; КонецПопытки; RegExp.IgnoreCase=True; RegExp.Global=True; RegExp.Multiline=True; RegExp.Pattern="_\S*"; RegExp.Pattern="\w\d\d\d\w\w rus"; Message(RegExp.Test("z123zЯ rus")); Return; ТекстЗапроса=ЭлементыФормы.ИсходныйТекстЗапроса.ПолучитьТекст(); Matches=RegExp.Execute(ТекстЗапроса); For i=0 To Matches.Count()-1 do Match=Matches.Item(i); поз=Найти(Match.Value, "."); ИмяТаблицы=?(поз>0, Лев(Match.Value, поз-1), Match.Value); стрТаблица=ТЗ.Найти(ИмяТаблицы, "ИмяТаблицыХранения"); Если стрТаблица<>Неопределено Тогда ТекстЗапроса=СтрЗаменить(ТекстЗапроса, ИмяТаблицы, стрТаблица.ИмяТаблицы); Если поз>0 Тогда ИмяПоля=Сред(Match.Value, поз+1); стрПоле=стрТаблица.Поля.Найти(ИмяПоля, "ИмяПоляХранения"); Если стрПоле<>Неопределено Тогда ТекстЗапроса=СтрЗаменить(ТекстЗапроса, ИмяПоля, стрПоле.ИмяПоля); КонецЕсли; КонецЕсли; КонецЕсли; EndDo; ЭлементыФормы.ТекстЗапроса.УстановитьТекст(ТекстЗапроса); КонецПроцедуры Процедура ПриОткрытии() ТЗ=ПолучитьСтруктуруХраненияБазыДанных(, Истина); КонецПроцедуры |
|||
18
Kurbash
14.02.14
✎
08:36
|
ЭлементыФормы.ТекстЗапроса-текстовое поле я так понял?
|
|||
19
Wobland
14.02.14
✎
08:38
|
(18) ууг
|
|||
20
Kurbash
14.02.14
✎
08:40
|
спс, буду пилить
|
|||
21
Wobland
14.02.14
✎
08:43
|
расскажи потом, как ты будешь читать sqlный запрос, в котором имена таблиц и полей переведены на русский
|
|||
22
ASU_Diamond
14.02.14
✎
08:48
|
(21) а ты не читал (12)?
ему не SQL нужен |
|||
23
Wobland
14.02.14
✎
08:49
|
(22) читал, не понял. а ты читал (20)? №)
|
|||
24
ASU_Diamond
14.02.14
✎
08:52
|
(23) ага, пятнично тут
|
|||
25
TormozIT
гуру
14.02.14
✎
08:56
|
Запрос 1С ничем пока не перехватывается штатно. Есть только одна дорогая коммерческая разработка PerfExpert, которая перехватывает работу виртуальной машины и ловит их.
В продукте "Инструменты разработчика" из анализа техножурнала можно SDBL запрос восстанавливать в запрос 1С. Как это выглядит можно посмотреть в конце этого ролика http://www.youtube.com/watch?v=0YrEHuMmd3g. Таким образом можно ловить SDBL запросы и большинство из них, если они типа SELECT, то можно восстановить в обычный запрос, но с потерей исходных псевдонимов конечно. |
|||
26
Wobland
14.02.14
✎
08:58
|
(25) ТормозИТ, ты лучший!
|
|||
27
Wobland
14.02.14
✎
08:58
|
так не хватало этой штуки недавно. так страдал, так страдал ;)
|
|||
28
TormozIT
гуру
14.02.14
✎
09:00
|
Также отмечу, что производитель платформы в курсе на счет наших желаний ловить в техножурнале тексты и параметры запросов 1С, но планов по реализации этой фичи естественно не озвучивал.
|
|||
29
mistеr
14.02.14
✎
09:42
|
(28) Если хотят в облаках всерьез развернуться - придется реализовать. Иначе как облачному админу находить, кто "все мясо съел"?
|
|||
30
Ferz
14.02.14
✎
09:50
|
(28)1C запрос преобразовывается в SDBL на клиенте, не представляю как они это собираются сделать.
(27)преобразование в SDBL -> 1C впервые было реализовано аж в начале 2009 года |
|||
31
Ferz
14.02.14
✎
09:52
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |