IScheduledTaskProperties.UseDynamicMailList

Синтаксис

UseDynamicMailList: Boolean;

Описание

Свойство UseDynamicMailList определяет, будет ли динамически формироваться список адресатов для отправки результатов выполнения задачи.

Комментарии

Допустимые значения:

Пример

Для выполнения примера предполагается наличие в репозитории контейнера запланированных задач с идентификатором «TASK_CONTAINER». В контейнере должна быть создана какая-либо задача. Также в репозитории должен быть создан модуль с идентификатором «M_MAILLIST», в модуле реализована функция для формирования динамического списка адресатов «GetRecepients». Функция имеет примерно следующий синтаксис:

Синтаксис GetRecepients

Function GetRecepients(Task: IScheduledTask): IArrayList;
Var
    Mb: IMetabase;
    Result: IArrayList;
Begin
    Mb := Metabaseclass.Active;
    //Массив для списка адресатов
    Result := New ArrayList.Create;
    //Формирование списка в соответствии с состоянием задачи
    If Task.State = ScheduledTaskState.Failed Then
        //...
        //Добавление в Result адресатов, которые получат отчет о неудачном завершении задачи
        //...
    Elseif Task.State = ScheduledTaskState.Succeeded Then
        //...
        //Добавление в Result адресатов, которые получат отчет об успешном завершении задачи
        //...
    Else
        //...
        //Добавление в Result адресатов, которые получат отчет во всех других случаях
        //...       
    End If;
    Return Result;
End Function GetRecepients;

rh-droptext_end ?>

Sub UserProc;
Var
    MB: IMetabase;
    Cont: IScheduledTasksContainer;
    Task: IScheduledTask;
    Props: IScheduledTaskProperties;
Begin
    MB := MetabaseClass.Active;
    Cont := MB.ItemById("TASK_CONTAINER").Bind As IScheduledTasksContainer;
    Task := Cont.Tasks.Item(0).Edit As IScheduledTask;
    Props := Task.Properties;
    //Динамический список адресатов
    Props.SendMail := True;
    Props.UseDynamicMailList := True;
    Props.DynamicMailListModule := MB.ItemById("M_MAILLIST");
    Props.DynamicMailListMacro := "GetRecepients";
    Props.MailTargetType := ScheduledTaskMailTarget.Personal Or ScheduledTaskMailTarget.Work;
    (Task As IMetabaseObject).Save;
End Sub UserProc;

При выполнении примера для первой задачи в контейнере запланированных задач будут изменены параметры уведомления о завершении задачи: список адресатов будет формироваться динамически с помощью указанного макроса.

См. также:

IScheduledTaskProperties