2017-10-21 7 views
1

私は、Dynamic 365 Onlineのビジネスプロセスフローの次の段階に移ったときに、代行受信するためのJSスクリプトを作成し、いくつかの追加バリデーションを行っています。Dynamic 365 OnlineでOnStageChangeイベントが発生したときに、ユーザーがビジネスプロセスフローの次の段階または前の段階に移動しているかどうかを確認するにはどうすればよいですか?

ダイナミック365のOnStageChangeイベントにバインドしていますが、ユーザーが次のステージに移動したときだけでなく、前のステージに戻ったときにもそのイベントが発生します。

ユーザーが次のステージまたは前のステージに移動しているかどうかを確認する方法はありますか?

+0

コードを教えてください。 – OneNeptune

答えて

1

OnStageChangegetEventArgsのコードを更新する必要があります。getDirectionが「次」または「前回」だったかどうかを確認できます。

コードが表示されていないため、具体的な実装に関するアドバイスはできませんが、これはあなたの質問に答えます。以下は

は `OnStageChange」のイベントを処理する方法をさらに理解するためのリンクは次のとおりです。@OneNeptuneへ

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

+0

ありがとうございます。私はそのドキュメントをチェックしました、私はgetEventArgsについての部分を見逃したとは思えません。 – tsukumogami

+0

@塩神上これが正解であれば、今後この問題の人々が解決策を見つけることができるようにマークしてください。あなたはこの問題に最初に遭遇するのではなく、最後ではありません!お役に立てて嬉しいです! – OneNeptune

1

おかげで、私は次のように私の問題を解決するために管理しました。

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イベントに追加されます。

関連する問題