You can read more about the tools, as well as Tabax, on the following pages on Axaptapedia:
DEV_SysTableBrowser home page on Axaptapedia
DEV_CreateNewProject home page on Axaptapedia
You can download the new versions of these tools through the pages on Axaptapedia, or directly from my SkyDrive: DEV_SysTableBrowser, DEV_CreateNewProject
If you are unfamiliar with these tools, I suggest you go through Axaptapedia, as it also contains a detailed description of the features provided.
A couple of things I would like to note:
- There is a kernel bug in AX 2009 that heavily impacts the SysTableBrowser user experience. It takes around 10 seconds each time you want to browse the contents of a specific table. This bug was fixed with a hotfix rollup 3, so users of AX 2009 without the hotfix might have problems enjoying the DEV_SysTableBrowser tool.
- In AX 2009 the behavior of SysTableBrowser changed a bit. Instead of re-opening the browser window each time the user changes from All fields to AutoGroup only, now 2 grids with these fields are added from the beginning, and hidden/shown based on user selection. DEV_SysTableBrowser provides much more flexibility when selecting the fields to display, so I was not able to follow the same approach. Thus, see bullet 1
- I have not added any new AOT nodes to the template in DEV_CreateNewProject tool (Data sets, Report Libraries, etc). I don't think AX developers will invest that much time into SSRS reports and EP, and in these cases they will be able to manually create the remaining group nodes in the project.
Let me know if you have comments, suggestions or ideas for these tools.
Thanks
Hotfix rollup 3 contained a hotfix that handled the slow table browser. Perhaps this is not the same problem that you are describing?
ReplyDeleteThe changes were made in the SysTableBrowser class in the run method.
I added a few lines from this rollup and now it is fast.
New declaration:
SysDictClass sysDictClass;
New line:
dictTable = new DictTable(tableId); (Added below this existing line):
sysDictClass = new SysDictClass(classnum(FormGridControl));
And the last lines now look like this:
if(sysDictClass.hasObjectMethod("autoSizeColumns"))
sysDictClass.callObject("autoSizeColumns", formGridControl, false);
formRun.detach();
/Jonas
Hello Vanya,
ReplyDeletegreat tool thank you very much!
I miss a fix from KR3:
\Classes\SysTableBrowser\run
if(sysDictClass.hasObjectMethod("autoSizeColumns"))
sysDictClass.callObject("autoSizeColumns", formGridControl, false);
Without it's very slow.
Is it a problem to integrate in your code ?
I tested with and everything seems ok.
Best regards
Michael Niemyer
Thanks for the quick comments, guys.
ReplyDeleteI have updated the xpo with the changes from Hotfix Rollup 3.
Would you please try it out and let me know if it works that way? (I don't have this patch)
Yes, performance looks good now.
ReplyDeleteGreat, thanks for the confirmation, Michael!
ReplyDeleteHi Vanya, great work on the table browser!
ReplyDeleteYou might want to take a look on adding hidden fields to the form as well:
http://daxrunbase.blogspot.com/2010/04/non-visible-fields-in-table-browser.html
Thanks for the info.
ReplyDeleteThat's an interesting idea, although I do have a number of concerns about the performance of it.
Anyway, this might be rather useful for AX 6.0.
I will take a look at it then.