Auto search on form data source

Following scenario: You are creating a new form in AX2012. You are adding a form data source, for example the ProdTable, inserting some fields to the interface. But you don’t want the form to show always the first dataset of the ProdTable on your form fields. In that case you can set the property “AutoSearch” … Read moreAuto search on form data source

Pick from sales order and post packing slip

SalesTable salesTable = SalesTable::find(“SO100053”); SalesLine salesLine; Query inventTransQuery; QueryBuildDataSource inventTransQbds; InventTrans inventTrans; InventTransOrigin inventTransOrigin; TmpInventTransWMS tmpInventTransWMS; InventTransWMS_Pick inventTransWMS_Pick; while select salesLine where salesLine.SalesId == salesTable.SalesId { inventTransQuery                = new Query();     inventTransQbds = inventTransQuery.addDataSource(tableNum(InventTrans));     inventTrans                     … Read morePick from sales order and post packing slip

Display String as barcode

There are several different classes in AX which can convert a simple string to a specific barcode format. I used the following example to convert a string to a EAN128 barcode and display it in a simple dialog in AX2012R3: Which font code you need is declared in the classes “Barcode*” classes. You can initialize … Read moreDisplay String as barcode

Active InventDim dimension on ListPage

If you want to check on a list page if a specific inventDim dimension is active and shown on the grid the following code can check that case: (The example checks if the invent batch id is displayed on the grid:   if (element.inventDimSetupObject().parmDimParmVisibleGrid().InventBatchIdFlag) { // Display some new field }  

Unit conversion

Simple code for converting between two units: unitOfMeasureInvent = InventTableModule::find(itemId, ModuleInventPurchSales::Invent).UnitId; if (unitOfMeasureInvent != unitOfMeasure) { convertedQty = UnitOfMeasureConverter::convert(qty, UnitOfMeasure::unitOfMeasureIdBySymbol(unitOfMeasure), UnitOfMeasure::unitOfMeasureIdBySymbol(unitOfMeasureInvent), NoYes::No, InventTable::itemProduct(itemId), NoYes::No); }

Complete specific work line

WHSWorkTable workTable; WHSWorkLine workLine; WHSWorkExecute workExecute = new WHSWorkExecute(); WHSWorkCompleteForm workcompleteForm = new WHSWorkCompleteForm(); WHSWorkManualComplete manualComplete = new WHSWorkManualComplete(); select workTable where workTable.WorkBuildId == _workBuildId; select forUpdate workLine where workLine.WorkType == WHSWorkType::Put && workLine.WorkId == workTable.WorkId; if (workLine) { ttsBegin; workLine.WorkStop = true; workLine.update(); ttsCommit; } else { throw error (“@SYS111591”); } if (_toLocationId) { … Read moreComplete specific work line

Get values for attribute from product

For getting the values for the product attributes you can use a simple view in AX:   EcoResProductAttributeValue attributeValue; // View select attributeValue       where attributeValue.Product == _product           && attributeValue.Attribute == resultAttribute.RecId; After that you can use the value RecId for finding the related value table.