ApplyParamAdvFiltersResult ApplyParamAdvFilters(OdId tObject, ApplyParamAdvFiltersArg tArg)
tObject. Моникёр открываемого объекта репозитория.
tArg. Параметры выполнения операции.
Операция ApplyParamAdvFilters применяет расширенные фильтры в параметрах объекта перед его открытием.
Расширенные фильтры доступны, если в качестве редактора для параметра используется справочник репозитория. Фильтры позволяют ограничить выбор или настроить управление другими параметрами во время открытия объекта репозитория. Для выполнения операции укажите в поле tObject моникёр открываемого на просмотр объекта репозитория. Моникёр может быть получен при выполнении операции GetObjects. В поле tArg необходимо передать коллекцию параметров, в основе которых лежат справочники, а также отметки этих справочников. Информацию о параметрах, использующих справочники, можно получить в результатах операции GetObjects в поле mds.its.pars. Для открытия справочников используйте операцию OpenDim, для работы с элементами и управления отметкой операции GetDimElements, ChangeDimSelection. При выполнении операции ApplyParamAdvFilters будет осуществляться перестроение справочников в параметрах в соответствии с заданными настройками расширенных фильтров.
Результатом выполнения операции будет логическое значение true, если применение расширенных фильтров завершилось успешно.
Итоговые отметки параметров в дальнейшем могут быть переданы в соответствующую операцию Open* для открытия объекта.
Ниже приведён пример применения расширенных фильтров в параметрах открываемого объекта репозитория. В запросе передаётся моникёр открываемого объекта репозитория и коллекция параметров. Для параметров также указываются моникёры отметки справочников, лежащих в основе параметров. В ответе возвращается признак успешного применения расширенных фильтров у параметров.
В примере C# используется функция FindObjectById, код которой приведен в примере «Получение описания объекта по его идентификатору».
{
"ApplyParamAdvFilters" :
{
"tObject" :
{
"id" : "NMGCENDEBJJIGOAEMKHENDOHBOBLNGJEFIIEIMPLBOAHIDPB!M!9415"
},
"tArg" :
{
"dims" :
{
"it" :
[
{
"paramId" : "ITEM",
"selectionId" : "NMGCENDEBJJIGOAEMKHENDOHBOBLNGJEFIIEIMPLBOAHIDPB!M!S!SMNMGPAEEBJJIGOAEKMOAGHJLGPPLFDBEPLCIAAPHKOBCMDMM"
},
{
"paramId" : "ITEM1",
"selectionId" : "NMGCENDEBJJIGOAEMKHENDOHBOBLNGJEFIIEIMPLBOAHIDPB!M!S!SMFANJBEEBJJIGOAEILAOBMPAEONHPGOEIKEAICAAEPLEBPAN"
}
]
}
}
}
}
{
"ApplyParamAdvFiltersResult" :
{
"res" : "1"
}
}
public static ApplyParamAdvFiltersResult ApplyParamAdvFilters(MbId mb, string objectId, AFDimSelection[] paramsDimsSelection)
{
var somClient = new SomPortTypeClient(); // Прокси-объект для выполнения операций
// Параметры выполнения операции
var tApply = new ApplyParamAdvFilters()
{
tArg = new ApplyParamAdvFiltersArg()
{
dims = paramsDimsSelection
},
tObject = new OdId() { id = mb.id + "!" + PP7SOMSampleClass.FindObjectById(mb, objectId).k }
};
// Применение расширенных фильтров в параметрах объекта
var result = somClient.ApplyParamAdvFilters(tApply);
return result;
}
См. также: