Documents: IBProcessEmailDocuments;
Свойство Documents определяет коллекцию прикреплённых к сообщению документов.
Для выполнения примера в репозитории предполагается наличие процесса с идентификатором PROCESS. Для процесса настроено событие запуска, отправляющее сообщение с какими-либо прикреплёнными документами.
Добавьте ссылки на системные сборки: BPM, Metabase. Также добавьте ссылку на сборку, которая необходима для работы с процессами.
Sub UserProc;
Var
Mb: IMetabase;
MObj: IMetabaseObjectDescriptor;
Process: IBProcess;
EventCollection: IBProcessEventGroupCollection;
EMailEvent: IBProcessEventEmail;
Email: IBProcessEmail;
Docs: IBProcessEmailDocuments;
Doc: IBProcessEmailDocument;
i, c: Integer;
Begin
Mb := MetabaseClass.Active;
MObj := Mb.ItemById("PROCESS");
// Получение структуры процесса
Process := BProcessCollection.ByKey(MObj.Key);
// Получение коллекции групп событий у процесса
EventCollection := Process.Events;
EMailEvent := EventCollection.ItemByType(BProcessEventType.StartProcess).Item(0) As IBProcessEventEmail;
Email := EMailEvent.Email;
// Документы, прикреплённые к сообщению
Docs := Email.Documents;
c := Docs.Count;
Debug.WriteLine("Количество документов: " + c.ToString);
For i := 0 To c - 1 Do
Doc := Docs.Item(i);
Debug.WriteLine("Документ: " + Doc.Name + "( Ключ: " + Doc.Key.ToString + ')');
Debug.Indent;
Debug.WriteLine("Тип документа: " + Doc.DocType);
Debug.WriteLine("Документ в репозитории: " + Doc.Descriptor.Name + '(' + Doc.Descriptor.Id + ')');
Debug.Unindent;
End For;
End Sub UserProc;
При выполнении примера в консоль среды разработки будет выведена информация о документах, прикреплённых к сообщению.
См. также: