<< Click to Display Table of Contents >> Объектная модель > Базовое решение Directum RX > Docflow – документооборот > Настройка согласования по регламенту > ApprovalRuleBase – правило согласования Серверные функции типа сущности ApprovalRuleBase |
Имя функции |
Модификатор |
Атрибут |
Описание |
static |
– |
Вставить условие в правило согласования |
|
static |
– |
Добавить исполнителей в блок этапа |
|
static |
[Remote] |
Проверить, хватает ли регистратору прав для регистрации видов документов и есть ли задачи с использованием правила |
|
static |
[Remote] |
Получить действующие этапы согласования с выполнением сценария |
|
static |
[Remote] |
Получить действующие этапы согласования |
|
static |
– |
Проверить два условия на непротиворечивость |
|
virtual |
– |
Проверить возможность использования ролей в маршруте |
|
virtual |
– |
Проверка возможности существования маршрута правила |
|
virtual |
– |
Проверить валидность этапов |
|
static |
– |
Проверить права регистратора на виды документа в правиле |
|
static |
[Public] |
Сформировать тему задания\уведомления |
|
virtual |
– |
Получить роли адресатов |
|
static |
[Remote] |
Получить все версии правила |
|
– |
– |
Получить список всех возможных последовательностей этапов |
|
static |
[Public] |
Получить черновики или действующие правила согласования по виду документа |
|
static |
[Public] |
Получить согласующих по параметрам |
|
static |
[Public] |
Получить доступные правила по документу |
|
static |
[Public] |
Получить доступные правила по параметрам |
|
virtual |
[Remote] |
Определить базовые этапы |
|
static |
– |
Получить исполнителей блока |
|
GetConditionsInRoute + перегрузки |
– |
– |
Получить все условия в маршруте |
virtual |
[Public] |
Получить дублирующие правила |
|
static |
[Public] |
Получить сотрудника из реципиента |
|
virtual |
– |
Получить сообщение об ошибке валидации роли согласования в маршруте |
|
static |
– |
Получить последний id задания, с результатом ForReapproving для задачи |
|
– |
[Remote] |
Получить следующий этап в правиле |
|
virtual |
[Remote] |
Получить новую версию правила согласования |
|
virtual |
[Remote] |
Создать новую версию правила |
|
static |
[Remote] |
Найти предыдущую действующую версию правила |
|
virtual |
– |
Получить роли, которые не могут быть использованы без соответствующих этапов |
|
static |
[Public] |
Получить правило по параметрам |
|
– |
– |
Получить все условия и их типы по правилу согласования |
|
static |
[Public] |
Получить подходящие правила по параметрам |
|
virtual |
– |
Получить роли подписантов |
|
virtual |
– |
Получить права подписи без ограничения по документопотоку |
|
virtual |
– |
Получить заголовок блока этапа |
|
virtual |
[Remote] |
Определить этапы |
|
GetStagesStateView + перегрузки |
static |
[Public] |
Построить регламент |
virtual |
– |
Получить этапы с проектными ролями, находящиеся в ветках правила для документа, в котором нет проекта |
|
static |
– |
Получить информацию по состоянию этапа |
|
virtual |
– |
Получить роли согласования, допустимые в качестве ответственных за доработку |
|
– |
[Remote] |
Найти задачи в работе по данному правилу |
|
– |
– |
Проверить, есть ли задачи в работе по правилу.Права игнорируются |
|
– |
– |
Проверить версию правила на уникальность |
|
virtual |
– |
Заполнить блок "Выполнение сценария" |
|
static |
– |
Установить иконку |
Вставить условие в правило согласования.
Синтаксис
public static void AddConditionToRule(IApprovalRuleBase rule, IConditionBase condition, int stageNumberBeforeCondition, int targetStageTrueCase, int targetStageFalseCase)
Параметры
rule – Правило согласования;
condition – Условие;
stageNumberBeforeCondition – Этап, после которого нужно вставить условие;
targetStageTrueCase – Этап, в который ведет ветка True;
targetStageFalseCase – Этап, в который ведет ветка False.
Добавить исполнителей в блок этапа.
Синтаксис
public static void AddPerformersToBlock(Sungero.Core.StateBlock block, List<Sungero.CoreEntities.IRecipient> performers, string emptyPerformersLabel)
Параметры
block – Блок - куда добавить;
performers – Исполнители;
emptyPerformersLabel – Строка, выводимая, если исполнителей в этапе нет.
CanRegisterAndHasTaskInProcess
Проверить, хватает ли регистратору прав для регистрации видов документов и есть ли задачи с использованием правила.
Синтаксис
[Remote(IsPure = true)]
public static int CanRegisterAndHasTaskInProcess(IApprovalRuleBase rule)
Параметры
rule – Правило.
Возвращаемое значение
int – CanRegister и HasTaskInProcess.
Получить действующие этапы согласования с выполнением сценария.
Синтаксис
[Remote]
public static IQueryable<IApprovalFunctionStageBase> ChartSelectFunctionStageBase()
Возвращаемое значение
IQueryable<IApprovalFunctionStageBase> – Этапы согласования с выполнением сценария.
Получить действующие этапы согласования.
Синтаксис
[Remote]
public static IQueryable<IApprovalStage> ChartSelectStage(Enumeration? stageType)
Параметры
stageType – Тип этапа, который нужно получить.
Возвращаемое значение
IQueryable<IApprovalStage> – Этапы согласования.
Проверить два условия на непротиворечивость.
Синтаксис
protected static bool? CheckConsistencyConditions(IEnumerable<IEntity> conditionTypeItems, IEnumerable<IEntity> previousConditionTypeItems, Structures.ApprovalRuleBase.RouteStep condition, Structures.ApprovalRuleBase.RouteStep previousCondition)
Параметры
conditionTypeItems – Дочерняя коллекция проверяемого условия;
previousConditionTypeItems – Дочерняя коллекция предыдущего условия;
condition – Проверяемое условие;
previousCondition – Предыдущее условие.
Возвращаемое значение
bool? – True, если гарантированно достижимо, False, если гарантированно недостижимо, Null, если требуется следующий цикл проверки.
Проверить возможность использования ролей в маршруте.
Синтаксис
public virtual List<Structures.ApprovalRuleBase.StagesIncorrectRoles> CheckImpossibleRoles(List<int> route, bool showErrors, List<Enumeration?> verifiedRoles)
Параметры
route – Маршрут;
showErrors – Выводить хинты или просто проверить валидность;
verifiedRoles – Список проверяемых типов ролей. Если пустой - проверяются все роли, для которых есть ограничение.
Возвращаемое значение
List<Structures.ApprovalRuleBase.StagesIncorrectRoles> – Возможность использования проверяемых типов ролей.
Проверка возможности существования маршрута правила.
Синтаксис
public virtual bool CheckRoutePossibility(List<Structures.ApprovalRuleBase.RouteStep> route, List<Structures.ApprovalRuleBase.ConditionRouteStep> ruleConditions, Structures.ApprovalRuleBase.RouteStep conditionStep)
Параметры
route – Маршрут;
ruleConditions – Условия;
conditionStep – Этап.
Возвращаемое значение
bool – Возможность существования.
Проверить валидность этапов.
Синтаксис
public virtual void CheckRuleStages(Structures.ApprovalRuleBase.StagesVariants stagesVariants, Sungero.Domain.BeforeSaveEventArgs e)
Параметры
stagesVariants – Список всех возможных последовательностей блоков;
e – Аргументы события До сохранения.
ClerkCanRegisterAllDocumentKinds
Проверить права регистратора на виды документа в правиле.
True, если этапа регистрации в правиле нет.
Синтаксис
public static bool ClerkCanRegisterAllDocumentKinds(IApprovalRuleBase rule)
Параметры
rule – Правило.
Возвращаемое значение
bool – True, если нет проблем с регистрацией выбранных видов документов.
Сформировать тему задания\уведомления.
Синтаксис
[Public]
public static string FormatStageSubject(IApprovalStage stage, Content.IElectronicDocument document)
Параметры
stage – Этап с темой;
document – Документ.
Возвращаемое значение
string – Строка вида 'Тема этапа: Название документа'.
Получить роли адресатов.
Синтаксис
public virtual System.Collections.Generic.List<Enumeration?> GetAddresseesRoles()
Возвращаемое значение
System.Collections.Generic.List<Enumeration?> – Список ролей.
Получить все версии правила.
Синтаксис
[Remote]
public static List<IApprovalRuleBase> GetAllRuleVersions(IApprovalRuleBase rule)
Параметры
rule – Правило согласования.
Возвращаемое значение
List<IApprovalRuleBase> – Список версий правила согласования, который включает и текущее правило (если оно уже было сохранено в БД).
Получить список всех возможных последовательностей этапов.
Синтаксис
public Structures.ApprovalRuleBase.StagesVariants GetAllStagesVariants()
Возвращаемое значение
Structures.ApprovalRuleBase.StagesVariants – Список всех возможных последовательностей блоков (список последовательностей состоит из номеров этапов или условий).Список номеров недостижимых блоков.
GetApprovalRulesByDocumentKind
Получить черновики или действующие правила согласования по виду документа.
Синтаксис
[Public]
public static IQueryable<IApprovalRuleBase> GetApprovalRulesByDocumentKind(IDocumentKind documentKind)
Параметры
documentKind – Вид документа.
Возвращаемое значение
IQueryable<IApprovalRuleBase> – Правила согласования.
Получить согласующих по параметрам.
Синтаксис
[Public]
public static string GetApproversByRule(IApprovalRuleBase rule, List<int> transitions)
Параметры
rule – Правило;
transitions – Переходы.
Возвращаемое значение
string – Согласующие.
Получить доступные правила по документу.
Синтаксис
[Remote(IsPure = true), Public]
public static IQueryable<IApprovalRuleBase> GetAvailableRulesByDocument(Sungero.Docflow.IOfficialDocument document)
Параметры
document – Документ для подбора правила.
Возвращаемое значение
IQueryable<IApprovalRuleBase> – Все правила, которые подходят к документу.
Получить доступные правила по параметрам.
Синтаксис
[Public]
public static IQueryable<IApprovalRuleBase> GetAvailableRulesByParams(Enumeration? documentFlow, IBusinessUnit businessUnit, IDocumentKind documentKind, IDepartment department, IDocumentGroupBase documentGroup)
Параметры
documentFlow – Документопоток;
businessUnit – НОР;
documentKind – Вид документа;
department – Подразделение;
documentGroup – Группа документов.
Возвращаемое значение
IQueryable<IApprovalRuleBase> – Доступные по параметрам правила.
Определить базовые этапы.
Синтаксис
[Remote(PackResultEntityEagerly = true, IsPure= true)]
public virtual Structures.Module.DefinedApprovalBaseStages GetBaseStages(IOfficialDocument document, IApprovalTask task)
Параметры
document – Документ;
task – Задача на согласование.
Возвращаемое значение
Structures.Module.DefinedApprovalBaseStages – Отсортированный список базовых этапов, подходящих по условиям.
Получить исполнителей блока.
Синтаксис
public static Structures.ApprovalRuleBase.BlockPerformers GetBlockPerformers(IApprovalTask task, Sungero.Docflow.IApprovalStage stage, Sungero.Company.IEmployee signatory, Sungero.Company.IEmployee addressee, List<Sungero.CoreEntities.IRecipient> additionalApprovers)
Параметры
task – Задача;
stage – Этап;
signatory – Подписывающий;
addressee – Адресат;
additionalApprovers – Доп. согласующие.
Возвращаемое значение
Structures.ApprovalRuleBase.BlockPerformers – Структура из коллекции исполнителей, соответствующих исполнителям реципиентов и текстом, на случай пустой коллекции.
Получить все условия в маршруте.
Перегрузки
Имя функции |
Описание |
GetConditionsInRoute (List<Structures.ApprovalRuleBase.RouteStep> route, Enumeration conditionType) |
Получить все условия в маршруте |
GetConditionsInRoute (List<Structures.ApprovalRuleBase.RouteStep> route, Enumeration? conditionType) |
Получить все условия по типу в данном маршруте |
GetConditionsInRoute (List<Structures.ApprovalRuleBase.RouteStep> route, Enumeration conditionType)
Получить все условия в маршруте.
Синтаксис
public List<Structures.ApprovalRuleBase.RouteStep> GetConditionsInRoute(List<Structures.ApprovalRuleBase.RouteStep> route, Enumeration conditionType)
Параметры
route – Маршрут;
conditionType – Тип условия.
Возвращаемое значение
List<Structures.ApprovalRuleBase.RouteStep> – Условия.
GetConditionsInRoute (List<Structures.ApprovalRuleBase.RouteStep> route, Enumeration? conditionType)
Получить все условия по типу в данном маршруте.
Синтаксис
protected List<Structures.ApprovalRuleBase.RouteStep> GetConditionsInRoute(List<Structures.ApprovalRuleBase.RouteStep> route, Enumeration? conditionType)
Параметры
route – Маршрут;
conditionType – Тип условия.
Возвращаемое значение
List<Structures.ApprovalRuleBase.RouteStep> – Условия.
Получить дублирующие правила.
Синтаксис
[Remote(IsPure = true), Public]
public virtual List<IApprovalRuleBase> GetDoubleRules()
Возвращаемое значение
List<IApprovalRuleBase> – Правила, конфликтующие с текущим.
Получить сотрудника из реципиента.
Синтаксис
[Public, Remote(IsPure = true)]
public static IEmployee GetEmployeeByAssignee(IRecipient assignee)
Параметры
assignee – Реципиент.
Возвращаемое значение
IEmployee – Сотрудник.
Получить сообщение об ошибке валидации роли согласования в маршруте.
Синтаксис
public virtual string GetErrorMessageForRoleInRoute(Enumeration? roleType, System.Collections.Generic.IEnumerable<Sungero.Docflow.IApprovalRuleBaseStages> routeStages)
Параметры
roleType – Тип роли согласования;
routeStages – Этапы маршрута.
Возвращаемое значение
string – Сообщение об ошибке, пустая строка - если ошибки нет.
GetForReapprovingAssignmentResultId
Получить последний id задания, с результатом ForReapproving для задачи.
Синтаксис
public static long GetForReapprovingAssignmentResultId(long taskId)
Параметры
taskId – Id задачи.
Возвращаемое значение
long – Id задания.
Получить следующий этап в правиле.
Синтаксис
[Remote]
public Structures.Module.DefinedApprovalStageLite GetNextStage(IOfficialDocument document, Structures.Module.DefinedApprovalStageLite currentStage, IApprovalTask task)
Параметры
document – Документ;
currentStage – Текущий этап;
task – Задача на согласование.
Возвращаемое значение
Structures.Module.DefinedApprovalStageLite – Следующий этап.
Получить новую версию правила согласования.
Синтаксис
[Remote]
public virtual IApprovalRuleBase GetNextVersion()
Возвращаемое значение
IApprovalRuleBase – Правило согласования.
Создать новую версию правила.
Синтаксис
[Remote]
public virtual IApprovalRuleBase GetOrCreateNextVersion()
Возвращаемое значение
IApprovalRuleBase – Правило согласования.
Найти предыдущую действующую версию правила.
Синтаксис
[Remote]
public static IApprovalRuleBase GetPreviousActiveRule(IApprovalRuleBase rule)
Параметры
rule – Правило.
Возвращаемое значение
IApprovalRuleBase – Предыдущая действующая версия правила или null.
Получить роли, которые не могут быть использованы без соответствующих этапов.
Синтаксис
public virtual System.Collections.Generic.List<Enumeration?> GetRolesForCheck()
Возвращаемое значение
System.Collections.Generic.List<Enumeration?> – Список ролей.
Получить правило по параметрам.
Синтаксис
[Public]
public static IApprovalRuleBase GetRuleByParamsIds(List<IApprovalRuleBase> activeRules, Enumeration? documentFlow, long businessUnitId, long documentKindId, long departmentId, long documentGroupId)
Параметры
activeRules – Активные правила;
documentFlow – Документопоток;
businessUnitId – НОР;
documentKindId – Вид документа;
departmentId – Подразделение;
documentGroupId – Группа документов.
Возвращаемое значение
IApprovalRuleBase – Правило, которое имеет наивысший приоритет.
Получить все условия и их типы по правилу согласования.
Синтаксис
protected List<Structures.ApprovalRuleBase.ConditionRouteStep> GetRuleConditionsWithTypes()
Возвращаемое значение
List<Structures.ApprovalRuleBase.ConditionRouteStep> – Список условий и их типов.
Получить подходящие правила по параметрам.
Синтаксис
[Public]
public static IQueryable<IApprovalRuleBase> GetRulesByParamsIds(List<IApprovalRuleBase> activeRules, Enumeration? documentFlow, long businessUnitId, long documentKindId, long departmentId, long documentGroupId)
Параметры
activeRules – Активные правила;
documentFlow – Документопоток;
businessUnitId – НОР;
documentKindId – Вид документа;
departmentId – Подразделение;
documentGroupId – Группа документов.
Возвращаемое значение
IQueryable<IApprovalRuleBase> – Подходящие правила.
Получить роли подписантов.
Синтаксис
public virtual System.Collections.Generic.List<Enumeration?> GetSignatoriesRoles()
Возвращаемое значение
System.Collections.Generic.List<Enumeration?> – Список ролей.
GetSignatureSettingWithoutDocumentFlowFilter
Получить права подписи без ограничения по документопотоку.
Синтаксис
public virtual IQueryable<ISignatureSetting> GetSignatureSettingWithoutDocumentFlowFilter(IBusinessUnit businessUnit, IDocumentKind kind, double? minAmount, List<Company.IDepartment> departments)
Параметры
businessUnit – НОР;
kind – Вид документа;
minAmount – Ограничение по сумме;
departments – Подразделения.
Возвращаемое значение
IQueryable<ISignatureSetting> – Права подписи.
Получить заголовок блока этапа.
Синтаксис
public virtual string GetStageBlockHeader(IApprovalStage stage)
Параметры
stage – Этап.
Возвращаемое значение
string – Заголовок.
Определить этапы.
Синтаксис
[Remote(PackResultEntityEagerly = true, IsPure= true)]
public virtual Structures.Module.DefinedApprovalStages GetStages(IOfficialDocument document, IApprovalTask task)
Параметры
document – Документ;
task – Задача на согласование.
Возвращаемое значение
Structures.Module.DefinedApprovalStages – Отсортированный список этапов, подходящих по условиям.
Построить регламент.
Перегрузки
Имя функции |
Описание |
Построить регламент |
|
Построить регламент |
|
Построить регламент |
|
Построить регламент |
GetStagesStateView (IApprovalTask task, List<Sungero.CoreEntities.IRecipient> additionalApprovers, Sungero.Company.IEmployee signatory, Sungero.Company.IEmployee addressee, IMailDeliveryMethod deliveryMethod, ExchangeCore.IExchangeService exchangeService)
Построить регламент.
Синтаксис
[Public]
public static Sungero.Core.StateView GetStagesStateView(IApprovalTask task, List<Sungero.CoreEntities.IRecipient> additionalApprovers, Sungero.Company.IEmployee signatory, Sungero.Company.IEmployee addressee, IMailDeliveryMethod deliveryMethod, ExchangeCore.IExchangeService exchangeService)
Параметры
task – Задача согласования;
additionalApprovers – Доп. согласующие;
signatory – Подписывающий;
addressee – Адресат;
deliveryMethod – Способ доставки;
exchangeService – Сервис обмена.
Возвращаемое значение
Sungero.Core.StateView – Регламент.
GetStagesStateView (IApprovalTask task, List<Sungero.CoreEntities.IRecipient> additionalApprovers, Sungero.Company.IEmployee signatory, Sungero.Company.IEmployee addressee, IMailDeliveryMethod deliveryMethod, ExchangeCore.IExchangeService exchangeService, bool withApprovalRule)
Построить регламент.
Синтаксис
[Public]
public static Sungero.Core.StateView GetStagesStateView(IApprovalTask task, List<Sungero.CoreEntities.IRecipient> additionalApprovers, Sungero.Company.IEmployee signatory, Sungero.Company.IEmployee addressee, IMailDeliveryMethod deliveryMethod, ExchangeCore.IExchangeService exchangeService, bool withApprovalRule)
Параметры
task – Задача согласования;
additionalApprovers – Доп. согласующие;
signatory – Подписывающий;
addressee – Адресат;
deliveryMethod – Способ доставки;
exchangeService – Сервис обмена;
withApprovalRule – Надо ли отображать регламент и ожидаемый срок.
Возвращаемое значение
Sungero.Core.StateView – Регламент.
GetStagesStateView (Workflow.IAssignment assignment)
Построить регламент.
Синтаксис
[Public]
public static Sungero.Core.StateView GetStagesStateView(Workflow.IAssignment assignment)
Параметры
assignment – Задание, по которому нужен регламент.
Возвращаемое значение
Sungero.Core.StateView – Регламент.
GetStagesStateView (Workflow.INotice assignment)
Построить регламент.
Синтаксис
[Public]
public static Sungero.Core.StateView GetStagesStateView(Workflow.INotice assignment)
Параметры
assignment – Задание, по которому нужен регламент.
Возвращаемое значение
Sungero.Core.StateView – Регламент.
GetStagesWithProjectRolesUnderNonProjectBranches
Получить этапы с проектными ролями, находящиеся в ветках правила для документа, в котором нет проекта.
Синтаксис
public virtual System.Collections.Generic.List<Structures.ApprovalRuleBase.StageWithUnsupportedRole> GetStagesWithProjectRolesUnderNonProjectBranches(List<int> route)
Параметры
route – Список номеров этапов.
Возвращаемое значение
System.Collections.Generic.List<Structures.ApprovalRuleBase.StageWithUnsupportedRole> – Список этапов с проектными ролями, находящихся в ветках для документа без проекта.
Получить информацию по состоянию этапа.
Синтаксис
public static Structures.ApprovalRuleBase.StageStatusInfo GetStatusInfo(IApprovalTask task, Structures.Module.DefinedApprovalBaseStageLite ruleStage, List<Structures.Module.DefinedApprovalBaseStageLite> stages)
Параметры
task – Задача;
ruleStage – Определяемый этап;
stages – Этапы.
Возвращаемое значение
Structures.ApprovalRuleBase.StageStatusInfo – Информация о состоянии этапа.
GetSupportedApprovalRolesForRework
Получить роли согласования, допустимые в качестве ответственных за доработку.
Синтаксис
public virtual List<IApprovalRoleBase> GetSupportedApprovalRolesForRework()
Возвращаемое значение
List<IApprovalRoleBase> – Список ролей согласования.
Найти задачи в работе по данному правилу.
Синтаксис
[Remote(IsPure = true)]
public IQueryable<IApprovalTask> GetTasksInProcess()
Возвращаемое значение
IQueryable<IApprovalTask> – Задачи в работе.
Проверить, есть ли задачи в работе по правилу.Права игнорируются.
Синтаксис
public bool HasTasksInProcess()
Возвращаемое значение
bool – Есть ли задачи в работе.
Проверить версию правила на уникальность.
Синтаксис
public bool IsVersionUnique()
Возвращаемое значение
bool – True - уникальна, False - не уникальна.
Заполнить блок "Выполнение сценария".
Синтаксис
public virtual void SetFunctionBlockProperties(Sungero.Core.StateBlock block, IApprovalTask task, Docflow.Structures.Module.DefinedApprovalBaseStageLite baseStageLite, Docflow.Structures.ApprovalRuleBase.StageStatusInfo statusInfo, int stageNumber)
Параметры
block – Блок;
task – Задача на согласование по регламенту;
baseStageLite – Определяемый этап;
statusInfo – Информация о состоянии этапа;
stageNumber – Номер этапа.
Установить иконку.
Синтаксис
public static void SetIcon(Enumeration? stageType, Sungero.Core.StateBlock block)
Параметры
stageType – Тип этапа;
block – Блок.
© Компания Directum, 2024 |