March 19, 2015

X++ code to send mail using outlook

static void sendEmailThroughOutlook(Args args)
{
 SmmOutlookEMail smmOutlookEMail = new SmmOutlookEMail();
 Object smmSendEmail;
 ;

 args = new Args();
 args.name(formstr(smmSendEmail));
 args.caller(smmOutlookEMail);
 smmSendEmail = classfactory.formRunClass(args);
 if (smmSendEmail)
 {
 smmSendEmail.init();
 smmSendEmail.setEmailTos("Test123@gmail.com");
 smmSendEmail.setEmailSubject("Test");
 smmSendEmail.run();
 smmSendEmail.refreshControl();
 smmSendEmail.wait();
}
info("done");
}

X++ code to get Mandatory fileds from a Table

static void MandatoryFieldOfAOTTable(Args _args)
{
SysDictTable       dTable;
SysDictField       dField;
Counter         counter;
;
dTable = new SysDictTable(tablenum(Ledger));
for(counter =1; counter<= dTable.fieldCnt();counter++)
{
dField = new SysDictField(dTable.id(),dTable.fieldCnt2Id(counter));
if(dField.mandatory())
info(dField.name());
}
}


X++ code to run SSRS report in AX 2012

public static void runSSRSReport()
{
    int i;
    SrsReportRunController controller;

    controller = new SrsReportRunController();
    controller.parmLoadFromSysLastValue(false);

    for(i=0;i<=3;i++)
    {

    controller.parmReportName("CustTransList.Report");

    controller.parmReportContract().parmPrintSettings().landscape(true);
         controller.parmReportContract().parmPrintSettings().printMediumType(SRSPrintMediumType::Screen);

    controller.parmExecutionMode(SysOperationExecutionMode::ReliableAsynchronous);

    controller.runReport();

    }
}

X++ code to get files from a Filepath in AX 2009

static void PathGetting(Args _args)
{
    FilePath sFilePath;

    System.IO.DirectoryInfo di;
    System.IO.FileInfo[] fis;
    System.IO.FileInfo fi;
    int i;
    int l;
    ;

    sFilePath="C:\\temp\\test\\";
    di = new System.IO.DirectoryInfo(sFilePath);
    fis = di.GetFiles();
    l = fis.get_Length();
    for (i = 0; i < l; i++)
    {
        fi = fis.GetValue(i);
        info(fi.get_FullName());
    }
}

X++ code to create a new form in AX 2012

static void comboBox(Args _args)
{
Dialog dialog = new Dialog();
DialogField dialogField;
FormBuildComboBoxControl    formComboBoxControl;
int i;
;
dialogField = dialog.addField(EnumStr(YearEnum));
formComboBoxControl=dialogField.control();

formComboBoxControl.enumType(0);

formComboBoxControl.label("Year");

formComboBoxControl.items(11);
for(i=0;i<=10;i++)
{
formComboBoxControl.item(i+1);
formComboBoxControl.text(int2str(year(systemDateGet())-i));
}
dialog.run();
}


X++ code to create ComboBox

static void comboBox(Args _args)
{
Dialog dialog = new Dialog();
DialogField dialogField;
FormBuildComboBoxControl    formComboBoxControl;
int i;
;
dialogField = dialog.addField(EnumStr(YearEnum));
formComboBoxControl=dialogField.control();

formComboBoxControl.enumType(0);

formComboBoxControl.label("Year");

formComboBoxControl.items(11);
for(i=0;i<=10;i++)
{
formComboBoxControl.item(i+1);
formComboBoxControl.text(int2str(year(systemDateGet())-i));
}
dialog.run();
}

X++ code to add Enum in AX 2012

static void addEnumvalue(Args _args)
{
    #AOT
    TreeNode        treeNodeEnum;

    treeNodeEnum    = TreeNode::findNode(#BaseEnumsPath);
    treeNodeEnum    = treeNodeEnum.AOTfindChild('YearEnum');

    treeNodeEnum.AOTadd('Test');

    treeNodeEnum.AOTsave();
}