CreateFieldFilterState

Синтаксис

CreateFieldFilterStateResult CreateFieldFilterState(OdId tOb, CreateFieldFilterStateArg tArg)

Параметры

tOb. Моникёр открытого экземпляра реляционного объекта.

tArg. Параметры выполнения операции.

Описание

Операция CreateFieldFilterState создаёт область хранения настроек для автофильтра по значениям поля.

Комментарии

Операция используется для работы с данными открытого экземпляра реляционного источника данных - таблицей, присоединённой таблицей, запросом, представлением, журналом. Для каждого отдельного поля область хранения может быть создана только один раз. При последующих вызовах настройки в области хранения будут перезаписаны. Для выполнения операции укажите в поле tOb моникёр открытого экземпляра реляционного объекта, а в поле tArg информацию о поле, необходимую для создания настроек. Моникёр может быть получен при выполнении операций OpenTable, OpenQuery. В tArg также будет необходимо задать моникёр кеша реляционного объекта, который может быть получен с помощью операций GetTable/GetQuery с указанным в шаблоне полем cachedDataset.

Результатом выполнения операции будет признак успешного создания области хранения настроек автофильтра.

Для дальнейшей работы с автофильтром используйте операции GetFieldValues, SetFieldFilter. Для закрытия области хранения настроек автофильтра используйте операцию CloseFieldFilterState. Полное удаление настроек автофильтров из памяти осуществляется при закрытии реляционного источника с помощью операций CloseTable/CloseQuery.

Пример

Предполагается, что имеется открытая на просмотр таблица, получен её моникёр и моникёр кеша таблицы. В таблице имеется поле с идентификатором REGION.

Ниже приведён пример создания области хранения настроек автофильтра для указанного поля таблицы. В запросе передаются два моникёра и идентификатор поля. В ответе возвращается признак успешного создания области хранения настроек.

SOAP-запрос:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<CreateFieldFilterState xmlns="http://www.fsight.ru/PP.SOM.Som">
<tOb xmlns="">
  <id>NLDGBACJHDEIGOAEOJMGHOOJDGJFPBFEFJEKHLKPOKBAEPOF!M!S!TABLECMPCMBCJHDEIGOAEHNKFEHGJCOOAFFIEIJCFENIDGAPBKEPP</id>
  </tOb>
<tArg xmlns="">
  <columnId>REGION</columnId>
<cachedDatasetId>
  <id>NLDGBACJHDEIGOAEOJMGHOOJDGJFPBFEFJEKHLKPOKBAEPOF!M!S!CACHEDDATASETOKBHDCCJHDEIGOAEPEALCLNDILEJPILEBJGJBCLICJLOHKBD</id>
  </cachedDatasetId>
  </tArg>
  </CreateFieldFilterState>
  </s:Body>
  </s:Envelope>

SOAP-ответ:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<CreateFieldFilterStateResult xmlns="http://www.fsight.ru/PP.SOM.Som" xmlns:q1="http://www.fsight.ru/PP.SOM.Som" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <success xmlns="">1</success>
  </CreateFieldFilterStateResult>
  </soapenv:Body>
  </soapenv:Envelope>

JSON-запрос:

{
"CreateFieldFilterState" :
{
"tOb" :
{
"id" : "NLDGBACJHDEIGOAEOJMGHOOJDGJFPBFEFJEKHLKPOKBAEPOF!M!S!TABLECMPCMBCJHDEIGOAEHNKFEHGJCOOAFFIEIJCFENIDGAPBKEPP"
},
"tArg" :
{
"columnId" : "REGION",
"cachedDatasetId" :
{
"id" : "NLDGBACJHDEIGOAEOJMGHOOJDGJFPBFEFJEKHLKPOKBAEPOF!M!S!CACHEDDATASETOKBHDCCJHDEIGOAEPEALCLNDILEJPILEBJGJBCLICJLOHKBD"
}
}
}
}

JSON-ответ:

{
"CreateFieldFilterStateResult" :
{
"success" : "1"
}
}
public static CreateFieldFilterStateResult CreateFieldFilterState(string tableMoniker, string tableCacheMoniker, string fieldId)
{
var somClient = new SomPortTypeClient(); // Прокси-объект для выполнения операций
// Параметры выполнения операции
var tCreate = new CreateFieldFilterState()
{
tArg = new CreateFieldFilterStateArg()
{
cachedDatasetId = new OdId() { id = tableCacheMoniker },
columnId = fieldId
},
tOb = new OdId() { id = tableMoniker }
};
// Создание области хранения настроек автофильтра
var result = somClient.CreateFieldFilterState(tCreate);
return result;
}

См. также:

Работа с реляционными объектами репозитория