AutoPeriod: IRubricatorAutoPeriod;
AutoPeriod: Prognoz.Platform.Interop.Cubes.IRubricatorAutoPeriod;
Свойство AutoPeriod возвращает параметры периода экспорта временных рядов.
По умолчанию начало/окончание периода экспорта совпадает с началом/окончанием данных.
Если период экспорта задан относительно даты начала или окончания данных, то границы данных определяются исходя из значения свойства IExportRequestParams.AutoPeriod:
CubeLoadClearMode.Default_. Границы данных определяются непустым значениям для атрибута наблюдения «VL»;
CubeLoadClearMode.MetadataOnly. Границы данных определяются по непустым атрибутам уровня наблюдения;
CubeLoadClearMode.DataOnly. Границы данных определяются по непустым значениям для точки;
CubeLoadClearMode.DataAndMetadata. Границы данных определяются по непустым атрибутам уровня наблюдения или значению точки.
Для выполнения примера предполагается наличие базы данных временных рядов с идентификатором «FC_AUTO», содержащей объект экспорта с идентификатором «OBJ_EXPORT». Добавьте ссылки на системные сборки «Metabase», «Cubes».
Sub UserProc;
Var
MB: IMetabase;
RubKey: Integer;
Obj: IMetabaseObject;
ExportRequestDef: IExportRequestDefinition;
ExpParams: IExportRequestParams;
ExpPeriod: IRubricatorAutoPeriod;
ExpPeriodDate: IRubricatorAutoPeriodDate;
ExportRequestInst: IExportRequestInstance;
Begin
// Получаем объект экспорта
MB := MetabaseClass.Active;
RubKey := MB.GetObjectKeyById("FC_AUTO");
Obj := MB.ItemByIdNamespace("OBJ_EXPORT", RubKey).Edit;
ExportRequestDef := Obj As IExportRequestDefinition;
// Редактируем параметры экспорта
ExpParams := ExportRequestDef.Exporter;
ExpPeriod := ExpParams.AutoPeriod;
ExpPeriodDate := ExpPeriod.Start;
ExpPeriodDate.AutoDateType := RubricatorAutoDateType.Exact;
ExpPeriodDate.ExactDate := DateTime.Parse("01.01.2000");
ExpPeriodDate := ExpPeriod.End_;
ExpPeriodDate.AutoDateType := RubricatorAutoDateType.Now;
ExpPeriodDate.Offset := -2;
Obj.Save;
// Экспорт
ExportRequestInst := (ExportRequestDef As IMetabaseObjectDescriptor).Open(Null) As IExportRequestInstance;
ExportRequestInst.Export;
End Sub UserProc;
После выполнения примера будет произведен экспорт временных рядов с помощью объекта экспорта «OBJ_EXPORT». Периоды экспорта будут изменены:
начало периода: 01.01.2000;
окончание периода: текущая дата, смещенная на две точки назад.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Cubes;
…
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
RubKey: uinteger;
Obj: IMetabaseObject;
ExportRequestDef: IExportRequestDefinition;
ExpParams: IExportRequestParams;
ExpPeriod: IRubricatorAutoPeriod;
ExpPeriodDate: IRubricatorAutoPeriodDate;
ExportRequestInst: IExportRequestInstance;
Begin
// Получаем объект экспорта
MB := Params.Metabase;
RubKey := MB.GetObjectKeyById("FC_AUTO");
Obj := MB.ItemByIdNamespace["OBJ_EXPORT", RubKey].Edit();
ExportRequestDef := Obj As IExportRequestDefinition;
// Редактируем параметры экспорта
ExpParams := ExportRequestDef.Exporter;
ExpPeriod := ExpParams.AutoPeriod;
ExpPeriodDate := ExpPeriod.Start;
ExpPeriodDate.AutoDateType := RubricatorAutoDateType.radtExact;
ExpPeriodDate.ExactDate := DateTime.Parse("01.01.2000");
ExpPeriodDate := ExpPeriod.@End;
ExpPeriodDate.AutoDateType := RubricatorAutoDateType.radtNow;
ExpPeriodDate.Offset := -2;
Obj.Save();
// Экспорт
ExportRequestInst := (ExportRequestDef As IMetabaseObjectDescriptor).Open(Null) As IExportRequestInstance;
ExportRequestInst.Export();
End Sub;
См. также: