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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.12.2008, 19:05   #1  
Blog bot is offline
Blog bot
Участник
 
25,631 / 848 (80) +++++++
Регистрация: 28.10.2006
axStart: Please keep the AOT reports in Dynamics AX next release alive
Источник: http://axstart.spaces.live.com/Blog/...C0A0!440.entry
==============


With AX 2009 a whole bunch of new futures are introduced. But I want to focus especially on the next 2 features: Archiving of data & Visual Studio integration for Reports.
Archiving of data:
This has been developed with the following requirements (this list is shown on the convergence 2008):
·        Database Layout Intelligence
·        Business Usage Intelligence
·        Intelligent Alerting
·        Automatic Configurability of Business Objects
·        Master Data Synchronization Capability
·        Ability to Purge
·        Ability to Archive with Financial Year as starting point
·        Ability to Offline an Unused Company
·        Ability to restore data*
·        Extensive Scheduling Capabilities
·        Extensive Audit trails for Purge and Archive
 


Visual Studio integration for Reports
The previous picture also shows the future of this feature. In Phase 2, SSRS is introduced. Creating reports on SSRS is creating reports in Visual studio. So let’s consider the following scenario: Customer X phones his supplier about a invoice from 2 years ago. This supplier can respond in  4 ways:
A.     Please call back next week, by then we have restored the data and are able to get the same invoice on screen (AOT report).
B.     The supplier opens AX and is able to reproduce the invoice, (Visual Studio BI report)
C.     No problem we don’t archive (AOT report).
D.     Sorry support on sold items more than 1 year ago is not possible, good bye. (we are not able to restore the data)
Option B is the preferred solution from Microsoft so our AOT reports get obsolete. Ouch…. The Dynamics AX partner has to do all AX reporting in Visual Studio. In my opinion it is mission impossible to rebuild all AOT reports in Visual Studio, especially the Sales & Purchase and Project Invoice reports. Think about the nice features like:
·        Model Fieldname property for outlining columns that belong to different report sections, it’s gone.
·        There is no fetch method.
·        The .Net Connector does not support joins on Tables, neither is the new dataset for Visual Studio EP development supported. A work around could be using the Views for every Query or the with .net code shown on the end of this article.
·        The .Net connector act like a black box for the c# developer. There is no clever code generation for type save coding against the .net connector. I have not spoken about the cost of ownership and the reliability of this new future and I’m not saying that this approach is really helping my customers either. But I’m really worried about the new strategy of Microsoft.  The current Visual Studio Ax Reports also combine real time data (live) with archived data (OLAP). there is always latency between them. The aim of this article is not to blame MS, but to help them with feedback so that the next generation tools get better.
 
publicstaticstring DataMethodJoin()
{
 DataTable result = newDataTable();
 Boolean fistTime = true;
 //create Query
 AxaptaObjectWrapper query = SessionManager.GetSession().CreateAxaptaObject("Query");
 AxaptaObjectWrapper CustTableDs = (AxaptaObjectWrapper)query.Call("addDataSource", 77);//CustTable;
 AxaptaObjectWrapper CustTransDs = (AxaptaObjectWrapper)CustTableDs.Call("addDataSource", 78);//CustTrans;
 CustTransDs.Call("relations", true);
 
 //add ranges
 AxaptaObjectWrapper range = (AxaptaObjectWrapper) SessionManager.GetSession().CallStaticClassMethod("SysQuery", "findOrCreateRange", CustTableDs.AxaptaObject, 1);//1 = Field AccountNUm
 range.Call("value", "1101");
 
 //execute Query
 AxaptaObjectWrapper queryRun = SessionManager.GetSession().CreateAxaptaObject("QueryRun", query.AxaptaObject);
 while ((Boolean)queryRun.Call("next"))
 {
 AxaptaRecordWrapper CustTable = SessionManager.GetSession().CreateAxaptaRecord(queryRun.Call("get", 77));//CustTable;
 AxaptaRecordWrapper CustTrans = SessionManager.GetSession().CreateAxaptaRecord(queryRun.Call("get",78));//CustTrans;
 
 if(fistTime)
 {
    fistTime = false;
    result.Columns.Add(newDataColumn("AccountNum",Type.GetType("System.String")));
    result.Columns.Add(newDataColumn("Name", Type.GetType("System.String")));
    result.Columns.Add(newDataColumn("Voucher", Type.GetType("System.String")));
    result.Columns.Add(newDataColumn("AmountCur", Type.GetType("System.String")));
 }
 result.Rows.Add(
    CustTable.GetField("AccountNum").ToString(),
    CustTable.GetField("Name").ToString(),
    CustTrans.GetField("Voucher").ToString(),
    CustTrans.GetField("AmountCur").ToString());
 }
 return result;
}
 


Источник: http://axstart.spaces.live.com/Blog/...C0A0!440.entry
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.
Старый 12.12.2008, 21:15   #2  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Безотносительно темы сообщения, хочется заметить, что .NET BC поддерживает table joins.
Возможно оно не так удобно, как в АХ, но сделать это можно
Старый 13.12.2008, 12:18   #3  
axstart is offline
axstart
MVP
Most Valuable Professional
NavAx Club
 
16 / 10 (1) +
Регистрация: 04.05.2008
Адрес: Holland
hy Kashperuk,
You can use executequery on theax query class, but I was not able to get a join.
I have talked to MS about it, joins for OLAP cubes was possible not for the .net connector. They suggest a sql query to the AX DB, This is to my opinion no option, and only the AOS should connect to the DB.
__________________
MVP
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Dynamics AX: Managing Your Supply Chain Using Microsoft Dynamics AX 2009 - Book Review Blog bot DAX Blogs 0 31.03.2009 23:06
Dynamics AX: Microsoft's strategy and vision for Dynamics AX and SOA Blog bot DAX Blogs 0 05.03.2009 18:05
axStart: Microsoft Dynamics AX 2009 Hot Topics Web Seminar Series Blog bot DAX Blogs 0 06.08.2008 12:05
Dynamics AX: Dynamics AX 2009 Seems to be on target for release Blog bot DAX Blogs 0 28.05.2008 22:05
Inside Dynamics AX 4.0: Usage Scenarios Blog bot DAX Blogs 0 04.10.2007 05:15
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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