IRdsDictionaryBatchUpdate.SetData

Синтаксис Fore

SetData(Data: IRdsDictionaryElementData);

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

SetData(Data: Prognoz.Platform.Interop.Rds.IRdsDictionaryElementData);

Параметры

Data. Обновляемые данные.

Описание

Метод SetData устанавливает данные, которые необходимо обновить.

Комментарии

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

Пример Fore

Для выполнения примера в репозитории предполагается наличие репозитория НСИ с идентификатором «RDS». Данный репозиторий должен содержать табличный справочник НСИ с идентификатором «DIC».

Добавьте ссылки на системные сборки «Metabase», «Rds».

Sub UserProc;
Var
    mb: IMetabase;
    RdrRepoDescr: IMetabaseObjectDescriptor;
    RdsDictObj: IMetabaseObject;
    RdsDict: IRdsDictionary;
    DictInst: IRdsDictionaryInstance;
    Batch: IRdsDictionaryBatchUpdate;
    Attr: IRdsAttribute;
    data: IRdsDictionaryElementData;
    Filters: IRdsDictionaryFilterConditions;
Begin
    mb := MetabaseClass.Active;
    RdrRepoDescr := mb.ItemById("RDS_REPO");
    RdsDictObj := mb.ItemByIdNamespace("DICT_UPD", RdrRepoDescr.Key).Edit;
    DictInst := RdsDictObj.Open(NullAs IRdsDictionaryInstance;
    batch := DictInst.CreateBatch(RdsDictionaryBatchType.Update) As IRdsDictionaryBatchUpdate;
    data := DictInst.Elements.CreateData;
    RdsDict := RdsDictObj As IRdsDictionary;
    Attr := RdsDict.Attributes.FindById("NAME");
    Filters := batch.Filter;
    If Filters.FindByAttribute(Attr) <> Null Then
        Filters.Clear;
    End If;
    data.Value(data.AttributeIndex(Attr.Key)) := "Element";
    batch.SetData(data);
    batch.Execute;
End Sub UserProc;

После выполнения примера все элементы справочника «DIC» будут иметь наименование «Element».

Пример Fore.NET

Для выполнения примера в репозитории предполагается наличие репозитория НСИ с идентификатором «RDS». Данный репозиторий должен содержать табличный справочник НСИ с идентификатором «DIC».

Imports Prognoz.Platform.Interop.Rds;

[STAThread]
Public Shared Sub Main(Params: StartParams);
Var
    mb: IMetabase;
    RdrRepoDescr: IMetabaseObjectDescriptor;
    RdsDictObj: IMetabaseObject;
    RdsDict: IRdsDictionary;
    DictInst: IRdsDictionaryInstance;
    Batch: IRdsDictionaryBatchUpdate;
    Attr: IRdsAttribute;
    data: IRdsDictionaryElementData;
    Filters: IRdsDictionaryFilterConditions;
Begin
    mb := Params.Metabase;
    RdrRepoDescr := mb.ItemById["RDS_REPO"];
    RdsDictObj := mb.ItemByIdNamespace["DICT_UPD", RdrRepoDescr.Key].Edit();
    DictInst := RdsDictObj.Open(NullAs IRdsDictionaryInstance;
    batch := DictInst.CreateBatch(RdsDictionaryBatchType.rdbtUpdate) As IRdsDictionaryBatchUpdate;
    data := DictInst.Elements.CreateData();
    RdsDict := RdsDictObj As IRdsDictionary;
    Attr := RdsDict.Attributes.FindById("NAME");
    Filters := batch.Filter;
    If Filters.FindByAttribute(Attr) <> Null Then
        Filters.Clear();
    End If;
    data.Value[data.AttributeIndex[Attr.Key]] := "Element";
    batch.SetData(data);
    batch.Execute();
End Sub;

После выполнения примера все элементы справочника «DIC» будут иметь наименование «Element».

См. также:

IRdsDictionaryBatchUpdate