SetRdsResult SetRds(RdsId tRds, SetRdsArg tArg)
tRds. Моникёр экземпляра справочника НСИ.
tArg. Параметры изменения метаданных.
Операция SetRds изменяет метаданные справочника НСИ.
Данная операция позволяет изменить следующую информацию о структуре справочника НСИ:
Информация об атрибутах;
Информация о параметрах;
Информация о связях с другими справочниками;
Информация об уровнях;
Информацию об уникальных и неуникальных ключах;
Информацию о схемах импорта и экспорта;
Параметры перевода справочника на другие языки.
Для выполнения операции необходимо в параметре tRds указать моникёр открытого экземпляра справочника, а в параметре tArg указать параметры изменения. Моникёр может быть получен при выполнении операции OpenRds. В поле tArg.pattern указывается шаблон, в соответствии с которым будут производиться изменения, а в поле tArg.meta обновленные метаданные. Для сохранения измененного справочника НСИ после операции SetRds выполните операцию SaveObject или SaveObjectAs.
Результатом работы операции SetRds будет моникёр измененного справочника и запрошенные метаданные, если при выполнении операции было определено поле tArg.metaGet.
Пример добавления уровня в структуру справочника НСИ. В запросе передается моникёр справочника, шаблон, указывающий необходимость добавить уровень и метаданные создаваемого уровня. В ответе приходит информация обо всех уровнях справочника.
{
"SetRds" :
{
"tRds" :
{
"id" : "S1!M!S!N2"
},
"tArg" :
{
"pattern" :
{
"obInst" : "true",
"levels" : "Add"
},
"meta" :
{
"levels" :
{
"its" :
{
"it" :
[
{
"k" : "-1",
"id" : "LEVEL_",
"n" : "Дополнительный",
"vis" : "true"
}
]
}
}
},
"metaGet" :
{
"obInst" : "true",
"levels" : "Get"
}
}
}
}
{
"SetRdsResult" :
{
"id" :
{
"id" : "S1!M!S!N2"
},
"meta" :
{
"obInst" :
{
"obDesc" :
{
"@ds" : "",
"@isShortcut" : "0",
"@isLink" : "0",
"@ver" : "4",
"@hf" : "0",
"i" : "FACT_ELEMENTS",
"n" : "Справочник с показателями",
"k" : "219797",
"c" : "3076",
"p" : "5611",
"h" : "0",
"hasPrv" : "0",
"ic" : "0",
"trackElementDependents" : "0",
"isPermanent" : "1",
"isTemp" : "0"
}
},
"dirty" : "1",
"levels" :
{
"its" :
{
"it" :
[
{
"k" : "1",
"id" : "LEVEL_",
"n" : "Дополнительный",
"vis" : "1"
}
]
}
},
"timeDependency" : "TimeReadOnly",
"eeCallback" : "",
"isHierarchical" : "1",
"isSecured" : "0",
"manageVisibility" : "0",
"isCompound" : "0",
"isBigDictionary" : "0",
"hasMandatoryAccess" : "0",
"hasDimMultipleValues" : "1",
"defaultElementKey" : "4294967295",
"isAbacSecured" : "0"
}
}
}
public static SetRdsResult ChangeRDSStructure(RdsId moniker)
{
var somClient = new SomPortTypeClient(); //Прокси-объект для выполнения операций
//Параметры выполнения операции
var tSet = new SetRds()
{
tArg = new SetRdsArg()
{
pattern = new RdsMdPattern()
{
levels = ListOperation.Add
},
meta = new RdsMd()
{
levels = new RdsLevels()
{
its = new RdsLevel[]
{
new RdsLevel()
{
k = uint.MaxValue,
id = "LEVEL_" ,
n = "Дополнительный" ,
vis = true
}
}
}
},
metaGet = new RdsMdPattern()
{
levels = ListOperation.Get
}
},
tRds = moniker
};
//Изменение структуры справочника
var result = somClient.SetRds(tSet);
return result;
}
См. также: