-1

私は Tridion 2011 SP1 を使用しており、開始 - >作成 - >レビュー - >公開 - 停止のようなワークフローを作成しています。

クラス ライブラリを作成して登録し、VBscript (WF タブのスクリプト エディター) を使用して、以下のように 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"

currentworkitem をハードコーディングして、上記のコードをサーバーで直接確認しましたが、問題なく動作していました。しかし、vbscript エディターに同じコードを入力すると、アイテムが公開されません。

誰でもこれについて提案できますか?

4

1 に答える 1

2

ハードコーディングすると、TCM ID を直接追加して正しく機能する可能性がありますCurrentWorkItem.ID。つまり、コンポーネント ID を取得するための正しい API 呼び出しではありません。tcm id を取得するには、以下の Igor のコメントを参照してください。

于 2012-07-09T21:57:54.973 に答える