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;
При выполнении примера для процесса будет добавлен новый обработчик события, наступающего при запуске процесса. Обработчик будет отправлять электронное сообщение, содержащее два прикреплённых документы. Один документ создан на основе файла, второй - прикреплённый документ репозитория.
См. также: