2013-07-23 3 views
2

"세션"이라는 목록이 있습니다.이 목록에는 항목 생성, 수정을 위해 실행되는 워크 플로가 있습니다. 워크 플로우는 웹 파트와 수동으로 항목을 추가 할 때 트리거됩니다. 나는 "세션"목록에 항목을 추가하는 매일 실행되는 타이머 작업을 개발했습니다. 타이머 작업이 항목을 목록에 추가하면 워크 플로가 트리거되지 않습니다.SharePoint 타이머 작업 목록 항목을 추가했지만 연결된 워크 플로를 트리거하지 않습니다.

답변

0

API를 사용하여 목록 항목을 만들거나 편집해도 워크 플로가 실행되지 않습니다. SPWorkflowManager 클래스를 사용하여 직접 트리거해야합니다. SPSite의 모든 인스턴스에는 사용해야하는 유형의 속성 만 있습니다. item 당신이 생성/편집 한 SPListItem는 어디

SPSite site = foo; // Actually get your instance of SPSite by whatever is 
        // your favorite way to do so. 

site.WorkflowManager.StartWorkflow(
     item, 
     association, 
     association.AssociationData, 
     isAutoStart); 

association 실제 워크 플로우 목록의 상관 관계를 SPWorkflowAssociation의 인스턴스이며, isAutoStartboolean입니다 :

이처럼 코딩 할 수있다 워크 플로 관리자가 워크 플로 트리거가 자동으로 시작된 것인지 (예 : true) 동작해야하는지 알려주는 변수입니다.

+0

문구 소스가 있습니까? API를 사용하여 목록 항목을 만들거나 편집해도 워크 플로가 실행되지 않습니까? site.WorkflowManager.Dispose()가 필요하지만 필요하다고 말하는 다른 게시물을 보았습니다. – BinaryJam

+0

경험적 증거. 직접 해보십시오. – Renan

+0

고마워요. 당신이 말하고자하는 내용은 입니다. http://support.microsoft.com/kb/947284 http://blogs.technet.com/b/victorbutuza/archive/2009/03/14/workflows- do-not-start.aspx 네 말이 맞아, 다른 갈라진 틈은 잘못되었다. :-) – BinaryJam