Приложение Ж
Нестандартные критерии поиска ДЕЛО API 2009
Для случаев нестандартных критериев поиска разработаны специальные SQL-запросы, которые могут вызываться пользователем.
Состав и функционал данных запросов фиксированный, определяется и поддерживается разработчиками системы «ДЕЛО».
Список параметров запросов, которые реализованы как SQL-код в ДЕЛО API 2009 (см. Таблица Ж. 1):
Таблица Ж.1
|
Параметр
|
Реквизит
|
Тип1)
|
Условия2)
|
Примечание
|
|
Rc.RegNum
|
Rc.RegNum + Rc.OrderNum
|
Строка; Число
|
Many; Range
|
Регистрационный или порядковый номер документа (входящего и/или исходящего).
Если значение – строка, то условие задается только на Rc.RegNum, если число, то это значение ищется как среди регистрационных номеров, так и среди порядковых номеров документа.
Дополнительным разделителем поисковых образов в этом параметре является пробел.
|
|
Rc.DocContents
|
|
Слова
|
|
Контекстный поиск текста в прикрепленных к регистрационной карточке (РК) файлах (без учета файлов отчетов исполнителей поручений).
|
|
Rc.UserRead
|
|
Число
|
Many
|
Системный номер пользователя, который имеет в Журнале отметку о прочтении РК.
Если задан набор системных номеров, тогда у РК должна быть отметка о прочтении хотя бы одним из этих пользователей.
|
|
Rc.UserUnRead
|
|
Число
|
Many
|
Системный номер пользователя, который не имеет в Журнале отметку о прочтении РК.
Если задан набор системных номеров, тогда у РК нет отметки о прочтении ни одним из этих пользователей.
|
|
Rc.UserCanRead
(DOC_RC.UserCanRead)
|
|
Число
|
|
Системный номер пользователя, который имеет доступ к РК на чтение.
|
|
RcPrj.RegNum
|
RcPrj.RegNum + RcPrj. OrderNum
|
Строка; Число
|
Many; Range
|
Регистрационный или порядковый номер проекта документа.
Если значение – строка, то условие задается только на RcPrj.RegNum, если число, то условие задается на RcPrj.OrderNum.
Дополнительным разделителем поисковых образов в этом параметре является пробел.
|
|
RcPrj.UserRead
(PRJ_RC.UserRead)
|
|
Число
|
Many
|
Системный номер пользователя, который имеет в Журнале отметку о прочтении РКПД.
Если задан набор системных номеров, тогда у РКПД должна быть отметка о прочтении хотя бы одним из этих пользователей.
|
|
RcPrj.UserUnRead
(PRJ_RC.UserRead)
|
|
Число
|
Many
|
Системный номер пользователя, который не имеет в Журнале отметку о прочтении РКПД.
Если задан набор системных номеров, тогда у РКПД нет отметки о прочтении ни одним этих пользователей.
|
|
Rcprj.UserCanRead
(PRJ_RC.UserCanRead)
|
|
Число
|
|
Системный номер пользователя, который имеет доступ к РКПД на чтение.
|
|
Cor.Region
|
Correspondent. Organiz.Region.DCode (DUE)
|
Строка
|
Many; Begins; Null
|
Код региона корреспондента-организации или автора сопроводительного документа.
|
|
Cor.City
|
Correspondent. Organiz.City
|
Текст
|
|
Город организации – корреспондента документа.
|
|
Cor.Address
|
Correspondent. Organiz. Address
|
Текст
|
|
Адрес организации – корреспондента документа.
|
|
Cor.Name
|
Correspondent. Organiz.Name
|
Текст
|
|
Наименование организации – корреспондента документа.
|
|
Cor.OutNum
(Cor.OutNumExact)
|
Correspondent. OutNum
|
Текст
|
|
Исходящий номер корреспондента или автора сопроводительного документа.
|
|
Journal.RecordExist
(DOC_RC/Journal.RecordExist)
|
|
True; False
|
|
Флаг наличия записи в Журнале передачи документа (ЖПД):
True – запись в Журнале существует;
False – записи в Журнале нет.
(При наличии данного критерия в поисковом запросе – другие критерии на записи Журнала игнорируются).
|
|
Journal.KindAbsent
|
Journal. Kind
|
Число
|
Many
|
Отсутствие записи в ЖПД определенного вида:
1 – кандидат для передачи документа;
2 – запись о передаче документа;
3 – запись о списании документа в АИК «НАДЗОР-WEB»;
4 – запись об уничтожении документа.
(При наличии данного критерия в поисковом запросе – другие критерии игнорируются).
|
|
Resolution.AuthorOuter
|
|
Число
|
Many
|
Системный номер организации или контакта – внешнего Автора резолюции.
|
|
Resolution. UserRead
|
|
Число
|
Many
|
Системный номер пользователя, который имеет в Журнале отметку о прочтении Поручения.
Если задан набор системных номеров, тогда у Поручения должна быть отметка о прочтении хотя бы одним из этих пользователей.
|
|
Resolution. UserUnRead
|
|
Число
|
Many
|
Системный номер пользователя, который не имеет в Журнале отметку о прочтении Поручения.
Если задан набор системных номеров, тогда у Поручения нет отметки о прочтении ни одним из этих пользователей.
|
|
Resolution.UserCanRead
(RESOLUTION.UserCanRead)
|
|
Число
|
|
Системный номер пользователя, который имеет доступ к поручению на чтение.
|
|
Reply.PersonOuter
(DOC_RC/Reply.PersonOuter)
|
|
Число
|
Many
|
Системный номер организации или представителя – внешнего Исполнителя поручения.
|
|
Reply.UserRead
|
|
Число
|
Many
|
Системный номер пользователя, который имеет в Журнале отметку о прочтении Отчета об исполнении поручения.
Если задан набор системных номеров, тогда у Отчета об исполнении поручения должна быть отметка о прочтении хотя бы одного из этих пользователей.
|
|
Reply.UserUnRead
|
|
Число
|
Many
|
Системный номер пользователя, который не имеет в Журнале отметку о прочтении Отчета об исполнении поручения.
Если задан набор системных номеров, тогда у Отчета об исполнении поручения нет отметки о прочтении ни одним из этих пользователей.
|
|
DocKind3)
|
|
In; Let; Both; Out
|
|
Признак того, какие документы должны отбираться (имеет смысл только при поиске документов):
In – только входящие документы (без писем);
Let – только входящие письма;
Both – ищутся все входящие документы (вместе с письмами);
Out – Ищутся только исходящие документы.
|
1) – Тип передаваемого значения – строка, но значение этой строки должно без ошибок конвертироваться в указанный тип. Например, если указан тип "Дата", то значение строки должно быть в формате "ДД/ММ/ГГГГ", "Число" - строка должна конвертироваться в целое число (чаще всего в неотрицательное), "Строка" - длина одного задаваемого значения не должна превышать 250 байт.
Тип "Слова" - значение задаваемой строки разбивается системой на несколько значений "слова" по символам-разделителям: "пробел", "кавычки", а также любой из следующих символов "!&()+,./:;¢?|=\". Условие поиска каждого слова – вхождение его в текст данного реквизита.
Тип "Текст" - определяет новый синтаксис значения этих параметров, который аналогичен синтаксису, используемому в задаче "Поиск".
2) – Many – допустимо задавать несколько значений (с условиями) на один реквизит, соединенных условием "ИЛИ" и перечисленных через "|". Например: "1|3|5" или "01/01/1997:01/12/1997|31/12/1997".
Begins – допустима строка с "%" в конце – условие на то, что значение данного реквизита должно начинаться с указанной строки. Обычно это условие используется для поиска информации по агрегированному значению классифицированного реквизита (например, если в справочнике «Организации» есть вершина "Федеральные органы власти" под которой есть конкретные организации, то можно найти все документы, корреспондентом которых являлись Федеральные органы власти, хотя корреспондентами документа являются конкретные организации (Params("Cor.Organiz") = Dcode + "%")).
Range – допустимо задание двух значений, соединенных знаком ":" – условие на то, что значение реквизита должно принадлежать указанному диапазону значений (включая границы) Если необходимо задать открытый диапазон, значение соответственной границы должно иметь значение Null, например: "Null:0" означает, что нужно найти все значения реквизита, имеющие не положительные значения.
Null - допустимы значения "IsNull" и "IsNotNull" (символы в любом регистре) – условие на заполненность или незаполненность соответствующего реквизита.
3) – Признак DocKind – необязательная опция для поиска документов. Если она не определена, то ищутся все документы, удовлетворяющие заданным условиям. Но в некоторых случаях, когда необходимо отобрать документы только определенного вида, задание этой опции может значительно уменьшить время поиска.
* – Звездочкой отмечены реквизиты, условия на которые рекомендуется задавать как дополнительные к основным, как правило это реквизиты типа "строка".
