MoveTo(FromIndex: Integer; ToIndex: Integer);
FromIndex. Индекс позиции терма, который необходимо переместить;
ToIndex. Индекс позиции, в которую необходимо переместить терм.
Метод MoveTo осуществляет перемещение терма в коллекции.
Для выполнения примера в репозитории предполагается наличие контейнера моделирования с идентификатором TRANSFORMATION. В данном контейнере должны присутствовать стандартная модель с идентификатором M_SPLICE, осуществляющая совмещение нескольких рядов.
Добавьте ссылки на системные сборки: Metabase, Ms.
Sub UserProc;
Var
mb: IMetabase;
ModelCont: IMetabaseObjectDescriptor;
Descript: IMetabaseObjectDescriptor;
Obj: IMetabaseObject;
Model: IMsModel;
Transform: IMsFormulaTransform;
TransformVar: IMsFormulaTransformVariable;
Slice: IMsFormulaTransformSlice;
Operands: IMsFormulaTermList;
Selector: IMsFormulaTransformSelector;
Formula: IMsFormula;
Splice: IMsSpliceTransform;
i: Integer;
Begin
mb := MetabaseClass.Active;
ModelCont := mb.ItemById("TRANSFORMATION");
Descript := mb.ItemByIdNamespace("M_SPLICE",ModelCont.Key);
Obj := Descript.Edit;
Model := Obj As IMsModel;
Transform := Model.Transform;
TransformVar := Transform.Outputs.Item(0);
Slice := TransformVar.Slices.Add(Null);
Selector := Transform.CreateSelector;
Selector.Slice := Slice;
Formula := Transform.Transform(Selector);
Splice := Formula.Method As IMsSpliceTransform;
Operands := Splice.Operands;
i := Operands.Count -1;
Operands.MoveTo(0, i);
Obj.Save;
End Sub UserProc;
В результате выполнения примера первый и последний ряды в коллекции совмещаемых рядов поменяются местами.
См. также: