SetDmClnResult SetDmCln(DmId tDim, SetDmClnArg tArg)
tDim. Моникёр открытого экземпляра календарного справочника.
tArg. Параметры выполнения операции.
Операция SetDmCln изменяет метаданные календарного справочника.
Данная операция позволяет изменить структуру и настройки календарного справочника: используемую иерархию, уровни, пользовательские атрибуты, пределы календаря, а также другие настройки, влияющие на работу справочника. Для выполнения операции укажите в поле tDim моникёр экземпляра календарного справочника, а в поле tArg параметры выполнения операции. Моникёр может быть получен при выполнении операции OpenDim. В поле tArg.meta укажите изменяемые метаданные. В определённых случаях, например при работе с атрибутами, также необходимо в поле tArg.pattern определить шаблон, в соответствии с которым будут производиться изменения. После внесения изменений для сохранения справочника используйте операцию SaveObject или SaveObjectAs. Результатом работы операции будут обновлённые метаданные, если был указан шаблон tArg.metaGet.
Ниже приведён пример использования операции SetDmCln для изменения структуры календарного справочника - в структуре справочника включается уровень «Корень». В запросе передаётся моникёр справочника и метаданные с информацией о добавляемом уровне календаря. В ответе приходит обновлённая информация о календарном справочнике.
{
"SetDmCln" :
{
"tDim" :
{
"id" : "S1!M!S!DM2"
},
"tArg" :
{
"pattern" :
{
"obInst" : "true"
},
"meta" :
{
"levelInUse" :
{
"levelIndex" : "0",
"res" : "true"
}
},
"metaGet" :
{
"obInst" : "true",
"levelInUse" :
{
"levelIndex" : "0"
}
}
}
}
}
{
"SetDmClnResult" :
{
"id" :
{
"id" : "S1!M!S!DM2"
},
"meta" :
{
"obInst" :
{
"obDesc" :
{
"@ds" : "",
"@isShortcut" : "0",
"@isLink" : "0",
"@ver" : "9",
"@hf" : "0",
"i" : "CALENDAR",
"n" : "Календарь",
"k" : "112",
"c" : "1026",
"p" : "103",
"h" : "0",
"hasPrv" : "0",
"ic" : "0",
"trackElementDependents" : "0",
"isPermanent" : "1",
"isTemp" : "0"
}
},
"dirty" : "0",
"startYear" : "2000",
"endYear" : "2003",
"startYearAsParam" : "0",
"endYearAsParam" : "0",
"hierarchy" : "0",
"levelInUse" :
{
"levelIndex" : "0",
"res" : "1"
},
"attrCount" : "9",
"levelCount" : "6",
"reverseOrder" : "0",
"shiftForward" : "0",
"hierarchyCorrection" : "0",
"lastLevelNameAsDay" : "0",
"defaultOpenType" : "Hierarchical",
"isDynamicAttrs" : "1"
}
}
}
public static SetDmClnResult ChangeCalendar(DmId moniker)
{
var somClient = new SomPortTypeClient(); //Прокси-объект для выполнения операций
//Параметры выполнения операции
var tSet = new SetDmCln()
{
tArg = new SetDmClnArg()
{
pattern = new DmClnMdPattern(),
meta = new DmClnMd()
{
levelInUse = new DmClnLevelInUse() { levelIndex = 0, res = true }
},
metaGet = new DmClnMdPattern()
{
levelInUse = new DmClnLevelInUse() { levelIndex = 0 }
}
},
tDim = moniker
};
//Изменение календарного справочника
var result = somClient.SetDmCln(tSet);
return result;
}
См. также: