В Tridion 2011 SP1, Event System, я пытаюсь получить WorkItem объекта, который, как я знаю, находится в рабочем процессе, но я не знаю, в чьем WorkList это может быть.
Сценарий Описание:
- Страница должна оставаться заблокированной, пока данный компонент находится в рабочем процессе
- Если состояние рабочего процесса компонента изменяется, состояние страницы также должно измениться
То, о чем я думал, было событием, запущенным на FinishActivityEventArgs, которое бы:
- Проверьте, является ли текущий элемент Компонентом
- Получить соответствующую страницу (GetUsingItems типа page)
- Проверьте, находится ли страница также в рабочем процессе
- Получить страницу в вопросе
- Получить WorkItem для страницы
- Завершить текущее действие и передать сведения о соответствующем действии
Я почти готов к большинству шагов, но у меня есть сомнения по поводу шага 5. Единственный способ получить WorkItems, который я пока вижу, - это использовать session.WorkflowManager.GetUserWorkItems (userWorkItemsFilter), но, вероятно, произойдет сбой, если страница не находится в рабочие элементы текущего пользователя, верно?
Какие-либо советы / указания?