需要使用核心服务启动工作流程

时间:2012-07-06 06:42:56

标签: tridion tridion-2011

我正在使用coreservice在工作流程中创建第一个“回到作者”的自动化活动。 以下是我的代码。

  1. 创建了组件并完成了
  2. 审核了该组件并选择了“返回作者”这是一个自动化任务,因为我已经编写了以下代码。但是活动没有进行。
  3. 你可以帮我解决这个问题吗?

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Runtime.InteropServices;
    using Tridion.ContentManager.CoreService.Client;
    
    namespace CoreComponentWorkflow
    {
      [ProgId("CoreComponentWorkflow.WorkflowHandler")]
    
      public class AutomaticWorkflowHandler
      {
        public void MoveBackToActivity(string strActivitytoMove)
        {
          var client = new SessionAwareCoreServiceClient();
          var finishdata = new ActivityFinishData();
          finishdata.Message = strActivitytoMove;
          var process = new ProcessInstanceData();
          var activity = (ActivityInstanceData)process.Activities[0];
          client.FinishActivity(activity.Id, finishdata, new ReadOptions());
        }
      }
    }
    

1 个答案:

答案 0 :(得分:1)

您的代码中有一些需要审核的内容。

  1. 您创建一个新的ProcessInstanceData,而不是从当前实例中读取它。因此,您肯定不会process.Activities[0],因为此过程是新的。
  2. 您从工作流脚本传递给活动的参数是什么?
  3. 你当前的workItem在哪里?
  4. 使用一些常识检查代码,并尝试遵循流程(例如,使用远程调试)。尝试与之前的TOM.NET代码进行比较,看起来你只是在黑暗中拍摄。