Получение заместителя сотрудника

Приведенный далее скрипт используется для получения первого активного постоянного заместителя с правом исполнения.

Сценарий работает со следующими переменными процесса:
  • UserDV — сотрудник, для которого определяется заместитель.

  • Deputy — переменная будет использована для сохранения заместителя.

using System;
using System.Xml; (1)

using DocsVision.Workflow.Objects;
using DocsVision.Workflow.Runtime;
using DocsVision.Workflow.Gates;
using DocsVision.Platform.HelperAPI; (2)

namespace DVScriptHost
{
 class DVScript
 {
  public void Execute(DocsVision.Workflow.Runtime.ProcessInfo process, PassState passInfo)
  {
   try
   {

    ProcessVariable oUserDV = process.GetVariableByName("UserDV");
    ProcessVariable oDeputy = process.GetVariableByName("Deputy"); (3)

    DVPrincipal dvUser = oUserDV.Value as DVPrincipal; (4)

    DVPrincipal dvDeputy = dvUser.ActiveDeputy; (5)

    oDeputy.Value = dvDeputy; (6)
   } catch (Exception ex)
   {

    process.LogMessage("Ошибка выполнения скрипта:" + ex.Message); (7)
   }
  }
 }
}
1 Подключение системных библиотек.
2 Подключение библиотек СУБП.
3 Получение переменных процесса.
4 Приведение к типу "Сотрудник DV".
5 Получение первого (по списку) активного постоянного заместителя с правом исполнения.
6 Сохранение найденного значения в переменную.
7 Добавление сообщения об ошибке в журнал процесса.

Свойство ActiveDeputy сущности типа DVPrincipal возвращает первого активного постоянного заместителя с правом исполнения, которого также можно получить вызвав метод GetActiveDeputy(true, false,false,true) объекта типа DVPrincipal. Установив значение соответствующего параметра метода GetActiveDeputy(bool Performing, bool Control, bool Signature, bool PermanentDeputy) в true можно получить заместителя, обладающего необходимым набором прав:

  • Performing — с правом исполнения.

  • Control — с правом ответственного исполнения.

  • Signature — с правом подписи.

  • PermanentDeputy — постоянный заместитель.

Если все параметры в значении false, будет возвращен первый активный заместитель с любыми правами.