Transform: IAutoCubeTransform;
Свойство Transform возвращает объект, осуществляющий преобразование данных при изменении позиции измерений в структуре куба.
Для выполнения примера предполагается наличие в репозитории автоматического куба с идентификатором "AUTO_CUBE". В кубе содержится более одного измерения.
Sub Main;
Var
MB: IMetabase;
MObj: IMetabaseObject;
AutoCub: IAutoCube;
Dims: IAutoCubeDimensions;
Dim: IAutoCubeDimension;
Transf: IAutoCubeTransform;
b: Boolean;
Begin
MB := MetabaseClass.Active;
MObj := MB.ItemById("AUTO_CUBE").Edit;
AutoCub := MObj As IAutoCube;
Dims := AutoCub.Dimensions;
Dims.Move(0, 1);
Transf := AutoCub.Transform;
Debug.WriteLine("Исходный список измерений");
For Each Dim In Transf.MapDimensions Do
Debug.WriteLine((Dim.Dimension As IMetabaseObject).Name)
End For;
Debug.WriteLine("Список измерений после перестановки");
For Each Dim In Transf.Dimensions Do
Debug.WriteLine((Dim.Dimension As IMetabaseObject).Name)
End For;
If Transf.GetChanged(b) Then
Transf.Execute;
End If;
MObj.Save;
End Sub Main;
После выполнения примера в списке измерений автоматического куба будут переставлены местами первые два измерения. Если изменения коснулись измерений с данными, то будет осуществлено соответствующее преобразование данных куба.
См. также: