D365F&O - X++ - Use of JumpRef() method in form extension
Override event handler onPostRun of Form and register JumpRef method.
class MJEcoResProductDetailsExtendedEventHandlers
{
[FormEventHandler(formStr(EcoResProductDetailsExtended), FormEventType::PostRun)]
public static void EcoResProductDetailsExtended_OnPostRun(xFormRun sender, FormEventArgs e)
{
FormStringControl control = sender.design().controlName(formControlStr(
EcoResProductDetailsExtended, InventTable_Product_DisplayProductNumber));
control.registerOverrideMethod(methodStr(FormStringControl, jumpRef),
methodStr(EcoResProductDetailsExtended_Extension, itemid_jumpref), sender);
}
}
Create a Form extension and write the method definition of jumpRef.
[ExtensionOf(formStr(EcoResProductDetailsExtended))]
final class EcoResProductDetailsExtended_Extension
{
public void ProductNumber_jumpref(FormControl _formControl)
{
MenuFunction menuFunction;
Args args = new Args();
EcoResProduct EcoResProduct = EcoResProduct::findByDisplayProductNumber
(_formControl.valueStr());
if (!EcoResProduct)
{
return;
}
args.record(EcoResProduct);
menuFunction = new MenuFunction(menuitemDisplayStr(EcoResProductDetailsExt),
MenuItemType::Display);
menuFunction.openMode(OpenMode::Edit);
menuFunction.formViewOption(FormViewOption::Details);
menuFunction.run(args);
}
}
Comments
Post a Comment