Forms

thumbnail 01
Development (AX 2012), Dynamics AX 2012, Forms, Technical (AX 2012)

AX 2012: LogisticsPostalAddress unknown value

Problem: I learned something new about DateEffective tables today. I had a customer requirement to store addresses in a Standard AX table, PdsApprovedVendorList. So I created a relationship between my table and LogisticsPostalAddress table, adding foreign key to LogisticsPostalAddress to my table. Then I added this field to a form and set ReplacementFieldGroup property of the […]

thumbnail 01
Development (AX 2012), Dynamics AX 2012, Forms, Technical (AX 2012)

AX 2012: Enable Disable Buttons on PurchTable SalesTable Forms

To enable/disable buttons on PurchTable/SalesTable form, you can customize their respective interaction classes: 1. Classes\PurchTableInteraction 2. Classes\PurchTableInteractionHelper 3. Classes\SalesTableInteraction 4. Classes\SalesTableInteractionHelper Let’s say, for example, I want to enable the Configure line button under Product and Supply menu: All you need to do is to find and customize the right method which controls the enabling/disabling

thumbnail 01
Development (AX 2012), Dynamics AX 2012, Forms, Technical (AX 2012)

AX 2012: Using Temporary Table as Form’s Datasource

First add a method on the form to populate records in the temporary table: public LabelsTable populateRecords() { SysDictTable dictTable = new SysDictTable(tableNum(PurchLine)); SysDictField dictField; TreeNode treeNode; LabelsTable labelsTableLocal; // Temporary table (InMemory) FieldId fieldId = dictTable.fieldNext(0); while (fieldId) { dictField = dictTable.fieldObject(fieldId); if (dictField.isSql() && !dictField.isSystem() && dictField.name() != “Modified”) { treeNode = dictField.treeNode();

thumbnail 01
Development (AX 2012), Dynamics AX 2012, Forms, Technical (AX 2012)

AX 2012: Add dynalink in X++

Use the following code to add dynalink to the form datasource query: public void init() { super(); this.query().dataSourceTable(tableNum(MzkPurchTrackingDetailsTable)).clearDynalinks(); this.query().dataSourceTable(tableNum(MzkPurchTrackingDetailsTable)).addDynalink( fieldNum(MzkPurchTrackingDetailsTable, PurchId), PurchParmTable, fieldNum(PurchParmTable, PurchId)); } Where, First parameter is the source table field Second parameter is the destination table Third parameter is the destination table field

thumbnail 01
Development (AX 2012), Dynamics AX 2012, Forms, Technical (AX 2012)

AX 2012: Refresh caller form datasource

The following code refreshes the caller form datasource from the calling form: void clicked() { Args arg = new Args(); FormRun formRun; ; arg = new args(formstr(YourForm)); arg.record(yourTable); arg.caller(this); formRun = classFactory.formRunClass(arg); formRun.init(); formRun.run(); formRun.wait(); formRun.detach(); YourTable_DS.reread(); YourTable_DS.rereadReferenceDataSources(); YourTable_DS.research(true); } 1. reread() – Rereads the current record from the database 2. rereadReferenceDataSources() – Rereads the reference

thumbnail 01
Development (AX 2012), Dynamics AX 2012, Forms, Technical (AX 2012)

AX 2012: How to open a form in X++

Using FormRun: void clicked() { Args args; FormRun formRun; args = new Args(formstr(CustTable)); args.record(custTableLocal); formRun = classFactory.formRunClass(args); formRun.init(); formRun.run(); formRun.wait(); formRun.detach(); CustTable_DS.research(); } Using MenuFunction: void clicked() { Args args; args = new Args(); args.caller(this); args.parmObject(list); new MenuFunction(menuItemDisplayStr(SalesTable), MenuItemType::Display).run(args); }

Scroll to Top