SharePoint Designerのワークフローをプログラムから開始するサンプルコード
SharePoint デザイナで作成したワークフローを、プログラムから使いたいと思ったことはありませんか??
StartWorkflow関数を呼び出すことで、可能です。
----------------------
SPWorkflowManager workflowManager = item.Web.Site.WorkflowManager;
SPWorkflowAssociationCollection workflowAssocCol = item.ParentList.WorkflowAssociations;
foreach (SPWorkflowAssociation workflowAssoc in workflowAssocCol)
{
if (workflowAssoc.Name == "ワークフロー名")
{
workflowManager.StartWorkflow(item, workflowAssoc, "<root />");
break;
}
}
----------------------
ただ、SharePointデザイナで、ワークフローを修正すると、バージョンが作成されてしまい
どのバージョンを使うのかを制御できないので、
リストの設定画面から削除する必要があります。
ワークフロー削除の手順は、
1.デザイナーでワークフローを修正(完了はまだおさない)
2.デザイナーを開いたままで、リストからWFを削除
3.デザイナーで完了を押し、修正を保存する
でOk
SPWorkflowManager.StartWorkflow メソッド (SPListItem, SPWorkflowAssociation, String) (Microsoft.SharePoint.Workflow)