Ниже приведен пример использования операции GetDimElements для получения информации об определенных элементах, удовлетворяющих заданным условиям фильтрации. В запросе передается моникёр открытого экземпляра справочника и параметры извлечения, в которых указан фильтр элементов. Фильтрация осуществляется по тексту наименований объектов, регистр символов не учитывается и текст будет искаться в любой части наименований. Для отобранных элементов будет загружена базовая информация: ключ, наименование, уровень элемента и признак наличия дочерних элементов. Информация будет доступна в ответе на запрос.
В примере C# текст, который будет искаться в наименованиях, передается в качестве входного параметра.
{
"GetDimElements" :
{
"tDim" :
{
"id" : "S1!M!S!S1"
},
"tArg" :
{
"filter" :
{
"text" :
{
"attributes" : "NAME",
"text" : "второй",
"wholeWordsOnly" : "false",
"caseSensitive" : "false"
},
"includeParents" : "true",
"includeParentsWithSiblings" : "true"
},
"pattern" :
{
"getLevel" : "true",
"getImageIndex" : "true"
}
}
}
}
{
"GetDimElementsResult" :
{
"els" :
{
"e" :
[
{
"@x" : "1",
"@l" : "0",
"n" : "Первый элемент",
"k" : "1",
"h" : "1",
"o" : "0"
},
{
"@l" : "1",
"n" : "Второй элемент",
"k" : "2",
"h" : "0",
"o" : "1"
},
{
"@x" : "1",
"@l" : "0",
"n" : "Четвертый элемент",
"k" : "4",
"h" : "0",
"o" : "0"
},
{
"@x" : "1",
"@l" : "0",
"n" : "Пятый элемент",
"k" : "5",
"h" : "0",
"o" : "0"
}
]
},
"id" :
{
"id" : "S1!M!S!S1"
}
}
}
public static GetDimElementsResult GetFilteredElements(DmId moniker, string text)
{
var somClient = new SomPortTypeClient(); //Прокси-объект для выполнения операций
//Параметры выполнения операции
var tElements = new GetDimElements()
{
tArg = new GetDimElementsArg()
{
pattern = new ElsPattern()
{
getLevel = true
},
//Параметры фильтрации элементов
filter = new ElsFilter()
{
text = new TextFilter()
{
attributes = "NAME",
text = text,
caseSensitive = false,
wholeWordsOnly = false
},
includeParents = true,
includeParentsWithSiblings = true
}
},
tDim = moniker
};
//Получение информации об элементах справочника
var result = somClient.GetDimElements(tElements);
return result;
}
См. также: