Помогите транслировать/найти запрос t-sql в 1с #663765


#0 by zharkin
Помогите найти место в конфигурации 1с, откуда может вызываться подобный запрос! Вот текст запроса в t-sql exec sp_executesql N'SELECT ISNULL(CAST(T2._Q_000_F_001 AS NUMERIC(27, 2)),), T2._Q_000_F_000RRef, T1._Q_001_F_000_TYPE, T1._Q_001_F_000_RTRef, T1._Q_001_F_000_RRRef FROM #tt3 T1 WITH(NOLOCK) LEFT OUTER JOIN #tt2 T2 WITH(NOLOCK) LEFT OUTER JOIN _Document125 T3 WITH(NOLOCK) ON T2._Q_000_F_002_TYPE = @P2 AND T2._Q_000_F_002_RTRef = @P3 AND T2._Q_000_F_002_RRRef = T3._IDRRef LEFT OUTER JOIN _Document87 T4 WITH(NOLOCK) ON T2._Q_000_F_002_TYPE = @P2 AND T2._Q_000_F_002_RTRef = @P4 AND T2._Q_000_F_002_RRRef = T4._IDRRef LEFT OUTER JOIN _Document116 T5 WITH(NOLOCK) ON T2._Q_000_F_002_TYPE = @P2 AND T2._Q_000_F_002_RTRef = @P5 AND T2._Q_000_F_002_RRRef = T5._IDRRef LEFT OUTER JOIN _Document131 T6 WITH(NOLOCK) ON T2._Q_000_F_002_TYPE = @P2 AND T2._Q_000_F_002_RTRef = @P6 AND T2._Q_000_F_002_RRRef = T6._IDRRef LEFT OUTER JOIN _Document117 T7 WITH(NOLOCK) ON T2._Q_000_F_002_TYPE = @P2 AND T2._Q_000_F_002_RTRef = @P7 AND T2._Q_000_F_002_RRRef = T7._IDRRef LEFT OUTER JOIN _Document61 T8 WITH(NOLOCK) ON T2._Q_000_F_002_TYPE = @P2 AND T2._Q_000_F_002_RTRef = @P8 AND T2._Q_000_F_002_RRRef = T8._IDRRef LEFT OUTER JOIN _Document86 T9 WITH(NOLOCK) ON T2._Q_000_F_002_TYPE = @P2 AND T2._Q_000_F_002_RTRef = @P9 AND T2._Q_000_F_002_RRRef = T9._IDRRef LEFT OUTER JOIN _Document120 T10 WITH(NOLOCK) ON T2._Q_000_F_002_TYPE = @P2 AND T2._Q_000_F_002_RTRef = 0 AND T2._Q_000_F_002_RRRef = T10._IDRRef LEFT OUTER JOIN _Document115 T11 WITH(NOLOCK) ON T2._Q_000_F_002_TYPE = @P2 AND T2._Q_000_F_002_RTRef = 1 AND T2._Q_000_F_002_RRRef = T11._IDRRef LEFT OUTER JOIN _Document62 T12 WITH(NOLOCK) ON T2._Q_000_F_002_TYPE = @P2 AND T2._Q_000_F_002_RTRef = 2 AND T2._Q_000_F_002_RRRef = T12._IDRRef LEFT OUTER JOIN _Document118 T13 WITH(NOLOCK) ON T2._Q_000_F_002_TYPE = @P2 AND T2._Q_000_F_002_RTRef = 3 AND T2._Q_000_F_002_RRRef = T13._IDRRef LEFT OUTER JOIN _Document119 T14 WITH(NOLOCK) ON T2._Q_000_F_002_TYPE = @P2 AND T2._Q_000_F_002_RTRef = 4 AND T2._Q_000_F_002_RRRef = T14._IDRRef ON ((T2._Q_000_F_002_TYPE = T1._Q_001_F_000_TYPE AND T2._Q_000_F_002_RTRef = T1._Q_001_F_000_RTRef AND T2._Q_000_F_002_RRRef = T1._Q_001_F_000_RRRef) OR (CASE WHEN T2._Q_000_F_002_TYPE = 0x08 AND T2._Q_000_F_002_RTRef = 0x0000007D THEN T3._Fld2891_TYPE WHEN T2._Q_000_F_002_TYPE = 0x08 AND T2._Q_000_F_002_RTRef = 0x00000057 THEN T4._Fld1639_TYPE WHEN T2._Q_000_F_002_TYPE = 0x08 AND T2._Q_000_F_002_RTRef = 0x00000074 THEN T5._Fld2429_TYPE WHEN T2._Q_000_F_002_TYPE = 0x08 AND T2._Q_000_F_002_RTRef = 0x00000083 THEN T6._Fld3052_TYPE WHEN T2._Q_000_F_002_TYPE = 0x08 AND T2._Q_000_F_002_RTRef = 0x00000075 THEN T7._Fld2483_TYPE WHEN T2._Q_000_F_002_TYPE = 0x08 AND T2._Q_000_F_002_RTRef = 0x0000003D THEN T8._Fld775_TYPE WHEN T2._Q_000_F_002_TYPE = 0x08 AND T2._Q_000_F_002_RTRef = 0x00000056 THEN T9._Fld1586_TYPE WHEN T2._Q_000_F_002_TYPE = 0x08 AND T2._Q_000_F_002_RTRef = 0x00000078 THEN T10._Fld2633_TYPE WHEN T2._Q_000_F_002_TYPE = 0x08 AND T2._Q_000_F_002_RTRef = 0x00000073 THEN T11._Fld2379_TYPE WHEN T2._Q_000_F_002_TYPE = 0x08 AND T2._Q_000_F_002_RTRef = 0x0000003E THEN T12._Fld832_TYPE WHEN T2._Q_000_F_002_TYPE = 0x08 AND T2._Q_000_F_002_RTRef = 0x00000076 THEN T13._Fld2539_TYPE WHEN T2._Q_000_F_002_TYPE = 0x08 AND T2._Q_000_F_002_RTRef = 0x00000077 THEN T14._Fld2589_TYPE ELSE CAST(NULL AS BINARY) END = T1._Q_001_F_000_TYPE AND CASE WHEN T2._Q_000_F_002_TYPE = 0x08 AND T2._Q_000_F_002_RTRef = 0x0000007D THEN T3._Fld2891_RTRef WHEN T2._Q_000_F_002_TYPE = 0x08 AND T2._Q_000_F_002_RTRef = 0x00000057 THEN T4._Fld1639_RTRef WHEN T2._Q_000_F_002_TYPE = 0x08 AND T2._Q_000_F_002_RTRef = 0x00000074 THEN T5._Fld2429_RTRef WHEN T2._Q_000_F_002_TYPE = 0x08 AND T2._Q_000_F_002_RTRef = 0x00000083 THEN T6._Fld3052_RTRef WHEN T2._Q_000_F_002_TYPE = 0x08 AND T2._Q_000_F_002_RTRef = 0x00000075 THEN T7._Fld2483_RTRef WHEN T2._Q_000_F_002_TYPE = 0x08 AND T2._Q_000_F_002_RTRef = 0x0000003D THEN T8._Fld775_RTRef WHEN T2._Q_000_F_002_TYPE = 0x08 AND T2._Q_000_F_002_RTRef = 0x00000056 THEN T9._Fld1586_RTRef WHEN T2._Q_000_F_002_TYPE = 0x08 AND T2._Q_000_F_002_RTRef = 0x00000078 THEN T10._Fld2633_RTRef WHEN T2._Q_000_F_002_TYPE = 0x08 AND T2._Q_000_F_002_RTRef = 0x00000073 THEN T11._Fld2379_RTRef WHEN T2._Q_000_F_002_TYPE = 0x08 AND T2._Q_000_F_002_RTRef = 0x0000003E THEN T12._Fld832_RTRef WHEN T2._Q_000_F_002_TYPE = 0x08 AND T2._Q_000_F_002_RTRef = 0x00000076 THEN T13._Fld2539_RTRef WHEN T2._Q_000_F_002_TYPE = 0x08 AND T2._Q_000_F_002_RTRef = 0x00000077 THEN T14._Fld2589_RTRef ELSE CAST(NULL AS BINARY) END = T1._Q_001_F_000_RTRef AND CASE WHEN T2._Q_000_F_002_TYPE = 0x08 AND T2._Q_000_F_002_RTRef = 0x0000007D THEN T3._Fld2891_RRRef WHEN T2._Q_000_F_002_TYPE = 0x08 AND T2._Q_000_F_002_RTRef = 0x00000057 THEN T4._Fld1639_RRRef WHEN T2._Q_000_F_002_TYPE = 0x08 AND T2._Q_000_F_002_RTRef = 0x00000074 THEN T5._Fld2429_RRRef WHEN T2._Q_000_F_002_TYPE = 0x08 AND T2._Q_000_F_002_RTRef = 0x00000083 THEN T6._Fld3052_RRRef WHEN T2._Q_000_F_002_TYPE = 0x08 AND T2._Q_000_F_002_RTRef = 0x00000075 THEN T7._Fld2483_RRRef WHEN T2._Q_000_F_002_TYPE = 0x08 AND T2._Q_000_F_002_RTRef = 0x0000003D THEN T8._Fld775_RRRef WHEN T2._Q_000_F_002_TYPE = 0x08 AND T2._Q_000_F_002_RTRef = 0x00000056 THEN T9._Fld1586_RRRef WHEN T2._Q_000_F_002_TYPE = 0x08 AND T2._Q_000_F_002_RTRef = 0x00000078 THEN T10._Fld2633_RRRef WHEN T2._Q_000_F_002_TYPE = 0x08 AND T2._Q_000_F_002_RTRef = 0x00000073 THEN T11._Fld2379_RRRef WHEN T2._Q_000_F_002_TYPE = 0x08 AND T2._Q_000_F_002_RTRef = 0x0000003E THEN T12._Fld832_RRRef WHEN T2._Q_000_F_002_TYPE = 0x08 AND T2._Q_000_F_002_RTRef = 0x00000076 THEN T13._Fld2539_RRRef WHEN T2._Q_000_F_002_TYPE = 0x08 AND T2._Q_000_F_002_RTRef = 0x00000077 THEN T14._Fld2589_RRRef ELSE CAST(NULL AS BINARY) END = T1._Q_001_F_000_RRRef)) WHERE (ISNULL(CAST(T2._Q_000_F_001 AS NUMERIC(27, 2)),) > )', N' numeric(1,0),@P2 varbinary,@P3 varbinary,@P4 varbinary,@P5 varbinary,@P6 varbinary,@P7 varbinary,@P8 varbinary,@P9 varbinary,0 varbinary,1 varbinary,2 varbinary,3 varbinary,4 varbinary', 0, 0x08, 0x0000007D, 0x00000057, 0x00000074, 0x00000083, 0x00000075, 0x0000003D, 0x00000056, 0x00000078, 0x00000073, 0x0000003E, 0x00000076, 0x00000077
#2 by бомболюк
по мне так это показ формы списка какого то журнала документов.
#3 by zharkin
не могу понять, откуда такой запрос вызывается. конфа УТ 10.2
#4 by zharkin
у меня тоже закралось подозрение, что это какой то список документов
#5 by piter3
сначала выяснить, что есть documentsxxx
#6 by shuhard
[не могу понять, откуда такой запрос вызывается] ну уж форум точно не может угадать что стоит за  Fld2891 в твоем экземпляре УТ 10.2
#7 by zharkin
все документы _Document я выяснил - это ПКО, РКО и все банковские доки. Не понятно вот это FROM #tt3 T1 WITH(NOLOCK)
#8 by SherifSP
ТС, тебе на битву экстрасенсов нужно, там тебе точно скажут откуда вызывается данный код)
#9 by mikecool
#tt3 это временная таблица ищи ПОМЕСТИТЬ
#10 by 1Сергей
= INTO
#11 by Sammo
1. Откуда взят запрос? 2. Зачем оно надо? Попробуй поискать - обращение к реквизиту составного типа, который имеет тип 125 и т.д.
#12 by zharkin
1. запрос взят из профайлера - этот запрос очень грузит процессор 2. найти и оптимизировать этот запрос или вообще от него отказаться
#13 by Sammo
Выбрать Ссылка, Ссылка из
#14 by Sammo
Включить технологический журнал и там смотреть долго выполняемые запросы 1с. После этого по времени и тесту свести со скулевым.
#15 by GANR
Принцип деления пополам понимаешь? Делишь участок кода, на котором выполняется это запрос на 2 и тот, на котором запроса нет, отбрасываешь - и так, пока интервал не сведется к одной строчке кода, где и выполняется этот самый запрос. Все понятно???
#16 by GANR
Вот пример , только в нем идет речь о точке пересечения функции с осью Х, а у нас - о строчке кода в 1С, где выполняется запрос.
#17 by GANR
Есть, конечно, неприятный момент - в коде могу быть циклы.
#18 by Speshuric
1. Это запрос в котором соединяется 2 временные таблицы по реквизиту от поля составного типа. В нём есть что-то вроде: ИЗ ВременнаяТаблица1 ЛЕВОЕ СОЕДИНЕНИЕ ВременнаяТаблица2 ПО ВременнаяТаблица1.Док.Основание = ВременнаяТаблица2.Док (может там и не основание, а какой-то другой рекивзит - это легко посмотреть, например по "_Fld2589_RRRef" ) 2. Составные типы - зло, а временными таблицами надо уметь пользоваться.
#19 by zharkin
составные типы к сожалению повсеместно используются в типовых конфигурациях.
#20 by zharkin
да, это реквизит ДокументОснование из документа ПлатежныйОрдерПоступлениеДенежныхСредств
#21 by Speshuric
Вот не надо лишнего на типовые наговаривать. Да, составные типы там используются, но условий соединения типа того что приведено выше там не встречается. Ну и искать по коду где есть "ПО " и через две точки "ДокументОснование". Можно глазами, можно выгрузить d MXL
#22 by Infsams654
а для чего это нужно искать? Не нравится этот запрос t-sql, нужно предъявить 1С, что из этого места должно выглядеть по-другому ?
#23 by Speshuric
Глупость сказал. Если ТЖ включить, то нафига сопоставлять? ТЖ и сам всё скажет.
#24 by Sammo
Полуглупость. Имхо, про включение ТЖ - прав.
#25 by vde69
это RLS ... "exec sp_executesql " - этим отличается рельса от прямого запроса
#26 by vde69
+ а таблица #tt3 - это результат прямого запроса на который накладывается уже сама рельса. ИХМО накладывание происходит внутри ХП из-за некоторых нюансов с правами.
#27 by zharkin
помогло включение ТЖ. сделал такой файл настройки logcfg.xml
#28 by zharkin
получил текст модуля, который создавал запрос.
#29 by vde69
и реально в модуле нашел этот запрос???
#30 by zharkin
да. только он на языке 1С очень сильно отличается от t-sql
#31 by zharkin
оказалось не rls....
#32 by Speshuric
Покажи хоть проблемное место в виде 1С-ного запроса.
#33 by Fragster
Где-то раньше есть определение Insert #tt3 Select..., вот в его сторону надо копать
#34 by TormozIT
Технологический журнал спасет.
#35 by ILM
Вопрос зачем уже задавали?
#36 by zharkin
вот кусок проблемного запроса, особенно условие "Расчеты.Сделка.ДокументОснование = СведенияДок.КПКДокумент"
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям