Специальный сервис логики этапа согласования
Пример представляет демонстрационный вариант специального сервиса логики этапа согласования.
Сервис подменяет вычисление согласующих и на примере дополнения содержания задания показывает вариант настройки действий после создания задания.
Перечень необходимых инструментов:
-
Visual Studio 2017/2019
namespace CustomStageService
{
public class CustomStageService : ApprovalStageService (1)
{
public override IEnumerable<ApprovalStageApprover> GetStageApprovers(ApprovalStage approvalStage, Document document) (2)
{
List<ApprovalStageApprover> approvers = new List<ApprovalStageApprover>();
IStaffService staffService = Context.GetService<IStaffService>();
StaffEmployee employee = staffService.FindEmpoyeeByAccountName(@"Test\TestEmployee");
approvers.Add(CreateApprover(employee)); (3)
return approvers;
}
protected override void OnTaskCreated(ApprovalStage approvalStage, ApprovalPath approvalPath, Reconcile reconcileCard, Task task) (4)
{
task.MainInfo.Content += Environment.NewLine + "Тест расширения"; (5)
}
}
}
1 | Пример переопределения сервиса этапа. |
2 | Переопределяем вычисления согласующих для этапа.
Параметры:
|
3 | CreateApprover — штатный метод ApprovalStageService создающий запись согласующего из сотрудника. |
4 | Дополняем создание задания согласования.
Параметры:
|
5 | Дополняем содержание задания. |
С полным кодом примера для Специального сервиса логики этапа согласования можно ознакомиться в репозитории примеров Web-клиента на GitHub.