4

ワークフローのコメントをプログラムで設定することはできますか? 例: 管理者ユーザーがワークボックスからアイテムを「拒否」し、コメントを求めます。その後、エージェント プロセスがこのコメントを取得し、メールを送信します。ここで、同じことを行うためにカスタム モジュールが必要です (管理者拒否機能)。

ワークフロー コメントを設定するために Sitecore が使用するのと同じコードになると思います...

4

1 に答える 1

3

以下は、コマンド アイテムの ID がわかっていることを前提として、任意のワークフロー コマンドを実行するためのコードです。

public bool Execute(Item item, ID commandId, string comment)
{
    var workflowId = item[FieldIDs.Workflow];

    if (String.IsNullOrEmpty(workflowId))
    {
        throw new WorkflowException("Item is not in a workflow");
    }

    IWorkflow workflow = item.Database.WorkflowProvider.GetWorkflow(workflowId);

    var workflowResult = workflow.Execute(commandId.ToString(), item, comment, false, new object[0]);
    if (!workflowResult.Succeeded)
    {
        var message = workflowResult.Message;
        if (String.IsNullOrEmpty(message))
        {
            message = "IWorkflow.Execute() failed for unknown reason.";
        }
        throw new Exception(message);
    }
    return true;
}
于 2013-04-09T07:47:06.393 に答える