Доброго всем дня. Возникла задача, необходимо чтобы пользователь мог наблюдать за задачами и задавать вопросы тому, на ком сейчас задача.
Единственное что приходит в голову, добавить его , как соисполнителя к задаче или как наблюдателя.
Ранее я поднимал тему, как добавить наблюдателя к конкретной задаче (Алексей Пушкарев) дал рекомендации.
И так я пишу в сценарии, в самом начале процесса
Код:
public partial class P_MajorRepairs_Scripts : EleWise.ELMA.Workflow.Scripts.ProcessScriptBase<Context>
{
public override void OnTaskCreate (ITaskBase task, P_MajorRepairs context)
{
IWorkflowTaskBase workflowTask = task as IWorkflowTaskBase;
if (workflowTask != null && workflowTask.WorkflowBookmark != null && workflowTask.WorkflowBookmark.ElementUid != null && workflowTask.WorkflowBookmark.ElementUid.HasValue && workflowTask.WorkflowBookmark.ElementUid.Value == new Guid ("ffd8da71-eb01-40db-8fe9-6c3cf11b4776"))
{
//добавляю пользователя lshekunova в наблюдатели задачи ffd8da71-eb01-40db-8fe9-6c3cf11b4776
PublicAPI.Services.WatchEntity.CreateWatchByUser(workflowTask.TypeUid, workflowTask.Id, (User)UserManager.Instance.Find (u => u.UserName == "lshekunova").FirstOrDefault ());
//добавляю пользователя lshekunova в соисполнители задачи ffd8da71-eb01-40db-8fe9-6c3cf11b4776
var ElmaInformTo = EntityManager<User>.Instance.Find(u => u.UserName == "lshekunova").FirstOrDefault ();
if(ElmaInformTo != null)
{
workflowTask.InformTo.Add(ElmaInformTo);
}
}
}
Код пока не имею возможности проверить. Корректно ли я написал? И второй вопрос, если пользователь добавлен как соисполнитель, может ли он задать вопрос исполнителю, через стандартный функционал Элмы?