AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.05.2003, 15:16   #1  
LTA is offline
LTA
Участник
 
94 / 10 (1) +
Регистрация: 27.01.2003
ADO + SQL + Trace
Пытаюсь создать свой построитель отчетов в Excel

для построения отчетов в Excel использую COM компоненты, данные компоненты принимают ADO recordsetы и выводят данные в шаблон Excel

1. Можно ли как нибуль получить ADO рекордсет

2. Я использую для выборки Query из AOT, как можно получить SQL запрос сформированный в Query, X++ запрос получить можно из query.Datasource(1).toString()

3. Если нельзя получить SQL то можно ли использовать трассировку и через них получить SQL запрос
trace = xSession::getSysTraceActive();
xSession::setSysTraceActive(True);
select firstonly * from cust;
xSession::setSysTraceActive(trace);
как получить информацию о SQL команде ?
Старый 26.05.2003, 16:53   #2  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Мутантик какой-то получается. Если с трассировкой - то два идентичных запроса подряд. Некрасиво. С другой стороны, можно создать запрос nofetch. Тогда запрос при активизированной трассировке можно считывать из таблицы SysTraceTableSQL. Из файла на диске вдвойне некрасиво.
Из Query запрос, очевидно, не извлекается.
Вы, скорее всего, знаете два других варианта:
  • работать строго через QueryRun. Но тогда придется обойтись без компонентов.
  • а как насчет этого: считать через QueryRun нужные поля, сделать буфер типа таблицы в памяти и передать его компоненту?
Старый 26.05.2003, 17:20   #3  
LTA is offline
LTA
Участник
 
94 / 10 (1) +
Регистрация: 27.01.2003
Без компонентов трудно так как в них заложен функционал достаточный, и они упрощают создавать отчеты в Ексел. С буфером компоненты не работают.
На счет двух идентичных запросов, я хотел запустить Query без Range сохранить SQL запрос в таблицу потом при запуске отчета считать ее.. и добавить к SQL дополнительные условия Range от запроса

я покапался чуть - чуть, заполнение таблицы SysTraceTableSQL происходит через метод sysTrace объекта Application который вызывается из ядра системы. А что необходимо установить что б он вызывался ?
Старый 26.05.2003, 17:23   #4  
LTA is offline
LTA
Участник
 
94 / 10 (1) +
Регистрация: 27.01.2003
На счет мутантика абсалютно согласен :
Старый 26.05.2003, 17:54   #5  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
А вы изучите форму SysUserSetup. Там активно работают с полем userInfo.traceInfo, состоящим из серии битовых флагов, а потом, похоже, вызывают магический метод SysUserInfo::resetTraceSetup().
Старый 26.05.2003, 18:07   #6  
LTA is offline
LTA
Участник
 
94 / 10 (1) +
Регистрация: 27.01.2003
Я смотрел эти методы но там ничего магического нет кроме как устанавливают внутр. переменную traceExecutionPlanInitialized класса ClassFactory, эта переменная внутр. и нигде не используется
Старый 26.05.2003, 18:16   #7  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Но ведь она - трассировка - из этой формы оперативно включается! Значит, рыть надо там. Может быть, все начинается в момент сохранения записи UserInfo.
Старый 26.05.2003, 18:54   #8  
LTA is offline
LTA
Участник
 
94 / 10 (1) +
Регистрация: 27.01.2003
методом комментирования найдена

infolog.getUserSetup().setUserSetup(userinfo);

спасибо, дальше надеюсь лучше пойдет..
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Поговорим об ADO Gustav DAX: База знаний и проекты 63 11.05.2016 14:25
Кто нибудь поборол Enhanced SQL Trace Tool для AX 3.0 polygris DAX: Программирование 0 18.06.2008 13:09
Dynamics AX: Dynamics AX 2009 & SQL Server 2008 Blog bot DAX Blogs 0 10.06.2008 21:08
Dynamics AX: SQL Server, Heart of Dynamics AX Blog bot DAX Blogs 0 13.07.2007 18:00
aEremenko: Диагностика проблем при установке Microsoft Dynamics Ax 4.0 на Microsoft SQL Server 2005 Blog bot DAX Blogs 0 28.10.2006 16:01
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 23:30.