IBProcessEmailDocuments.Add

Синтаксис

Add(Document: IBProcessEmailDocument);

Параметры

Document. Документ, который необходимо добавить в коллекцию.

Описание

Метод Add добавляет указанный документ в конец коллекции.

Комментарии

Для инициализации нового документа используйте класс BProcessEmailDocument.

Пример

Для выполнения примера в репозитории предполагается наличие процесса с идентификатором PROCESS и документа с идентификатором F_HELP. В файловой системе имеется файл D:\Work\Report.xlsx.

Добавьте ссылки на системные сборки: BPM, Metabase. Также добавьте ссылку на сборку, которая необходима для работы с процессами.

Sub UserProc5;
Var
    Mb: IMetabase;
    MObj: IMetabaseObjectDescriptor;
    Process: IBProcess;
    EventCollection: IBProcessEventGroupCollection;
    EventGroup: IBProcessEventGroup;
    EmailEvent: IBProcessEventEmail;
    Email: IBProcessEmail;
    Docs: IBProcessEmailDocuments;
    Doc: IBProcessEmailDocument;
Begin
    Mb := MetabaseClass.Active;
    MObj := Mb.ItemById("PROCESS");
    // Получение структуры процесса
    Process := BProcessCollection.EditByKey(MObj.Key);
    // Получение коллекции групп событий у процесса
    EventCollection := Process.Events;
    // Получени группы событий, наступающих при старте процесса
    EventGroup := EventCollection.ItemByType(BProcessEventType.StartProcess);
    // Создание и настройка нового события
    EmailEvent := New BProcessEventEmail.Create(BProcessEventType.StartProcess, "EmailEvent");
    EventGroup.Add(EmailEvent);
    Email := EmailEvent.Email;
    Email.Recipient := "first@mail.ru";
    Email.Subject := "Старт выполнения процесса";
    Email.IsBodyHtml := True;
    Email.Message := "Процесс запущен. Документы во вложении.";
    // Документы, прикреплённые к сообщению
    Docs := Email.Documents;
    Doc := New BProcessEmailDocument.CreateFromFile("D:\Work\Report.xlsx", Process);
    If Doc.IsPermanent Then
        Doc.SaveToPP;
    End If;
    Docs.Add(Doc);
    Doc := New BProcessEmailDocument.Create(Mb.ItemById("F_HELP"));
    Docs.Add(Doc);
    // Сохранение изменений
    If EmailEvent.IsValid Then
        Process.Save;
    End If;
End Sub UserProc;

При выполнении примера для процесса будет добавлен новый обработчик события, наступающего при запуске процесса. Обработчик будет отправлять электронное сообщение, содержащее два прикреплённых документы. Один документ создан на основе файла, второй - прикреплённый документ репозитория.

См. также:

IBProcessEmailDocuments