GetDmStdResult GetDmStd(DmId tDim, GetDmStdArg tArg)
tDim. Моникёр открытого экземпляра табличного справочника.
tArg. Параметры выполнения операции.
Операция GetDmStd извлекает метаданные табличного справочника.
Данная операция позволяет получить информацию о структуре табличного справочника: атрибуты, блоки, индексы, уровни справочника, а также другие настройки, влияющие на работу справочника. Для выполнения операции необходимо в поле tDim указать моникёр экземпляра табличного справочника, а в поле tArg указать параметры, в соответствии с которыми будет извлекаться информация. Моникёр может быть получен при выполнении операции OpenDim. В поле tArg.pattern указывается шаблон, в соответствии с которым будет извлекаться информация. Результатом работы операции будут запрошенные метаданные.
Ниже приведён пример использования операции GetDmStd для получения информации о структуре табличного справочника. В запросе передаётся моникёр справочника и шаблон, который определяет, какие именно метаданные необходимо извлечь. В ответе приходит полученная информация.
{
"GetDmStd" :
{
"tDim" :
{
"id" : "S1!M!S!DM9"
},
"tArg" :
{
"pattern" :
{
"obInst" : "true",
"attrs" : "Get",
"blocks" : "Get",
"block" :
{
"all" : "true"
}
}
}
}
}
{
"GetDmStdResult" :
{
"id" :
{
"id" : "S1!M!S!DM9"
},
"meta" :
{
"obInst" :
{
"obDesc" :
{
"@ds" : "",
"@isShortcut" : "0",
"@isLink" : "0",
"@ver" : "4",
"@hf" : "0",
"i" : "DIM_1",
"n" : "Dim_1",
"k" : "116",
"c" : "1025",
"p" : "103",
"h" : "0",
"hasPrv" : "0",
"ic" : "0",
"isPermanent" : "1",
"isTemp" : "0"
}
},
"dirty" : "0",
"attrs" :
{
"its" :
{
"it" :
[
{
"k" : "117",
"id" : "NAME",
"n" : "Наименование",
"vis" : "1",
"dt" : "1",
"predefined" : "Name",
"dataDomain" : "0",
"nullable" : "1",
"hasHierarchy" : "0"
},
{
"k" : "118",
"id" : "ID",
"n" : "Идентификатор",
"vis" : "1",
"dt" : "2",
"uniqueIndex" : "INDEX1",
"predefined" : "Ident",
"dataDomain" : "0",
"nullable" : "1",
"hasHierarchy" : "0"
},
{
"k" : "119",
"id" : "ORDER",
"n" : "Порядок",
"vis" : "1",
"dt" : "2",
"predefined" : "Order",
"dataDomain" : "0",
"nullable" : "1",
"hasHierarchy" : "0"
},
{
"k" : "122",
"id" : "PARENT",
"n" : "Родитель",
"vis" : "1",
"dt" : "2",
"dataDomain" : "0",
"nullable" : "1",
"hasHierarchy" : "0"
},
{
"k" : "177",
"id" : "CODE",
"n" : "Код",
"vis" : "1",
"dt" : "1",
"dataDomain" : "0",
"nullable" : "1",
"hasHierarchy" : "0"
}
]
},
"ident" : "1",
"name" : "0",
"order" : "2",
"orders" :
{
"its" :
{
"it" :
[
{
"attr" :
{
"k" : "119",
"id" : "ORDER"
},
"reverseOrder" : "0"
}
]
}
}
},
"blocks" :
{
"its" :
{
"it" :
[
{
"k" : "120",
"id" : "BLOCK1",
"n" : "Блок1",
"vis" : "1",
"indexes" :
{
"it" :
{
"k" : "121",
"id" : "PRIMARY_INDEX",
"n" : "Первичный индекс блока Блок1",
"vis" : "1",
"block" :
{
"k" : "120",
"id" : "BLOCK1",
"n" : "Блок1",
"vis" : "1"
},
"attrs" :
{
"it" :
{
"k" : "118",
"id" : "ID",
"n" : "Идентификатор",
"vis" : "1"
}
},
"primary" : "1",
"unique" : "1",
"useInSelection" : "0",
"caseSensitive" : "1"
}
},
"dataset" :
{
"@ds" : "",
"@isShortcut" : "0",
"@isLink" : "0",
"@ver" : "0",
"@hf" : "0",
"i" : "OBJ113",
"n" : "справочник",
"k" : "114",
"c" : "769",
"p" : "103",
"h" : "0",
"hasPrv" : "0",
"ic" : "0"
},
"type" : "Recursive",
"bindings" :
{
"it" :
[
{
"attr" :
{
"k" : "117",
"id" : "NAME"
},
"expression" : "OBJ113.NAME"
},
{
"attr" :
{
"k" : "118",
"id" : "ID"
},
"expression" : "OBJ113.ID"
},
{
"attr" :
{
"k" : "119",
"id" : "ORDER"
},
"expression" : "OBJ113.ID"
},
{
"attr" :
{
"k" : "122",
"id" : "PARENT"
},
"expression" : "OBJ113.PARENTID"
},
{
"attr" :
{
"k" : "177",
"id" : "CODE"
},
"expression" : "OBJ113.CODE"
}
]
},
"whereExpr" : "",
"recursive" :
{
"startWith" : "OBJ113.PARENTID = 0",
"connectByIndex" :
{
"k" : "121",
"id" : "PRIMARY_INDEX"
},
"connectsBy" :
{
"it" :
{
"attr" :
{
"k" : "118",
"id" : "ID"
},
"expression" : "OBJ113.PARENTID"
}
},
"startWithWhere" : "",
"connectByWhere" : ""
}
}
]
}
},
"deduplicateCondition" : "None",
"deduplicateExpression" : "",
"hideInaccessibleElements" : "1",
"reverseOrder" : "0"
}
}
}
public static GetDmStdResult GetStandartDimension(DmId moniker)
{
var somClient = new SomPortTypeClient(); //Прокси-объект для выполнения операций
//Параметры выполнения операции
var tGet = new GetDmStd()
{
tArg = new GetDmStdArg()
{
pattern = new DmStdMdPattern()
{
attrs = ListOperation.Get,
blocks = ListOperation.Get,
block = new DmStdBlockPattern() { all = true }
}
},
tDim = moniker
};
//Получение информации о табличном справочнике
var result = somClient.GetDmStd(tGet);
return result;
}
См. также: