Thứ Ba, 12 tháng 12, 2017

Pass Selected Record To New Form Dynamic AX

Pass Selected Record To New Form Dynamic AX

Trainee: Song Thanh Nghia
Step1. Create a form with datasource as CustTable and design a form, then we have a grid with the same datasource. And add button to override click and function in this to pass argrument.

Step2. Code in Override click

void Clicked()
Args    _args;
FormRun _formRun;
AccountNum      _accountNum;
_accountNum = CustTable.AccountNum;  // Selected data to pass in args
_args = new Args(); // creating a object for args class;  // Name of display form
_args.caller(this);  //Caller form
_args.parm(_accountNum); // Parm record to new form 
_args.record(CustTable); // Table name is passed
_formRun = ClassFactory.formRunClass(_args); //new FormRun(_args);   // Creating object for FormRun
_formRun.init();   // Form Initialization for Load;  // Form Run for process
_formRun.wait(); // Form Wait for Display

Step3. Create another form same old form

Step4. In new form overide init form 

public void init()
parmid      _parmId;
CustTable   _CustTable;
_parmId =  element.args().parm();
        info('DataSet Not Received'); 

Step5. Overide Init datasource

public void init()
    Query               query;
    QueryBuildRange     queryBuildRangeProj;
switch(element.args().dataset())// get the table id sent by caller
case tablenum(CustTable):  // check the table if matches with this tableid
_AccountNum  =   element.args().parm();  // get the argument value
query  = new Query();
queryBuildRangeProj = query.addDataSource(tablenum(CustTable)).addRange(fieldnum(CustTable,AccountNum));          // query build for the form to display
queryBuildRangeProj.value(_accountNum); // Criteria for the form
CustTable_ds.query(query); // execution of the query
super(); //datasource  initialization on the form based on the criteria

Step6. In the class declaration of the form

public class FormRun extends ObjectRun
          SysLookupMultiSelectCtrl msCtrl;
          AccountNum   _accountNum   ;

And then is result

Learn online