Переназначение всех задач с одного пользователя на другого
Иногда возникает необходимость переназначить все задачи с одного пользователя на другого, например при увольнении одного из сотрудников. В этой статье мы рассмотрим пример сценария, который позволяет массово переназначить задачи. Перед выполнением сценария учетную запись уволенного пользователя необходимо разблокировать.
Пример сценария с использованием PublicAPI
Примечание
Актуальная документация по PublicAPI доступна по ссылке.
Внимание!
Сценарий, указанный ниже, актуален для версий системы ELMA до 3.15.38 включительно.
Пространство имен:
1 | using EleWise.ELMA.API; |
Текст сценария:
1 2 3 4 5 | var tasks = PublicAPI.Portal.TaskBase.Filter().Executor(context.Polzovatel).Find(); //создаем список задач пользователя foreach (var task in tasks) { task.Executor = context.Polzovatelnew; // закрепляем задачи за новым пользователем } |
Пример сценария без использования PublicAPI
Пространства имен:
1 2 3 | using EleWise.ELMA.Model.Services; using EleWise.ELMA.Tasks.Models; using EleWise.ELMA.Tasks.Managers; |
Текст сценария:
1 2 3 4 | var zdch=InterfaceActivator.Create<TaskBaseFilter>(); //создаем фильтр задач zdch.Executor=context.Polzovatel; //задаем фильтрацию по пользователю var tasks=TaskBaseManager.Instance.Find(zdch, null ).ToList(); //создаем список задач пользователя tasks.ForEach(odzdch=>odzdch.Executor=context.Polzovatelnew); //закрепляем задачи за новым пользователем |
Этот сценарий достаточно выполнить один раз. Либо в режиме эмуляции сценариев без отката, либо в бизнес-процессе, запустив его один раз.
Подобным образом можно перенести только задачи созданные в веб-части (разовые поручения) для этого используйте TaskFilter и TaskManager, либо возможности используя LeadFilter и LeadManager.