Monday, 28 July 2014

Deploy Default Ax2012 Reports

Hi all,
this is the trick to deploy the default reports with out admin rights,

Publish-AXReport -ReportName * -SkipReportServerAdminCheck

Happy Daxing :)

Get objects from specific object

Static void getLayerspecificobject()
{
treeNode treeNode;
xInfo xInfo = new xInfo();
#AOT;

    treeNode = xInfo.findNode(#FormsPath);
    treeNode = treeNode.AOTfirstChild();
    while (treeNode)
    {
        if(treeNode.applObjectLayer() == utilEntryLevel::Var)  //select the layer
        {
            info(treeNode.TreeNodeName(),'',               sysinfoaction_formrun::newFormname(treeNode.TreeNodeName(),'',''));
        }  
        treeNode = treeNode.AOTnextSibling();
    }  
}

Delete a file from specific folder

Hi all,
Lets we see about how to delete a file from specific folder,

str spath ;
Filename                    filename;


CommaIo                 file = new commaIo(sourcefile,'r');






spath     = D:\\from\\;
filename = "filename";

file = null;
Winapi::deletefile(Spath+filename);

Ledger Dimension and General Journal Posting X++



Hi all,
From this post you can learn how to get the dimensions value for ledger journal posting

ledgerDimensions = ["Main account","101",2,"Costcenter","000101","Purpose","Training"];

here the main account, costcenter and purpose are the dimensions label files, 
101,000101,Traning are values for the dimensions,
2 -> here the trick its specifying the number of dimensions, suppose if you are having 5 dimensions u need to mentions 5 
eg :  ledgerDimensions = ["Main account",101,5,"Costcenter","000101","Purpose","Training","Estate","1",Division,"Div-1","Field","Field-1"];

trans.parmLedgerDimension(AxdDimensionUtil::getLedgerAccountId(ledgerDimensions));

Ledger journal posting code :
        header = new AxLedgerJournalTable();
        //header.parmName(Payrollheader.Headername);
        header.parmJournalName(LedgerParameters::find().HS_journame);
        header.parmJournalType( LedgerJournalType::Daily);
        currency                    = Ledger::accountingCurrency(CompanyInfo::current());
        header.parmCurrencyCode(currency);
        header.parmOriginalCompany(Payrolltmplines.Company);
        header.save();
                    trans = new AxLedgerJournalTrans();
        trans.parmAccountType(LedgerJournalACType::Ledger);
        trans.parmJournalNum(header.ledgerJournalTable().JournalNum);
        //accode = ledge.Linedescription;
        ledgDimension1 = Payrolltmplines.Accountnum;
      //  ledgDimension2 = substr(accode, 9, 3);
        ledgerDimensions = ["Main account",ledgDimension1];
        trans.parmLedgerDimension(AxdDimensionUtil::getLedgerAccountId(ledgerDimensions));
        trans.parmAmountCurDebit(Payrolltmplines.Amt);
        trans.parmTxt(Payrolltmplines.Linesdescription);
        trans.parmCompany(Payrolltmplines.Company);
        trans.save();
 

Change company Ax2012

The changeCompany statement is used to change company during runtime. The syntax of the statement is: changeCompany ( Expression ) Statement
 
Here is the code

while select * from Payrolltmplines order by Payrolltmplines.Company // group by Payrolltmplines.Company
    {
        if(Payrolltmplines.Company == "090")
        {
                changeCompany("090")
                {
                if(x==0)
                {
                        header = new AxLedgerJournalTable();
            //header.parmName(Payrollheader.Headername);
            header.parmJournalName(LedgerParameters::find().HS_journame);
            header.parmJournalType( LedgerJournalType::Daily);
            currency                    = Ledger::accountingCurrency(CompanyInfo::current());
            header.parmCurrencyCode(currency);
            header.parmOriginalCompany(Payrolltmplines.Company);
            header.save();
                }
        trans = new AxLedgerJournalTrans();
        trans.parmAccountType(LedgerJournalACType::Ledger);
        trans.parmJournalNum(header.ledgerJournalTable().JournalNum);
        //accode = ledge.Linedescription;
        ledgDimension1 = Payrolltmplines.Accountnum;
      //  ledgDimension2 = substr(accode, 9, 3);
        ledgerDimensions = ["Main account",ledgDimension1];
        trans.parmLedgerDimension(AxdDimensionUtil::getLedgerAccountId(ledgerDimensions));
        trans.parmAmountCurDebit(Payrolltmplines.Amt);
        trans.parmTxt(Payrolltmplines.Linesdescription);
        trans.parmCompany(Payrolltmplines.Company);
        trans.save();
                }
           
        }
        else
        {
        changeCompany("050")
                        {

                                if(x==0)
             {
            header = new AxLedgerJournalTable();
            //header.parmName(Payrollheader.Headername);
            header.parmJournalName(LedgerParameters::find().HS_journame);
            header.parmJournalType( LedgerJournalType::Daily);
            currency                    = Ledger::accountingCurrency(CompanyInfo::current());
            header.parmCurrencyCode(currency);
            header.parmOriginalCompany(Payrolltmplines.Company);
            header.save();
           }
          trans = new AxLedgerJournalTrans();
          trans.parmAccountType(LedgerJournalACType::Ledger);
        trans.parmJournalNum(header.ledgerJournalTable().JournalNum);
        //accode = ledge.Linedescription;
        ledgDimension1 = Payrolltmplines.Accountnum;
      //  ledgDimension2 = substr(accode, 9, 3);
        ledgerDimensions = ["Main account",ledgDimension1];
        trans.parmLedgerDimension(AxdDimensionUtil::getLedgerAccountId(ledgerDimensions));
        trans.parmAmountCurDebit(Payrolltmplines.Amt);
        trans.parmTxt(Payrolltmplines.Linesdescription);
        trans.parmCompany(Payrolltmplines.Company);
        trans.save();
                }
               
        }
        x++;
    }