IRdsDictionary.UpdateSequence

Синтаксис Fore

UpdateSequence(Options: RdsUpdateSequenceOptions);

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

UpdateSequence(Options: Prognoz.Platform.Interop.Rds.RdsUpdateSequenceOptions);

Параметры

Options. Тип сдвига.

Описание

Метод UpdateSequence обновляет сиквенс.

Комментарии

Для открытия справочника НСИ используйте метод IRdsDictionary.Open.

Пример Fore

Для выполнения примера предполагается наличие:

Пример является обработчиком события OnClick для компонента «Button1». Добавьте ссылки на системные сборки «Metabase», «Rds».

Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
    Mb: IMetabase;
    iRdsDatabaseKey: Integer;
    pDict: IRdsDictionary;
    pDictInst: IRdsDictionaryInstance;
    pData: IRdsDictionaryElementData;
Begin
    Mb := MetabaseClass.Active;
    iRdsDatabaseKey := Mb.GetObjectKeyById("OBJ_RDS");
    pDict := Mb.ItemByIdNamespace("T_SOURSE_RDS", iRdsDatabaseKey).Edit As IRdsDictionary;
    pDict.Attributes.Order.Hidden := False;
    (pDict As IMetabaseObject).Save;
    pDictInst := pDict.Open(Null);
    pDictInst.ClearData;
    pData := pDictInst.CreateElementData;
    pData.Value(1) := "1";
    pDictInst.Insert(-2, pData);
    pData := pDictInst.CreateElementData;
    pData.Value(1) := "2";
    pDictInst.Insert(-2, pData);
    pDict.IsBigDictionary := True;
    pDict.UpdateSequence(RdsUpdateSequenceOptions.Key Or RdsUpdateSequenceOptions.Order);
    (pDict As IMetabaseObject).Save;
    pDictInst := pDict.Open(Null);
    pData.Value(1) := "3";
    pDictInst.Insert(-2, pData);
    pData.Value(1) := "4";
    pDictInst.Insert(-2, pData);
    pDict.IsBigDictionary := False;
    (pDict As IMetabaseObject).Save;
    Mb.DeleteObject((pDict As IMetabaseObject).Key);
End Sub Button1OnClick;

После выполнения примера для справочника НСИ будет обновлен сиквенс.

Пример Fore.NET

Для выполнения примера предполагается наличие:

Пример является обработчиком события Click для компонента «button1». Добавьте ссылку на системную сборку «Rds».

Imports Prognoz.Platform.Interop.Rds;

Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
Var
    Mb: IMetabase;
    iRdsDatabaseKey, parent: uinteger;
    pDict: IRdsDictionary;
    pDictInst: IRdsDictionaryInstance;
    pData: IRdsDictionaryElementData;
Begin
    Mb := self.Metabase;
    iRdsDatabaseKey := Mb.GetObjectKeyById("OBJ_RDS");
    pDict := Mb.ItemByIdNamespace["T_SOURSE_RDS", iRdsDatabaseKey].Edit() As IRdsDictionary;
    pDict.Attributes.Order.Hidden := False;
    (pDict As IMetabaseObject).Save();
    pDictInst := pDict.Open(Null);
    pDictInst.ClearData(True);
    pData := pDictInst.CreateElementData();
    pData.Value[1] := "1";
    parent := -2 As uinteger;
    pDictInst.Insert(parent, pData);
    pData := pDictInst.CreateElementData();
    pData.Value[1] := "2";
    pDictInst.Insert(parent, pData);
    pDict.IsBigDictionary := True;
    pDict.UpdateSequence(RdsUpdateSequenceOptions.rusoKey Or RdsUpdateSequenceOptions.rusoOrder);
    (pDict As IMetabaseObject).Save();
    pDictInst := pDict.Open(Null);
    pData.Value[1] := "3";
    pDictInst.Insert(parent, pData);
    pData.Value[1] := "4";
    pDictInst.Insert(parent, pData);
    pDict.IsBigDictionary := False;
    (pDict As IMetabaseObject).Save();
    Mb.DeleteObject((pDict As IMetabaseObject).Key);
End Sub;

Результат выполнения примера Fore.NET совпадают с примером Fore.

См. также:

IRdsDictionary

Связанные записи