Skip to main content

X++ code to create FreeText Invoice and post in Ax 2012

 First insert in header table like this.


        custInvoiceTable.clear();

        custInvoiceTable.initFromCustTable(custtable);

       

        custInvoiceTable.insert();


Then Insert in invoice line table.


custInvoiceLine.clear();

            custInvoiceLine.initValue();

            

            //setup main account as required 

            offsetDimensions = ["3434","3434", 0, "", ""]; // you can set a Main Account with multiple financial dimensions


            custInvoiceLine.LedgerDimension = AxdDimensionUtil::getLedgerAccountId(offsetDimensions);

            custInvoiceLine.initFromCustInvoiceTable(custInvoiceTable);

            custInvoiceLine.ItemId = "erw234324"; //custom field     


           

            custInvoiceLine.Quantity = custinvoicetrans.Qty;

            custInvoiceLine.UnitPrice = 1210 ;

            custInvoiceLine.modifiedField(fieldNum(CustInvoiceLine, UnitPrice));

            custInvoiceLine.Description = custinvoicetrans.itemName();


           


           

            custInvoiceLine.ParentRecId = custInvoiceTable.RecId;

            if(!lineNum)

            {

                lineNum = CustInvoiceLine::lastLineNum_W(custInvoiceLine.ParentRecId);

            }


            lineNum += 1;

            custInvoiceLine.LineNum = lineNum;

            custInvoiceLine.InvoiceTxt = custinvoicetrans.InvoiceId+"\n"+date2StrXpp(custinvoicetrans.InvoiceDate);//change it as per need


            custInvoiceLine.insert();


Post Invoice

Select custInvoiceTable1 where custInvoiceTable1.RecId == custInvoiceTable.RecId;


            custPostInvoice = new CustPostInvoice(custInvoiceTable1);

            custPostInvoice.run();

Comments

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);