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

Popular posts from this blog

D365F&O - X++ - Best Practice Warning BP Rule: [BPErrorUnknownLabel]: Path:

D365F&O - X++ - How to Enable/Disable button on form based on a condition in D365F&O using Event handlers.

D365FO - X++ - Generate CAR (Customized Analysis Report) report of custom model