0

ワークフローが承認されたときにファイルを別のディレクトリに移動したいのですが、Activiti で作業していて、次のコードを挿入します

<activiti:taskListener event="complete" class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
      <activiti:field name="script">
        <activiti:expression>if(task.getVariableLocal('scwf_approveRejectOutcome') == 'Approve') {

    var dest = bpm_context.childByNamePath("nv");
    for (var i = 0; i &lt; bpm_package.children.length; i++)
    {
        bpm_package.children[i].move(dest);
    }</activiti:expression>
      </activiti:field>
</activiti:taskListener>

私は屋外でこのエラーを受け取ります:

org.activiti.engine.ActivitiException: Exception while invoking TaskListener: Incompatible type set on field declaration 'script' for class org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript. Declared value has type org.activiti.engine.impl.el.JuelExpression, while expecting org.dom4j.Element

Activiti を使用してドキュメントを移動するにはどうすればよいですか? !!

4

3 に答える 3

2

そのはず

<activiti:taskListener event="complete" class="org.alfresco.repo.workflow.activiti.tasklistener.ScriptTaskListener">
  <activiti:field name="script">
    <activiti:string>
      if(task.getVariableLocal('scwf_approveRejectOutcome') == 'Approve') {

      var dest = bpm_context.childByNamePath("nv");
      for (var i = 0; i &lt; bpm_package.children.length; i++)
      {
        bpm_package.children[i].move(dest);
      }
    </activiti:string>
  </activiti:field>

于 2013-09-26T09:20:28.430 に答える
1

スクリプト コンテンツをラップするために間違ったタグを使用しています。エラー メッセージが示すように、type の値をタスク リスナーorg.activiti.engine.impl.el.JuelExpressionのフィールドに割り当てることができません。script

activity:stringの代わりに使用するとactivity:expression、期待どおりに動作するはずです。

<activiti:taskListener event="complete" class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
      <activiti:field name="script">
        <activiti:string>
          if(task.getVariableLocal('scwf_approveRejectOutcome') == 'Approve') {

          var dest = bpm_context.childByNamePath("nv");
          for (var i = 0; i &lt; bpm_package.children.length; i++)
          {
            bpm_package.children[i].move(dest);
          }
        </activiti:string>
      </activiti:field>
</activiti:taskListener>
于 2013-09-24T11:23:41.403 に答える