Thursday, January 30, 2025

Trigger Sysoperation through button click

class PurchTableForm_EventHandler
{
    
    /// <summary>
    /// run business logic for ConnectTransferOrder button
    /// </summary>
    /// <param name="sender">sender</param>
    /// <param name="e">e</param>
    [FormControlEventHandler(formControlStr(PurchTable, ConnectTransferOrder), FormControlEventType::Clicked),SuppressBPWarning('BPParameterNotUsed', 'Parameter required')]
    public static void ConnectTransferOrder_OnClicked(FormControl sender, FormControlEventArgs e)
    {
        FormDataSource formds = sender.formRun().dataSource(formDataSourceStr(PurchTable, PurchTable));
        PurchTable purchTable = PurchTable::findRecId(formds.cursor().RecId);

        CreateUpdateTransferOrderController controller;
        SysOperationStartResult sysOperationStartResult;
    
        Args args = new Args();

        args.caller(sender.formRun());
        args.record(purchTable);

        controller = CreateUpdateTransferOrderController::newFromArgs(args);
        controller.parmExecutionMode(SysOperationExecutionMode::Synchronous);

        sysOperationStartResult = controller.startOperation();

        formds.refresh();
        formds.reread();
    }

}

No comments:

Post a Comment

Table browser URL in D365FO

Critical Thinking icon icon by Icons8