Цитата:
Сообщение от
AndyD
X++:
InventMovement _movement = InventMovement::Construct(inventJournalTrans);
InventTable inventTable;
;
switch ( mode )
{
case InventDimFormDesignUpdate::Init :
if ( !inventDimFormSetup )
inventDimFormSetup = new InventDimCtrl_Frm_*( element, _movement);
inventDimFormSetup.parmSkipOnHandLookUp( true );
// do continue
Надо бы делать так
Кстати, если наследоваться от InventDimCtrl_Frm, то надо так же переопределять метод mustShowGridField(), как, например, в классе InventDimCtrl_Frm_Mov, иначе, просто, не будет привязки к таблице настроек, а все будет зашито в коде
ага, с этим уже разобрался... теперь другая проблема, так как в стандартном механизме стоит так что сразу после кейса Init выполняется кейс Active ( отсутствует) break,
case InventDimFormDesignUpdate::Init :
if ( !inventDimFormSetup )
inventDimFormSetup = new InventDimCtrl_Frm_Mov_Copy(element,movement);
inventDimFormSetup.parmSkipOnHandLookUp( true );
// do continue
case InventDimFormDesignUpdate::Active :
inventTable = InventTable::find(inventJournalTrans.itemId);
inventDimFormSetup.formActiveSetup(inventTable.dimGroupId);
inventDimFormSetup.formSetControls(true);
break;
то вылезает другая проблема, а именно мы вызываем updatedesign() в методе Init нашей формы, в этот момент к сожалению еще не известна номенклатура и объект InventTable не определен (inventTable = InventTable::find(inventJournalTrans.itemId)) в итоге мы имеем ошибку (или она имеет нас

)