У меня есть список под названием «Сессии». В списке есть рабочий процесс, который выполняется для создания, модификации. Рабочий процесс запускается, когда я добавляю элементы, используя веб-часть, а также вручную. Я разработал задание таймера, которое запускается ежедневно, что добавляет элементы в список «Сессии». Когда задание таймера добавляет элементы в список, рабочий процесс не запускается.Задание таймера SharePoint добавляет элементы списка, но не вызывает связанный с ним рабочий процесс.
2
A
ответ
0
Создание или редактирование элемента списка с использованием API не вызовет рабочих процессов. Вы должны использовать класс SPWorkflowManager
, чтобы запускать его самостоятельно. Каждый экземпляр SPSite
обладает свойством такого типа, что и должно использоваться.
Вы можете закодировать это следующим образом:
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);
Где item
это SPListItem, который вы создали/отредактирован, association
является экземпляром SPWorkflowAssociation
, что коррелирует список до фактического рабочего процесса, и isAutoStart
является boolean
переменная, сообщающая диспетчеру рабочего процесса, должен ли рабочий триггер вести себя как что-то, что было запущено автоматически (в вашем случае, true
).
У вас есть источник для инструкции, создание или редактирование элемента списка с помощью API не вызовет рабочих процессов? Я видел другие сообщения, которые говорят, что они делают, но требуют, site.WorkflowManager.Dispose(). – BinaryJam
Эмпирические данные. Попробуй сам. – Renan
Спасибо за это. Я думаю, что ты хотел сказать, был http://support.microsoft.com/kb/947284 http://blogs.technet.com/b/victorbutuza/archive/2009/03/14/workflows- do-not-start.aspx Вы правы, другой парень был неправ. :-) – BinaryJam