ReadDataStream([Value: IIOStreamSys = Null]): IIOStreamSys;
Value - поток, в который будут помещены считанные данные. По умолчанию передается значение Null, при этом будет создан новый поток.
Метод ReadDataStream осуществляет чтение результата выполнения задачи и помещает этот результат в поток.
Данный метод допустимо использовать для задач, осуществляющих вычисление регламентных отчетов. Результатом выполнения таких задач является рассчитанный регламентный отчет, либо файл, в который экспортируется отчет после расчета. Формат файла задается в свойстве FormatTag задачи.
Для выполнения примера предполагается наличие в репозитории контейнера запланированных задач с идентификатором "TASK_CONTAINTER". Первая задача контейнера осуществляет расчет регламентного отчета. Уведомление об окончании выполнения приходит по электронной почте, в качестве приложения высылается рассчитанный отчет, экспортированный в формат MHT.
Sub Main;
Var
MB: IMetabase;
CrInfo: IMetabaseObjectCreateInfo;
MObj: IMetabaseObject;
Doc: IDocument;
Cont: IScheduledTasksContainer;
Tasks: IMetabaseObjectDescriptors;
Task: ICalculateReportScheduledTask;
Results: IScheduledTaskResults;
Result: IScheduledTaskResult;
Begin
MB := MetabaseClass.Active;
Cont := MB.ItemById("TASK_CONTAINTER").Bind As IScheduledTasksContainer;
Tasks := Cont.Tasks;
Task := Tasks.Item(0).Bind As ICalculateReportScheduledTask;
Results := Task.GetResults;
Result := Results.Item(Results.Count - 1);
If Result.Succeeded Then
CrInfo := MB.CreateCreateInfo;
CrInfo.ClassID := MetabaseObjectClass.KE_CLASS_DOCUMENT;
CrInfo.Id := "Result_ReportCalc";
CrInfo.Name := "Result_ReportCalc";
CrInfo.Parent := MB.Root;
MObj := MB.CreateObject(CrInfo).Edit;
Doc := MObj As IDocument;
Doc.LoadFromStream(Result.ReadDataStream As IIOStream);
Doc.FileName := "Result_ReportCalc.mht";
MObj.Save;
End If;
End Sub Main;
После выполнения примера будет получена история выполнения первой задачи контейнера запланированных задач. Если последнее выполнение прошло успешно, то в корневом каталоге репозитория будет создан новый документ. В данный документ будет загружен файл, содержащий экспортированный отчет, полученный после выполнения задачи.
См. также: