<< Click to Display Table of Contents >> Разработка > Примеры разработки > Разработка модуля и типа документа > Шаг 7. Добавление условия согласования Реализация логики вычисления условия |
Созданное условие должно проверять, соответствует ли вид закупки, указанный в документе, виду закупки в условии. Проверка происходит при выборе правила согласования в задаче на согласование по регламенту и при прохождении ее этапов.
В перекрытом справочнике ContractCondition переопределите разделяемую функцию CheckCondition(). Функция возвращает структуру, которая включает в себя:
•результат вычисления условия:
true – условие верно.
false – условие неверно.
null – не удалось вычислить значение, например, не заполнено одно из свойств или используется не тот тип документа.
•строку с сообщением, в котором указывается причина, почему не вычислено условие.
Примечание. Строка с сообщением необходима, только если результат вычисления условия – null.
public override Sungero.Docflow.Structures.ConditionBase.ConditionResult CheckCondition(Sungero.Docflow.IOfficialDocument document, Sungero.Docflow.IApprovalTask task)
{
if (_obj.ConditionType == ConditionType.PurchaseKind)
{
var contract = Purchases.PurchaseContracts.As(document);
if (contract != null)
return
Sungero.Docflow.Structures.ConditionBase.ConditionResult.
Create(contract.Purchase.PurchaseKind == _obj.PurchaseKind,
string.Empty);
else
return Sungero.Docflow.Structures.ConditionBase.ConditionResult.
Create(null, "Условие не может быть вычислено. Отправляемый документ не того вида.");
}
return base.CheckCondition(document, task);
}
© Компания Directum, 2024 |