Вызов рабочего процесса через пользовательский последовательный рабочий процесс в SharePoint - PullRequest
0 голосов
/ 12 ноября 2009

Я создал последовательный рабочий процесс 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. Как мне сделать это, или есть ли лучшие способы вызвать другой рабочий процесс в пользовательском рабочем процессе?

1 Ответ

0 голосов
/ 02 декабря 2009

Я использую Полезные пользовательские операции рабочего процесса Sharepoint Designer , чтобы запустить другой рабочий процесс.
Если вы не можете использовать его как есть, посмотрите на его исходный код. Не похоже, что они вручную устанавливают списки задач и истории: http://spdactivities.codeplex.com/SourceControl/changeset/view/22637#201408

...