0

Alfreso 4.2c と Activiti を使用してワークフローを作成しています。各タスクでユーザーに異なるアクションを提供する必要がある場合、要件があります。たとえば、「タスクの完了」と「キャンセル」だけでなく、「会議の再スケジュール」、「会議のキャンセル」、「練習長に送信」、「キャンセル」などのアクションをタスクに与える必要があります。"bpm:outcomePropertyName"をオーバーライドしましたが、ワークフロー履歴の結果ラベルのみが変更されます。

どうすればこれを達成できるか教えてもらえますか? 前もって感謝します。

4

2 に答える 2

1

ワークフローモデルで独自の結果制約を定義する必要があります。例:

     <type name="my:myTask">
        <parent>wf:activitiReviewTask</parent>
        <overrides>
             <property name="wf:reviewOutcome">
                    <default>Restart Review</default>
                    <constraints>
                        <constraint name="my:myOutcomeOptions" type="LIST">
                            <parameter name="allowedValues">
                                <list>
                                    <value>Approve</value>
                                    <value>Restart Review</value>
                                    <value>Reject</value>
                                </list>
                            </parameter>
                        </constraint>
                    </constraints>
                </property>
        </overrides>
      </type>

もちろん、カスタム シーケンス フローをワークフロー定義に追加する必要があります。

    <exclusiveGateway id="reviewDecision" name="Review Decision"></exclusiveGateway>
    <sequenceFlow id="flow3" name="" sourceRef="reviewDecision" targetRef="ReviewRejected">
        <conditionExpression xsi:type="tFormalExpression">${wf_reviewOutcome == 'Reject'}</conditionExpression>
    </sequenceFlow>
    <sequenceFlow id="flow3" name="" sourceRef="reviewDecision" targetRef="RestartReview">
        <conditionExpression xsi:type="tFormalExpression">${wf_reviewOutcome == 'Restart Review'}</conditionExpression>
    </sequenceFlow>

...

于 2014-01-29T11:11:34.203 に答える
0

カスタム アクションはボタンを使用して実装されます - activiti grails 休暇申請サンプル アプリケーションで。たとえば。入力したタスク データを保存し、タスクを完了しません。ただし、grails のカスタム コードは、この機能を実現するために記述されています。ボタンを標準フォームコンポーネントとして追加する標準的な方法がActivitiにあることを願っています。

于 2014-02-20T19:40:10.293 に答える