ObjectsFilter: IMetabaseObjectDescriptors;
The ObjectsFilter property returns the collection of nested objects of the time series database that should be copied.
By default all nested objects of the provider database are copied.
NOTE. This property is taken into account if the time series database is copied together with its nested objects, that is the ICubeMetaUpdateEx.CopyExtraObjects property is set to True.
Executing the example requires that the repository contains a time series database with the FC identifier.
Sub Main;
Var
mb: IMetabase;
RubUpdateEx: ICubeMetaUpdateEx;
Rub: IRubricator;
Progress: IMetabaseUpdateProgress;
CrInfo: IMetabaseObjectCreateInfo;
s: string;
ObjectsF: IMetabaseObjectDescriptors;
ObjF: IMetabaseObjectDescriptor;
i: Integer;
Begin
mb := MetabaseClass.Active;
RubUpdateEx := New CubeMetaUpdateClass.Create As ICubeMetaUpdateEx;
Rub := mb.ItemById("FC").Bind As IRubricator;
RubUpdateEx.Rubricator := Rub;
RubUpdateEx.Metabase := Mb;
CrInfo := RubUpdateEx.CreateInfo;
CrInfo.Parent := mb.Root;
s := Mb.GenerateId("FC_COPY");
CrInfo.Id := s;
CrInfo.Name := s;
RubUpdateEx.CopyExtraObjects := True;
ObjectsF := RubUpdateEx.ObjectsFilter;
ObjF := Rub.Container(RubricatorContainerType.Data);
ObjectsF.Add(ObjF);
For i := 0 To ObjF.Children.Count - 1 Do
ObjectsF.Add(ObjF.Children.Item(i));
End For;
RubUpdateEx.RdsDatabase := Rub.Database;
RubUpdateEx.Apply(Progress);
End Sub Main;
After executing the example, the FC time series database is copied to the repository root folder. The identifier of the copy is FC_COPY. The system copies only the nested objects stored in the folder that contains data of the time series database.
See also: