0

単純な「完全な」ScriptTaskListner を使用して、タスクで「bpm:outcome」変数を取得するのに苦労しています。私はActiviワークフローエンジンを使用していることを付け加えます。

これは私の試みです:

var import = task.getVariable('bpm_outcome');

おかしい…返ってきた値が「次へ」(!!?!?)

とにかく...私は多分これが仕事をすることができると読んだ:

TaskInstance ti = ... ti.getVariableLocally("bpm_outcome");

また

ti.getVariable("bpm_outcome");

しかし、タスクインスタンスを取得できません...何か提案はありますか? 他の "wf:..." 変数は、単純な task.getvariable 試行で完全にキャプチャされます。

前もって感謝します!

4

1 に答える 1

3

Activity では (JBPM とは異なり) Next/Done 以外の結果はありません。

Alfresco のデフォルトのレビューと承認のワークフローを見ると、結果を確認するために新しい変数が導入されていることがわかります。

<activiti:taskListener event="complete" class="org.alfresco.repo.workflow.activiti.tasklistener.ScriptTaskListener">
                  <activiti:field name="script">
                     <activiti:string>
                        execution.setVariable('wf_reviewOutcome', task.getVariable('wf_reviewOutcome'));
                     </activiti:string>
                  </activiti:field>
               </activiti:taskListener>

タスク モデル:

<property name="wf:reviewOutcome">
                    <type>d:text</type>
                    <default>Reject</default>
                    <constraints>
                        <constraint name="wf:reviewOutcomeOptions" type="LIST">
                            <parameter name="allowedValues">
                                <list>
                                    <value>Approve</value>
                                    <value>Reject</value>
                                </list>
                            </parameter>
                        </constraint>
                    </constraints>
                </property>

共有設定:

<field id="wf:reviewOutcome" label-id="workflow.field.outcome" set="response">
                  <control template="/org/alfresco/components/form/controls/workflow/activiti-transitions.ftl" />
               </field>

そのため、Alfresco は通常のフィールドを使用して結果を決定します。したがって、構文は問題ありません。正しい変数を取得するだけです。この場合はtask.getVariable('wf_reviewOutcome') です

于 2013-07-28T13:06:08.153 に答える