Я создал последовательный рабочий процесс SharePoint 2007 и пытаюсь программно активировать два рабочих процесса (одно утверждение и один отзыв).
workflowProperties.Site.WorkflowManager.StartWorkflow(workflowProperties.Item, association, association.AssociationData, true);
Я использую этот код для запуска рабочего процесса, и связь создается на лету. Проблема возникает, когда я пытаюсь получить доступ к другим спискам для создания объекта ассоциации.
SPList approvalsList = workflowProperties.Web.Lists["Tasks"];
SPList historyList = workflowProperties.Web.Lists["Workflow History"];
Вот что я получаю:
Unable to cast COM object of type 'Microsoft.SharePoint.Library.SPRequestInternalClass' to interface type 'Microsoft.SharePoint.Library.ISPRequest'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{BDEADEBE-C265-11D0-BCED-00A0C90AB50F}' failed due to the following error: Bad variable type. (Exception from HRESULT: 0x80020008 (DISP_E_BADVARTYPE)).
Единственный доступный список - через workflowProperties.List. Как мне сделать это, или есть ли лучшие способы вызвать другой рабочий процесс в пользовательском рабочем процессе?