Для формирования списка адресатов по условию:
Установите переключатель «Динамический список адресатов», расположенный на вкладке «Результат» в диалоге настройки параметров задачи.
В поле «Модуль» укажите объект, содержащий реализацию функции для обработки списка адресатов.
В раскрывающемся списке «Функция» выберите функцию, предназначенную для обработки списка адресатов.
Примечание. В списке отображаются только функции с сигнатурой: Function <name>(<param>: IScheduledTask): IArrayList.
Для выполнения примера добавьте ссылки на системные сборки Metabase, Collection, Fore.
Public Function GetRecepients(Task: IScheduledTask):IArrayList;
Var
List: IArrayList;
Mb: IMetabase;
MS: IMetabaseSecurity;
SSS: ISecuritySubjects;
SS: ISecuritySubject;
Begin
Mb := Metabaseclass.Active;
MS := MB.Security;
SSS := MS.AllUsers;
// Пользователь платформы:
SS := SSS.Item(9);
Select Case (Task.State As Integer)
// Задача выполнена удачно:
Case 3:
List := New ArrayList.Create;
List.Add("user1@examle.com");
List.Add(MS.ResolveSid(SS.Sid));
// Задача выполнена с ошибкой:
Case 4:
List := New ArrayList.Create;
List.Add("user2@examle.com");
List.Add(MS.ResolveSid(SS.Sid));
End Select;
Return List;
End Function GetRecepients;
Созданный модуль укажите в поле «Модуль» на вкладке «Результат» в диалоге настройки параметров задачи. В поле «Функция» укажите «GetRecepients».
При выполнении задачи, для которой настроено уведомление по электронной почте с использованием динамического списка адресатов, будет отправлено уведомление. Адрес для отправки зависит от текущего состояния задачи.
См. также: