MoveTo(FromIndex: Integer; ToIndex: Integer);
MoveTo(FromIndex: Integer; ToIndex: Integer);
FromIndex. Индекс перемещаемого разреза.
ToIndex. Индекс позиции коллекции, в которую необходимо переместить разрез.
Метод MoveTo выполняет перемещение разреза в заданную позицию коллекции.
Индексация разрезов в коллекции сквозная и начинается с нуля. Значение параметра ToIndex должно быть меньше значения свойства IMsFormulaTransformSlices.Count.
Для выполнения примера предполагается наличие контейнера моделирования с идентификатором «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
После выполнения примера первый разрез будет помещен в конец коллекции входной переменной. Остальные разрезы будут сдвинуты к началу коллекции на одну позицию.
Для выполнения примера предполагается наличие контейнера моделирования с идентификатором «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;
После выполнения примера первый разрез будет помещен в конец коллекции входной переменной. Остальные разрезы будут сдвинуты к началу коллекции на одну позицию.
См. также: