【问题标题】:How to get bpm_outcome by Activiti workflow javascript in Alfresco如何在 Alfresco 中通过 Activiti 工作流 javascript 获取 bpm_outcome
【发布时间】:2013-07-27 15:47:12
【问题描述】:

我正在努力通过一个简单的“完整”ScriptTaskListner 在我的任务中获取“bpm:outcome”变量。我补充说我正在使用 Activi WorkFlow Engine。

这是我的尝试:

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

奇怪……返回的值是“Next”(!!?!?)

无论如何...我已经读到也许这可以完成这项工作:

任务实例 ti = ... ti.getVariableLocally("bpm_outcome");

ti.getVariable("bpm_outcome");

但我无法获得任务实例...有什么建议吗? 通过简单的 task.getvariable 尝试即可完美捕获其他“wf:...”变量。

提前致谢!

【问题讨论】:

    标签: javascript workflow task alfresco activiti


    【解决方案1】:

    在活动中(与 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')

    【讨论】:

    • 其实我怀疑它。 Malik 你像往常一样很棒,我想尽快联系你,有可能吗,分享我的邮件是否违反规定?
    • 嗨,马克,如果您点击我的个人资料,您会在我的linkedin/twitter 上找到详细信息,您可以与我联系;)
    • eehehe 是的,我知道...事实上我也没有加入他们。我想我会成为推特人。
    • 如果您点击我个人资料中的网站,请删除您的联系人,我会尝试与您联系。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多