From b576137ddf611eb4dad113e8ac178022b24c98fc Mon Sep 17 00:00:00 2001 From: mirzakaev_tf Date: Tue, 30 Jan 2024 15:23:52 +0500 Subject: [PATCH] =?UTF-8?q?=D0=B4=D0=BE=D0=BF=20=D0=BE=D0=BF=D0=B8=D1=81?= =?UTF-8?q?=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=B4=D0=BB=D1=8F=20=D0=BD=D0=B0?= =?UTF-8?q?=D1=81=D1=82=D1=80=D0=BE=D0=B5=D0=BA=20=D0=B6=D1=81=D0=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Настройка правил поиска для ЖСД/index.md | 26 ++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/docs/Admin manuals/Настройка правил поиска для ЖСД/index.md b/docs/Admin manuals/Настройка правил поиска для ЖСД/index.md index 213e0ec..8a43e86 100644 --- a/docs/Admin manuals/Настройка правил поиска для ЖСД/index.md +++ b/docs/Admin manuals/Настройка правил поиска для ЖСД/index.md @@ -69,6 +69,30 @@ ![Дополнительная колонка](media/dopColonka.png) +В данном блоке могут быть указаны колонки, значения которых можно вычислить на основании реквизитов документов и их маршрутов. + +## Примеры настроек колонок + +В колонке **"Статус общий"** указан статус маршрута. Если он "Текущий", то будет заполнена и колонка "На ком документ" пользователями, у которых не выполнено действие на текущем этапе маршрута. Колонка "Согласовавшие участники", напротив, заполняется теми пользователями, у которых уже выполнены действия по маршруту. Эти колонки как правило не нуждаются в донастройке Журнала состояния документов (ЖСД) или конструкторов. + +Колонка **"Реквизиты документа"** в запросах обычно заполняется стандартным значением t."AnyColumnA", в котором перечисляются номер, дата документа и ФИО его создателя. + +Колонки **"Период с", "Период по" и "Кол-во"** заполняются значениями дополнительных атрибутов (реквизитов) с хэштегами '#bdate#', '#edate#', '#kolvo#' соответственно, если документ на конструкторе (Заявления от сотрудника, универсальные документы и т.д.), а также заполняются датами и продолжительностью командировки, указанными в теле документа "СЗ на командировку". + +Если уже есть конструкторы, поля которых хотелось бы сопоставить с этими колонками, то можно либо скорректировать запрос в поле **"Итоговая выборка"**, заменив bd.`"ColumnName" = '#bdate#'` на `bd."ColumnName" = '#another_bdate_name#'` (аналогично с другими доп. атрибутами), либо заменить в конструкторе документов старое служебное наименование на новое, не забывая как про основную вкладку с мемо-полем, так и остальные: Ограничения, Сформировать наименование документа из реквизитов, Настройка интерфейса, Настройка проверок, Настройка вычислений. + +В колонке **"Прочее"** перечисляются все остальные доп. атрибуты документа и их значения, т.е. со служебными наименованиями, отличными от #bdate#, #edate#, #kolvo#. + +Вычисления для колонок **Сотрудник** и **Таб.номер** немного сложнее. Для СЗ на командировку они берутся из таблицы с командированными сотрудниками в документе. + +Для универсальных документов и документов на подписание (ДНП) в первую очередь ищется доп.атрибут типа Работник со служебным наименованием, сформированному по правилу #worker%# – это значит, что могут подобраться `#worker#`, `#worker1#` и т.д., т.к. % означает, что после слова worker может идти любой набор симоволов любой длины (даже нулевой). Если такие доп. атрибуты отсутствуют или не заполнены, проверяется, заполнено ли в документе поле IdWorker, которое может быть заполнено кодом сотрудника при загрузке документа из сторонней системы (базы). Для остальных типов документов по умолчанию ищется значение IdWorker. + +В заявлениях, актах аннулирования оно заполняется, для ЛНА, доверенностей и прочих документов оно скорее всего не заполняется. Для них можно либо скорректировать запрос в поле **"Итоговая выборка"**, добавив внутрь coalesce вычисление сотрудника по создателю документа или какое-то другое правило, либо определить правило заполнения `IdWorker` в представлении `comdoc."DocflowExists"` (задаётся в базе). + +Для вычисления родительского подразделения тоже необходимо определить сотрудника, чьё родительское подразделение (а также Инициатор документа, Подразделение, Должность) будет показано в результирующей таблице ЖСД. + +Для универсальных документов и ДНП в первую очередь ищется доп.атрибут со служебным наименованием `#worker#` (или `#Worker#`). Если такой отсутствует или не заполнен, проверяется, заполнено ли в документе поле `IdWorker`, которое может быть заполнено при загрузке документа из сторонней системы (базы). Во всех остальных случаях как для универсальных документов с ДНП, так и остальных типов, берётся пользователь, создавший документ. Если пользователь не заведён как сотрудник, Родительское подразделение не заполнится. + ## Вкладка "Запрос" В данном блоке указывается часть с динамическим запросом, содержащим непосредственно запроса для отображения документов. @@ -80,7 +104,7 @@ !!! note Для того чтобы запрос фильтровался по заданному количеству документов, которое указывается в поле **Кол-во строк/Период (с/по):** необзодимо в конце запроса добавить строку `_topcount` , например: ```left join "tmp_workers_for_documentStatusJournalProc" w2 on w2."VCode" = t."IdWorker" _topcount;``` -### Примеры запросов: +### Примеры запросов **Просроченные документы** - в реестре отображаются документы, по которым были нарушены сроки обработки: