Имя: Пароль:
1C
 
Идентификатор в текст запрос (связка запрос SQL - запрос 1С)
0 break
 
03.10.14
10:11
как бы грамотно добавить какой-нибудь иденитификатор в текст чтоб потом после чтения профайлера, статистики итд найти его в конфигурации
1 Banned
 
03.10.14
10:12
никак
2 ChiginAV
 
03.10.14
10:13
(0) ПолучитьСтруктуруХраненияБазыДанных(<ОбъектыМетаданных>, <ИменаБазыДанных>)
и сопоставляй потом
3 Maxus43
 
03.10.14
10:13
ПолучитьСтруктуруХраненияБазыДанных  не вариант?
4 break
 
03.10.14
10:19
(3) это позволяет найти объект метаданных, но вот этот объект метаданных может использоваться во многих местах конфигурации и сидеть анализировать запрос по параметрам тот или не тот както долго и не точно / идентификатор можно засунуть в поле выборки, но думал может както хитро в условие и чтоб это условие не выполнялось
5 Fragster
 
гуру
03.10.14
10:20
юзай инструменты разработчика, там есть настройка техножурнала, можно сразу посмотреть планы запросов. также есть "трасса" для отметки начала и окончания трассировки
6 Fragster
 
гуру
03.10.14
10:20
(5)+ в терминах метаданных базы данных причем.
7 Fragster
 
гуру
03.10.14
10:21
но на самом деле лично мне в профайлер приходится лезть только когда встроенный замер уже не помогает
8 Fragster
 
гуру
03.10.14
10:21
встроенный в конфигуратор
9 break
 
03.10.14
10:25
например
SELECT
T1._IDRRef
FROM _Document153 T1 WITH(REPEATABLEREAD)
WHERE (T1._Fld3133_TYPE = P1 AND T1._Fld3133_RTRef = @P2 AND T1._Fld3133_RRRef = @P3) AND (T1._Fld3132RRef = @P4) AND (T1._Date_Time >= @P5) AND (T1._Marked = @P6)

соответствует
        "ВЫБРАТЬ
        |    ЗП.Ссылка КАК Задание
        |ИЗ
        |    Документ.ЗаданиеПерсональное КАК ЗП
        |ГДЕ
        |    ЗП.ОбъектИсточник = &ОбъектИсточник
        |    И ЗП.Работа = &Работа
        |    И ЗП.Дата >= &ДатаДок
        |    И (НЕ ЗП.ПометкаУдаления)";

если добавить идентификатор "244f55e2" наверно будет так

SELECT
T1._IDRRef,
"244f55e2"
FROM _Document153 T1 WITH(REPEATABLEREAD)
WHERE (T1._Fld3133_TYPE = P1 AND T1._Fld3133_RTRef = @P2 AND T1._Fld3133_RRRef = @P3) AND (T1._Fld3132RRef = @P4) AND (T1._Date_Time >= @P5) AND (T1._Marked = @P6)

Запрос=новый Запрос;
Запрос.Текст="
|   ВЫБРАТЬ
|    Пользователи.Ссылка ,
|    ""244f55e2""
|ИЗ
|    Справочник.Пользователи КАК Пользователи
|ГДЕ
|    Пользователи.Ссылка = &Ссылка
|
|";

глобальным поиском по "244f55e2" нашли бы наш запрос
10 ObjectRelation Model
 
03.10.14
10:27
идиотия какая-то
тогда легче тексты запросов хранить в БД или внешних файлах
11 Fragster
 
гуру
03.10.14
10:29
(10) профайлер нужен, когда нужно понять, какая часть сложного запроса тормозит. но вообще такая необходимость возникает редко, как правило и так понятно после некоторой практики
12 ObjectRelation Model
 
03.10.14
10:33
(11) тему понял
13 Sorm
 
03.10.14
10:33
(0) Ну можно таки на тестовой базе прогнать запрос:), но можно и так.
14 break
 
03.10.14
10:34
(5) привык пользоваться программами от SQL solutions (кстати пользуется кто нибудь еще? http://www.sqlsolutions.com/), у которой есть детектор дедлоков c блокирующими запросами, хотелось сопоставить запрос sql - 1C
15 Fragster
 
гуру
03.10.14
10:40
(14) детектор дедлоков есть в 1с в техножурнале