簡體   English   中英

當在Dynamic 365 Online中觸發OnStageChange事件時,如何確定用戶是轉到業務流程的下一階段還是上一步?

[英]How can I tell if user is moving to next or previous stage of business process flow when OnStageChange event is fired in Dynamic 365 Online?

當用戶移至Dynamic 365 Online中的業務流程的下一階段時,我正在編寫一個JS腳本以進行攔截並進行一些其他驗證。

我將函數綁定到Dynamic 365的OnStageChange事件,但是該事件不僅會在用戶移至下一個階段時觸發,而且還會在用戶移回到上一個階段時觸發。

有什么辦法可以告訴用戶是進入下一個階段還是上一個階段?

您需要將OnStageChange的代碼更新為getEventArgs ,這將使您查看getDirection是“下一個”還是“上一個”。

沒有看到您的代碼,我無法提供具體的實施建議,但這可以回答您的問題。

以下是用於進一步了解如何處理“ OnStageChange”事件的鏈接:

https://msdn.microsoft.com/en-us/library/gg334481.aspx#BKMK_OnStageChange

感謝@OneNeptune,我設法解決了以下問題。

const NEXT_STAGE_OPTION = "Next"

function onAccountFormLoad (context) {
    context.getFormContext().data.process.addOnStageChange(checkMoveStage);
}

function checkMoveStage(context) {
    var targetStageName = context.getFormContext().data.process.getActiveStage().getName();
    var direction = context.getEventArgs().getDirection();
    console.log("Move to " + direction + " stage:" + targetStageName);

    if (direction === NEXT_STAGE_OPTION) {
        // Perform necessary validation when moving to next stage.
    }
}

函數onFormLoad被添加到窗體的onLoad事件中,並且選中了“將執行上下文作為第一個參數”選項。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM