Tuesday, 27 November 2012

How to Create Display Inventory Dimensions in Dynamics Ax or D365 F & O with X++



Display Inventory Dimensions in ax 2012


Add methods in Form  Class Declaration

public class FormRun extends ObjectRun
{
    InventDimCtrl_Frm_EditDimensions   inventDimFormSetup;
    ItemId  callerItemId;
}

void init()
{
    InventTable inventTable;
    super();
    if (isConfigurationkeyEnabled(configurationKeyNum(Retail))
        && element.args().caller()
        && element.args().record())
    {
        if (element.args().dataset() == tablenum(InventTable))
        {
            inventTable = element.args().record();
            callerItemId = inventTable.ItemId;
        }
    }
    element.updateDesign(InventDimFormDesignUpdate::Init);
}

Object inventDimSetupObject()
{
    return inventDimFormSetup;
}

void updateDesign(InventDimFormDesignUpdate mode)
{

    switch (mode)
    {
        case InventDimFormDesignUpdate::Init           :
            if (!inventDimFormSetup)
            {
                inventDimFormSetup  = InventDimCtrl_Frm_EditDimensions::newFromForm(element);
            }
            inventDimFormSetup.parmSkipOnHandLookUp(true);
            // do continue
        case InventDimFormDesignUpdate::Active         :
            inventDimFormSetup.formActiveSetup(InventDimGroupSetup::newItemIdProductDimensionsOnly
(DimenssionDisplayButtonTable.ItemId));
            inventDimFormSetup.formSetControls(true);
            break;

        case InventDimFormDesignUpdate::FieldChange    :
            inventDimFormSetup.formActiveSetup(InventDimGroupSetup::newItemIdProductDimensionsOnly

(DimenssionDisplayButtonTable.ItemId));
            inventDim.clearNotSelectedDim(inventDimFormSetup.parmDimParmEnabled());
            inventDimFormSetup.formSetControls(true);
            break;

        default : throw error(strFmt("@SYS54195",funcName()));
    }

}


Add methods in Form>>Datasource.

public boolean validateWrite()
{
boolean ret ;
;
DimenssionDisplayButtonTable.InventDimId  = InventDim::findOrCreate(InventDim).InventDimId;
ret = super() ;

//Display dimensions dialogDisplay dimensions dialogcreating, steps
    return ret;
  }


public int active()
{
int ret;
;
ret = super();
element.updateDesign(InventDimFormDesignUpdate::Active);
return ret;
}

public void modified()
{
 ;
super();
element.updateDesign(
InventDimFormDesignUpdate::FieldChange);
inventDim.clearNotSelectedDim(element.inventDimSetupObject().parmDimParmEnabled());

}

create a new menuitembutton set bellow the propertitys
 Caption  : DisplayDimensions
 Menuitemtype  : display
MenuItemName :   InventDimParmFixed







1 comment: