СЭД «ДЕЛО»
Руководство пользователя
×

2.2.2 Поиск обьектов

Выполняется путем вызова запроса <адрес сервиса>/CoreHost/OData/<имя объекта>.
Критерии запроса указываются в Параметре criteries.
Возможно использовать Опции сериализации.
Например, необходимо найти объект DOC_RC с номером Ф-3. Запрос:
<адрес сервиса>/CoreHost/OData/DOC_RC?criteries=%7b%22Rc.RegNum%22%3a%22%D0%A4-3%22%7d
 
Результат:
{"OData.metadata":"../$metadata#DOC_RC","$inlinecount":1,"$TotalRecords":1,
"value":[{"ISN_DOC":4333,"KIND_DOC":1,"DUE_DOCGROUP":"0.2TZ.2U5.","DOC_DATE":"2012-04-27T00:00:00","ORDER_NUM":3,"FREE_NUM":"Ф-3","ANNOTAT":"О направлении регламента ","CONSISTS":"2","SPECIMEN":"1","DUE_CARD_REG":"0.","ISN_CABINET_REG":4089,"ISN_NOMENC":null,"SECURLEVEL":1,"ISN_DELIVERY":3774,"ISREPEAT":null,"ISCOLLECTIVE":null,"ADRESS_FLAG":0,"TEL_NUM":null,"ANONIM":null,"DUE_PERSON_EXE":null,"CONTROL_STATE":null,"PLAN_DATE":"2012-05-18T00:00:00","FACT_DATE":null,"NOTE":null,"FILE_COUNT_VISIBLE":0,"NOTHARDCOPY":0,"CITO":0,"E_DOCUMENT":0,"ACCESS_MODE":0,"INS_WHO":null,"INS_DATE":null,"OTHER_WHO":1,"FREE_NUM_SORT":null,"SENDER_NUM":null,"EDIT_REASON":null,"ISN_DOCVID":0}]}
 
Рассмотрим на конкретных примерах правила формирования критериев поиска:
Пример 1
$Response = $null
$query = "{`"CLASSIF_NAME`":`"=МЭДО`"}"
$Response = Invoke-WebRequest -Uri "<адрес сервера>/CoreHost/OData/DELIVERY_CL?criteries=$([uri]::EscapeDataString($query))" -Method Get -WebSession $Session -ContentType "application/json"
$Response.Content | ConvertFrom-Json | ConvertTo-Json -Depth 10
 
Пример 2
$Response = $null
$query = "{`"DOC_RC.REF_CORRESP.ORGANIZ.CLASSIF_NAME`":`"финанс`"}"
$Response = Invoke-WebRequest -Uri "<адрес сервера>/CoreHost/OData/DOC_RC?criteries=$([uri]::EscapeDataString($query))" -Method Get -WebSession $Session -ContentType "application/json"
$Response.Content | ConvertFrom-Json | ConvertTo-Json -Depth 10
 
Пример 3
$Response = $null
$query = "{`"DOC_RC.DOC_EXE.PERSON.CLASSIF_NAME`":`"рубан`"}"
$Response = Invoke-WebRequest -Uri "<адрес сервера>/CoreHost/OData/DOC_RC?criteries=$([uri]::EscapeDataString($query))" -Method Get -WebSession $Session -ContentType "application/json"
$Response.Content | ConvertFrom-Json | ConvertTo-Json -Depth 10
 
Пример 4
$Response = $null
$query = "{`"DOC_RC.ISN_NOMENC`":4057876}"
$Response = Invoke-WebRequest -Uri "<адрес сервера>/CoreHost/OData/DOC_RC?criteries=$([uri]::EscapeDataString($query))" -Method Get -WebSession $Session -ContentType "application/json"
$Response.Content | ConvertFrom-Json | ConvertTo-Json -Depth 10
 
Пример 5
$Response = $null
$query = "{`"DOC_RC.NOMENC.CLASSIF_NAME`":`"записки`"}"
$Response = Invoke-WebRequest -Uri "<адрес сервера>/CoreHost/OData/DOC_RC?criteries=$([uri]::EscapeDataString($query))" -Method Get -WebSession $Session -ContentType "application/json"
$Response.Content | ConvertFrom-Json | ConvertTo-Json -Depth 10
Пример 1: в таблице DELIVERY_CL (справочник видов доставки) ищем записи, у которых поле CLASSIF_NAME (наименование видов доставки) точно соответствует МЭДО. При этом перед наименованием поля указывать наименование таблицы не обязательно.
Пример 2: в таблице DOC_RC (РК документов) ищем все записи, полученные из организаций, которые содержат в своем названии «финанс» (Министерство финансов, Центр финансирования и т.д.)
В самом запросе префикс DOC_RC не обязателен.
Пример 2
$query = "{`"[DOC_RC].REF_CORRESP.ORGANIZ.CLASSIF_NAME`":`"финанс`"}"
В таблице REF_CORRESP (Корреспонденты и Сопроводительные документов РК) ссылкой на справочник ORGANIZ_CL (Организаций) является поле DUE_ORGANIZ. В критерии поиска ссылка представлена именем поля ORGANIZ с исключенным префиксом DUE_.
Общее правило: В запросах для полей, содержащих префиксы DUE_, ISN_ эти префиксы отбрасываются.
Пример 3: в таблице DOC_RC (РК документов) ищем все записи, фамилии исполнителей которых содержат «рубан» (Рубанский, Зарубанов и т.д.)
DOC_EXE таблица исполнителей, в которой есть поле DUE_PERSON. По Перечню связей таблиц (Приложение Д) это ссылка в таблицу DEPARTMENT (Справочник подразделений (ДЛ)), из которой мы указываем в критерии поиска CLASSIF_NAME.
Общее правило: В запросах для полей, содержащих префиксы DUE_, ISN_ эти префиксы отбрасываются.
Примеры 4-5: по сути один и тот же запрос, сформулированный разными способами.
Пример 4: в таблице DOC_RC (РК документов) ищем все записи, с идентификатором ISN_NOMENC (Номенклатура дел) равным 4057876.
Обратите внимание, что название поля указано полностью ISN_NOMENC, префикс ISN сохранен.
Пример 5: в таблице DOC_RC (РК документов) ищем все записи, в названии Номенклатуры дел которых есть «записки» (идентификатор  4057876 в справочнике Номенклатуры дел NOMENC_CL) .
В DOC_RC ссылкой на справочник NOMENC_CL (Номенклатуры дел) является поле ISN_NOMENC. В критерии поиска ссылка представлена именем поля NOMENC с исключенным префиксом ISN_.
Общее правило: В запросах для полей, содержащих префиксы DUE_, ISN_ эти префиксы отбрасываются.
 
Для случаев нестандартных критериев поиска разработаны специальные SQL-запросы, которые могут вызываться пользователем. Их описание см. в Приложение Ж.
Онлайн помощь создана в Dr.Explain