Purpose: The purpose of this document is to illustrate how we can confirm purchase orders in X++ using PurchParmTable table and PurchFormLetter class. Business requirement: Ability to confirm purchase order automatically. As of now Standard AX offers manual purchase order confirmation by clicking Procurement and sourcing > Common > Purchase orders > All purchase orders > Purchase > Generate > Confirm.... Continue Reading →
AX 2012: Post product receipt of purchase order in X++
Purpose: The purpose of this document is to illustrate how we can create and post product receipts of purchase orders in X++. Business requirement: Ability to post product receipts of purchase order automatically. As of now Standard AX offers manual product receipt posting by clicking Procurement and sourcing > Periodic > Purchase orders > Product... Continue Reading →
AX 2012: Off-The-Shelf Excel Reader
Download it, adapt it, run it! Please find above the project XPO of the Off-the-shelf Excel reader. To adapt and run it for your Excel file format: Update macros in the class declaration to match your Excel file columns. Update readExcelFile() method to use your table buffer to persist records in. Click Menu Items... Continue Reading →
AX 2012: Setting Labels in X++
To set Label property of all the fields of a table in AOT, you may refer to the following code which loops through all the fields of a table and sets their Label property with their Name property. static void MAKSetLabels(Args _args) { #Properties SysDictTable dictTable = new SysDictTable(tableNum(CustTable)); SysDictField dictField; TreeNode treeNode; FieldId fieldId... Continue Reading →
AX 2012: Sales Order Posting Custom Validations
It is often a customer requirement to check for custom validations before posting a Sales Order. The best place to put your code for custom validations can be found below: Validations for Sales Table: AOT > Classes > SalesFormLetterProvider > checkHeading() For example, To check for custom field SalesTable.MAKBlocked, this is how custom validation should be added in... Continue Reading →