2008-10-14 2 views
1

Я написал приемник событий, который программным образом запускает рабочий процесс, но для начала требуется идентификатор (guid) рабочего процесса. Как мне получить идентификатор рабочего процесса (ов), который я только что создал в Sharepoint Designer?Как получить идентификатор рабочего процесса, созданного в Sharepoint Designer?

ответ

2

Поскольку вы создали рабочий процесс в SPD, вы должны знать список, с которым связан рабочий процесс, а также имя рабочего процесса. Вооруженный этой информацией, это должно работать:

Guid workflowGuid = list.WorkflowAssociations.GetAssociationByName(WORKFLOW_NAME, CULTURE_INFO).Id; 

Если вы не знаете, или не хотят иметь дело с частью CultureInfo, я полагаю, вы можете также цикл через SPWorkflowAssociationCollection и просто найти правильный рабочий процесс, но этот код кажется мне более чистым.

+0

Я собирался с идеей найти рабочий процесс по имени, но имя не гарантировано уникально, и если кто-то переименует рабочий процесс, вам необходимо перекомпилировать приемник событий. Ну что ж. это сработает. Спасибо, что показал мне метод GetAssociationByName. Я даже не знал, что он существует – Kilhoffer

+0

Да, я вижу, что это раздражает. Я полагаю, вы могли бы сохранить имя рабочего процесса в списке или что-то, чтобы не перекомпилировать приемник событий. Конечно, если список будет переименован ...... Ах, я люблю SharePoint. :) –

Смежные вопросы