MoveTo(TargetKey: Integer; MoveType: RdsMoveType);
TargetKey. Ключ элемента, относительно которого будет произведено перемещение.
MoveType. Позиция, в которую будет перемещен текущий элемент, относительно элемента TargetKey.
Метод MoveTo осуществляет перемещение элемента справочника НСИ в позицию, указанную относительно элемента с заданным ключом.
Перемещение элемента может быть произведено относительно корневого элемента справочника. Для этого в качестве параметра TargetKey необходимо передавать значение «-2» (корневой элемент справочника). Перемещение можно осуществлять в любую позицию, кроме RdsMoveType.Before (до указанного элемента).
Для выполнения примера предполагается наличие репозитория НСИ с идентификатором «RDS_REPO», содержащего справочник с идентификатором «OBJ_DICT». Также необходимо добавить ссылки на системные сборки «Metabase», «Rds».
Sub UserProc;
Var
MB: IMetabase;
RdsDescr: IMetabaseObjectDescriptor;
Dict: IRdsDictionary;
DictInst: IRdsDictionaryInstance;
Elements: IRdsDictionaryElements;
MoveElem: IRdsDictionaryElement;
ElemKey: Integer;
Begin
MB := MetabaseClass.Active;
RdsDescr := MB.ItemById("RDS_REPO");
Dict := MB.ItemByIdNamespace("OBJ_DICT", RdsDescr.Key).Bind As IRdsDictionary;
DictInst := Dict.Open(Null);
Elements := DictInst.Elements;
// Получение первого элемента справочника
MoveElem := Elements.Item(1);
// Получение ключа последнего элемента справочника
ElemKey := Elements.Child(-2, Elements.ChildrenCount(-2) - 1);
// Перемещение элемента
MoveElem.MoveTo(ElemKey, RdsMoveType.Before);
End Sub UserProc;
После выполнения примера первый элемент справочника будет помещен перед последним элементом справочника.
См. также: