Here is an example to achieve disabling Business unit financial dimension on Customers form in AX 2012.
Process to disable Business Unit financial dimension on Customers form.
1. Create a new parm method in ‘DimensionDefaultingControllerBase’ class as shown below
1. Create a new parm method in ‘DimensionDefaultingControllerBase’ class as shown below
1
2
3
4
| void parmEditableDimensionAttributeSetId(RefRecId _editableDimensionAttributeSetId = editableDimensionAttributeSetId) { editableDimensionAttributeSetId = _editableDimensionAttributeSetId; } |
2. Create a new method in ‘CustTable’ form as shown below
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| private void setDimensionAttributeSetStorage() { DimensionAttribute dimAttr; DimensionAttributeSetItem dimAttrSetItem; DimensionEnumeration dimensionSetId = DimensionCache::getDimensionAttributeSetForLedger(); DimensionAttributeSetStorage dimensionAttributeSetStorage; ; dimensionAttributeSetStorage = new DimensionAttributeSetStorage(); while select * from dimAttr order by Name where dimAttr.Type != DimensionAttributeType::MainAccount join RecId from dimAttrSetItem where dimAttrSetItem.DimensionAttribute == dimAttr.RecId && dimAttrSetItem.DimensionAttributeSet == dimensionSetId { if (dimAttr.Name != 'BusinessUnit' ) // Except BusinessUnit rest should enable dimensionAttributeSetStorage.addItem(dimAttr.RecId, dimAttr.HashKey,NoYes::Yes); } dimensionDefaultingController.parmEditableDimensionAttributeSetId(dimensionAttributeSetStorage.save()); } |
3. Add below highlighted code in ‘init’ method of ‘CustTable’ form as shown below
Calling newly created method before dimensionDefaultingController.pageActivated();
Calling newly created method before dimensionDefaultingController.pageActivated();
1
2
3
4
5
6
| dimensionDefaultingController = DimensionDefaultingController::constructInTabWithValues( true , true , true , 0, this , tabFinancialDimensions, "@SYS138487" ); dimensionDefaultingController.parmAttributeValueSetDataSource(custTable_ds, fieldStr(CustTable, DefaultDimension)); // Added by Manikanta on 22/05/2019 DisableFinDimensions - Begin this .setDimensionAttributeSetStorage(); // Added by Manikanta on 22/05/2019 DisableFinDimensions - End dimensionDefaultingController.pageActivated(); |
4. Now open Customers form & check financial dimensions tab it shows as below.
Can see Business Unit financial dimension disabled, highlighted one.
Can see Business Unit financial dimension disabled, highlighted one.