InventDimFormSetup заполняю по аналогии со стандартными формами в методе UpdateDesignGroup, который вызывается при инициализации формы. Вот его код:
X++:
void updateDesignGroup(InventDimFormDesignUpdate mode)
{
InventTable inventTable;
;
switch ( mode )
{
case InventDimFormDesignUpdate::Init :
if ( !inventDimFormSetupGroup )
inventDimFormSetupGroup = new InventDimCtrl_Frm( element );
inventDimFormSetupGroup.parmSkipOnHandLookUp( true );
// do continue
case InventDimFormDesignUpdate::Active :
inventTable = InventTable::find(ICLtmpProdRoutePlanGroup.itemId );
inventDimFormSetupGroup.formActiveSetup( inventTable.dimGroupId );
inventDimFormSetupGroup.formSetControls( true );
break;
case InventDimFormDesignUpdate::FieldChange :
inventTable = InventTable::find(ICLtmpProdRoutePlanGroup.itemId );
inventDimFormSetupGroup.formActiveSetup( inventTable.dimGroupId );
inventDimGroup.clearNotSelectedDim( inventDimFormSetupGroup.parmDimParmEnabled() );
inventDimFormSetupGroup.formSetControls( true );
break;
default : throw error(strfmt("@SYS54195",funcname()));
}
}
А дальше в методе active источника данных формы пыталась проанализировать изменилось ли содержание inventDimParm, и после нажатия кнопки Отображение аналитики, в методе Clicked.
А заполнять InventDimParm я пыталась и так:
X++:
InventDimParm inventDimParm = inventDimFormSetupGroup.parmDimParmVisibleGrid();
и так:
X++:
InventDimParm inventDimParm = inventDimFormSetupGroup.parmDimParmVisible();