0

2 つの参加者ステップの間にプロセス ステップがある場合、参加者間でコメントが渡されません。私のワークフローはこんな感じです -

ParticipantA ---> プロセス ステップ X (ecma スクリプト) ----> プロセス ステップ Y (ecma スクリプト) -----> ParticipantB

ParticipantA のステップでコメントを追加すると、ParticipantB に反映されません。OOB 機能にはこれに関する制限があるようです。回避策として、「プロセス ステップ X」で取得しようとして、プロセス ステップ Y に渡します。取得できますが、次のステップに設定することはできません。

以下は私のコードです-

log.info("Noop process called for: " + workItem.getWorkflowData().getPayload());
var comment = workItem.getMetaDataMap().get("comment");
log.info("Comment in approval process-----------" + comment);

var workflowData = workItem.getWorkflowData();
if (workflowData.getPayloadType() == "JCR_PATH") {
    log.info("setting comment in meta data----------------");
    workflowData.getMetaDataMap().put("comment", comment);
}

次のステップのコメントを設定する方法を教えてください。

前もって感謝します。

よろしく、 Vivek

4

2 に答える 2

1

ワークフロー内のセッション変更だと思います。WorkflowDataインスタンスが新たに設定されます。IDEのデバッガーで簡単に確認できます。ここに示すように、HistoryItems を反復処理する必要があります。

final List<HistoryItem> history = workflowSession.getHistory(workItem.getWorkflow());
final List<String> comments = new ArrayList<>();

if (history.size() > 0) {
    HistoryItem current = history.get(history.size() - 1);

    do {
        comments.add(current.getComment());
        current = current.getPreviousHistoryItem();
    } while (current != null);
}

設定されていない場合、コメントは空の文字列です-私が間違っていなければ。

于 2013-10-25T09:52:37.197 に答える