Skip to main content

Common Form Methods in MSD Axapta

Common Form Methods in Axapta

Only few of the form methods are needed in daily use. Having a basic knowledge of the execution order of these methods will help you a lot when starting making your modifications. The following methods are executed in the listed order when a form is opened and closed:
init() ► ds init() ► run() ► ds executeQuery() ► canClose() ► close()
1. FormRun.init() is the first method called. The super() call in FormRun.init() will call FormDataSource.init() for each data source used in the form query.
2. The super() call in FormRun.run() will call FormDataSource.executeQuery() for every data sources.
3. When closing the form FormRun.canClose() will validate whether the form may be closed, and if true FormRun.close() is called.
These are the most important methods executed when a form is opened and closed. Other methods are executed in the opening and closing sequences such as loading application user settings. However normally you will only need to override the listed methods.
For each data source in your form query, the following sequence will be triggered by executeQuery() when the form is opened:
ds executeQuery() ► refresh() ► active()
1. The data source method executeQuery() will fetch all records for the current data source and afterwards call refresh().
2. Refresh() is updating records fetched, and is normally not overridden. If you are inserting, updating of deleting records shown in a form from X++, refresh() can be called to have the changed data shown.
3. When opening the form, active() is executed for the current record. You can use active() for setting access restrictions for controls. Active() is called each time a record is selected.

Popular posts from this blog

strScan and Find a first occurrence of a string in a string using x++

strScan (Find a first occurrence of a string in a string) info("int strScan(str _text1,str _text2,int _position,int _number)"); info("Searches a text string for the occurrence of another string."); info("_text1 - The text string to search."); info("_text2 - The string to find."); info("_position - The position at which the search should start."); info("_number - The number of characters that should be searched."); info(int2str(strScan("ABCDEFGHIJ","DE",1,10)));

Code to get customer Primary Address in Ax 2012

Below Code to get customer Primary Address in Ax 2012. CustTable custTable_P; DirPartyTable dirPartyTable_P; DirPartyLocation dirPartyLocation_P; DirPartyLocationRole dirPartyLocationRole_P; LogisticsLocation logisticsLocation_P; LogisticsLocationRole logisticsLocationRole_P; LogisticsPostalAddress logisticsPostalAddress_P; LogisticsPostalAddress primaryAddress_P; while select custTable_P where custTable_P.AccountNum =='ED_01029' join dirPartyTable_P where dirPartyTable_P.RecId == custTable_P.Party join dirPartyLocation_P where dirPartyLocation_P.Party == custTable_P.Party && dirPartyLocation_P.IsPrimary==NoYes::Yes join dirPartyLocationRole_P where dirPartyLocationRole_P.PartyLocation == dirPartyLocation_P.RecId join logisticsLocationRole_P where logisticsLocationRole_P.RecId == dirPartyLocationRole

Get record from table on the basis of field id in Microsoft dynamics axapta x++

How to Get record from table on the basis of field id in dynamics axapta x++. just try following code in job to understand better way. emplTable emplTable; FieldId fieldId; ; fieldId = fieldNum(emplTable, Emplid); select emplTable; info(emplTable.(fieldId)); select emplTable where emplTable.(fieldId) == '1101'; info(emplTable.Name);