【问题标题】:CurrentWorkItem.ID is correct or not in workflow script editor?CurrentWorkItem.ID 在工作流脚本编辑器中是否正确?
【发布时间】:2012-07-09 18:53:24
【问题描述】:

我正在使用 Tridion 2011 SP1,我正在创建像 start-->create-->Review-->publish--Stop 这样的工作流。

我创建并注册了类库,并使用VBscript(WF Tab的脚本编辑器)调用C#方法,如下所示。

Option Explicit
Dim workflowHandler
Set workflowHandler= CreateObject("CoreComponentWorkflow.WorkflowHandler")
If Not workflowHandler Is Nothing Then
Call workflowHandler.PublishComponent(Cstr(CurrentWorkItem.ID))      
     FinishActivity "Published to WIP"
End If
Set workflowHandler= Nothing

上面的代码正确吗?我确信我能够使用以下行创建对象。

Set workflowHandler= CreateObject("CoreComponentWorkflow.WorkflowHandler")

目前我仅使用 C# 代码发布当前项目,正在调用 C# 函数,如下所示。

Call workflowHandler.PublishComponent(Cstr(CurrentWorkItem.ID))      

发布项目后,我正在使用下面完成活动。

FinishActivity "Published to WIP"

我通过硬编码当前工作项直接在服务器中检查了上述代码,它工作正常。但是当我将相同的代码放入 vbscript 编辑器时,该项目没有发布。

任何人都可以对此提出建议吗?

【问题讨论】:

    标签: tridion tridion-2011


    【解决方案1】:

    当您硬编码时,您可能会直接添加 TCM ID 以使其正常工作,这意味着 CurrentWorkItem.ID 不是获取组件 ID 的正确 API 调用。请参阅下面的 Igor 评论以获取 tcm id。

    【讨论】:

    • 我认为提供的代码会返回不是组件 ID 的流程实例 ID。正确的 API 调用将是 CurrentWorkItem.GetItem().ID 请注意,GetItem 方法具有可选参数 TdsDefines.EnumOpenMode。
    • 你是对的。这只给出实例 id 而不是 tcmid。编辑了回复。
    猜你喜欢
    • 2020-08-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-27
    • 2012-01-10
    • 2021-10-08
    • 2022-06-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多