mandag den 29. februar 2016

Export Elements Tools V1.06

This Class is made to Export all or most recent changes to element in Dynamics AX.

The Class runs through UtilElements and selects records based on Current User, modifiedDateTime and createdDateTime and then exports the changed elements to a folder.

The file name of the exported elements are based on Element type, Element name, version and export version. (Version is taken from UtilElements, and export version is an internal variable that is incremented with each export.)

When running the class you are prompted for Directory (Where to put the exported file) and Processing Date (Used to query against modifiedDateTime and createdDateTime)

The Class saves some data in SysLastValue

----------- SETUP -----------
In classDeclaration there is a macro #AXVER that has to be set to the right version of AX, to make the class work.

---------- DOWNLOAD ----------
You can download the latest version of the Class here, works on AX4, AX2009 and AX2012
Download Link

---------- CHANGELOG ----------
1.00    2015-01-01 : First version.
1.01    2016-02-17 : Added method to export Projects
1.02    2016-02-17 : Implemented export of projects.
                             Always run in DAT Company.
1.03    2016-02-18 : Default value for export path. (Needs more thought)
                              Some minor changes in Search for new elements.
                              Reorder methods.
1.04    2016-02-18 : Added doc method for documentation. (This)
1.05    2016-02-22 : Rewrite how changed elements are found.
                              In method findNewOrChangedElements, UtilElement is searched for new
                              or changed elements, and they are then created as lines in table tmpUtil.
                              This was done to move the search to a method.
1.06    2016-02-22 : Changed the code so it can run on most versions of AX (4,5 and 6)

---------- IDEAS / ERRORS ----------
Prompt for witch user to export for, with blank = all, and default = current user.

Default value for export path, needs rethinking.

Save values from SysLastValue into a file, so they can be reused.

Look into making a form that shows what records to export.

When export is done, move files to another location, (Network drive or perhaps ftp server)
Possible also with an option to compress files before sending them.