IMsFormulaTransformSlices.MoveTo

Синтаксис Fore

MoveTo(FromIndex: Integer; ToIndex: Integer);

Синтаксис Fore.NET

MoveTo(FromIndex: Integer; ToIndex: Integer);

Параметры

FromIndex. Индекс перемещаемого разреза.

ToIndex. Индекс позиции коллекции, в которую необходимо переместить разрез.

Описание

Метод MoveTo выполняет перемещение разреза в заданную позицию коллекции.

Комментарии

Индексация разрезов в коллекции сквозная и начинается с нуля. Значение параметра ToIndex должно быть меньше значения свойства IMsFormulaTransformSlices.Count.

Пример Fore

Для выполнения примера предполагается наличие контейнера моделирования с идентификатором «CONT_MODEL», содержащим многомерную модель с идентификатором «OBJ». Добавьте ссылки на системные сборки «Metabase», «Ms».

Sub UserProc;
Var
    mb: IMetabase;
    msKey: Integer;
    hModel: IMetabaseObjectDescriptor;
    g_oModel: IMsModel;
    transf: IMsFormulaTransform;
    oVar: IMsFormulaTransformVariable;
    sl: IMsFormulaTransformSlices;
Begin
    mb := metabaseClass.Active;
    msKey := mb.GetObjectKeyById("CONT_MODEL");
    hModel := mb.ItemByIdNamespace("OBJ15033", msKey);
    g_oModel := hModel.Edit As IMsModel;
    transf := g_oModel.Transform;
    oVar := transf.Inputs.Item(0);
    sl := oVar.Slices;
    sl.MoveTo(0, sl.Count - 1);
    (hModel As IMetabaseObject).Save;
End Sub Button1OnClick

После выполнения примера первый разрез будет помещен в конец коллекции входной переменной. Остальные разрезы будут сдвинуты к началу коллекции на одну позицию.

Пример Fore.NET

Для выполнения примера предполагается наличие контейнера моделирования с идентификатором «CONT_MODEL», содержащим многомерную модель с идентификатором «OBJ».

Imports Prognoz.Platform.Interop.Ms;

Public
 Shared Sub Main(Params: StartParams);
Var
    mb: IMetabase;
    msKey: uinteger;
    hModel: IMetabaseObjectDescriptor;
    g_oModel: IMsModel;
    transf: IMsFormulaTransform;
    oVar: IMsFormulaTransformVariable;
    sl: IMsFormulaTransformSlices;
Begin
    mb := Params.Metabase;
    msKey := mb.GetObjectKeyById("CONT_MODEL");
    hModel := mb.ItemByIdNamespace["OBJ15033", msKey];
    g_oModel := hModel.Edit() As IMsModel;
    transf := g_oModel.Transform;
    oVar := transf.Inputs.Item[0];
    sl := oVar.Slices;
    sl.MoveTo(0, sl.Count - 1);
    (hModel As IMetabaseObject).Save();
End Sub;

После выполнения примера первый разрез будет помещен в конец коллекции входной переменной. Остальные разрезы будут сдвинуты к началу коллекции на одну позицию.

См. также:

IMsFormulaTransformSlices