Translate

Thursday, January 27, 2022

How to Make a Specific Financial Dimension Read-Only Using X++ in D365 FnO On Form initializes

    public void init()
    {
        DimensionAttribute              dimAttr;
        DimensionAttributeSetStorage    dimStorage;
        DimensionEnumeration            editableDimensionSet;
 
        next init();
 
        dimStorage = new DimensionAttributeSetStorage();
   
        while select HashKey, RecId from dimAttr
            where dimAttr.Type != DimensionAttributeType::DynamicAccount
            &&    dimAttr.Type != DimensionAttributeType::MainAccount
            &&    dimAttr.Name != "Business Unit"
        {
            dimStorage.addItem(dimAttr.RecId, dimAttr.HashKey, NoYes::Yes);
        }
 
        editableDimensionSet = dimStorage.save();
 
        //Make Business unit readonly
        if(editableDimensionSet)
        {
            DimensionEntryControlTable.parmEditableDimensionSet(editableDimensionSet);
            DimensionEntryControlTable.allowEdit(true);
        }
    }