Add InventDim table to data source, than make InnerJoin with table which inventDimId field used (in this sample table name is SNBProductDemonte).
Add a Group control like this at the grid:
Add this code to form:
public class FormRun extends ObjectRun
{
InventDimCtrl_Frm_EditDimensions inventDimFormSetup;
}
public void init()
{
super();
...
element.updateDesign(InventDimFormDesignUpdate::Init);
...
}
Object inventDimSetupObject()
{
return inventDimFormSetup;
}
void updateDesign(InventDimFormDesignUpdate mode)
{
InventDimParm inventDimParmVisible;
switch (mode)
{
// Form Init
case InventDimFormDesignUpdate::Init :
if (!inventDimFormSetup)
inventDimFormSetup = InventDimCtrl_Frm_EditDimensions::newFromForm(element);
inventDimFormSetup.parmSkipOnHandLookUp( true);
// Use the methods on InventDimParm
// to set which dimensions to show when form is initialized
// inventdimparmvisible.inventsiteidflag = true;
// inventdimparmvisible.InventLocationIdFlag = true;
inventDimFormSetup.parmDimParmVisibleGrid(inventDimParmVisible);
// Datasource Active
case InventDimFormDesignUpdate::Active :
inventDimFormSetup.formActiveSetup(InventDimGroupSetup::newItemId(SNBProductDemonte.ItemId));
inventDimFormSetup.formSetControls( true);
break;
// Datasource Field change
case InventDimFormDesignUpdate::FieldChange :
inventDimFormSetup.formActiveSetup(InventDimGroupSetup::newItemId(SNBProductDemonte.ItemId));
InventDim.clearNotSelectedDim(inventDimFormSetup.parmDimParmEnabled()); // InventDim is referring to datasource name
inventDimFormSetup.formSetControls( true);
break;
default :
throw error(strFmt ("@SYS54195", funcName()));
}
}
Add this code to table which InventDimId field:
public boolean validateWrite()
{
boolean ret;
SNBProductDemonte.InventDimId = InventDim::findOrCreate(InventDim).InventDimId;
ret = super();
return ret;
}
public int active()
{
int ret;
ret = super();
element.updateDesign(InventDimFormDesignUpdate::Active);
return ret;
}
Add this code to modified method of ItemId field:
public void modified()
{
super();
element.updateDesign(InventDimFormDesignUpdate::FieldChange);
InventDim.clearNotSelectedDim(element.inventDimSetupObject().parmDimParmEnabled());
}
Add InventDimParmFixed Display menu item from AOT to form.
Source:
https://daxbeginners.wordpress.com/2014/08/05/how-to-dynamically-display-inventory-dimension/
Teşekkürler.
YanıtlaSilben teşekkür ederim. :)
Sil