редакция путей
This commit is contained in:
284
docs/Admin manuals/Настройка документов/index.md
Normal file
284
docs/Admin manuals/Настройка документов/index.md
Normal file
@@ -0,0 +1,284 @@
|
||||
# Настройка документов
|
||||
|
||||
## Общее описание назначения документа
|
||||
|
||||
Документы реестра "Настройка документов" предназначены для настройки возможностей и особенностей работы с различными типами документов. В частности, настраиваются доступные пользователям операции при создании маршрута и при перемещении по маршруту.
|
||||
|
||||
Документ находится в основном меню в группе "Администрирование", подгруппе "Документооборот". Для доступа к документу нужны права администратора.
|
||||
|
||||
## Реестр
|
||||
|
||||
Для входа в документ необходимо в меню в группе "Администрирование", подгруппе "Документооборот" выбрать пункт "Настройка документов". Для доступа к документу нужны права администратора.
|
||||
|
||||
Откроется реестр настроенных типов документов.
|
||||
|
||||

|
||||
|
||||
Для создания нового документа необходимо нажать на кнопку "Создать" на верхней панели инструментов
|
||||
|
||||

|
||||
|
||||
## Документ
|
||||
|
||||
Настройки для документа "Настройка документов" выглядят следующим образом:
|
||||
|
||||

|
||||
|
||||
Для некоторых полей названия объединены, соответствующие им ячейки идут в том же порядке, что и их названия: поля "Форма" и "Наименование" – в "Форма\Наименование", поля "Схема" и "Таблица" – в "Схема\таблица". Обязательными полями для заполнения являются:
|
||||
|
||||
- Тип документа – ключевое слово, соответствующее типу документа, обычно формируется по правилу *"имя формы" без "Form"*;
|
||||
- Форма – служебное название формы, обычно содержится в адресной строке при открытии вкладки с формой документа и формируется по правилу *"Тип документа" + "Form"*;
|
||||
- Наименование – пользовательское название формы, принятое для употребления пользователями системы.
|
||||
|
||||
Также на форме содержатся поля "Схема" и "Таблица", которое должно содержать название соответствующей документу таблицы в базе данных.
|
||||
|
||||
В [таблице в конце статьи](#таблица) приведены возможные значения этих полей.
|
||||
|
||||
### Вкладка "Маршрут документооборота"
|
||||
|
||||
Вкладка "Маршрут документооборота" разделена на две части: первая содержит логические переменные (опции), вторая содержит таблицу со списком разрешенных действий с документом.
|
||||
|
||||
#### Опции
|
||||
|
||||
- **Правит любой участник** – редактировать редактировать содержимое таких документов как: входящие документы, исходящие документы, ОРД, Поручение, служебная записка, заявки в техническую поддержку, служебная записка для договора, договоров и дополнительных документов к договору, может любой участник маршрута, имеющий статус "Текущий";
|
||||
- **Разрешено отклонение** – участники маршрута, имеющие статус "Текущий", могут отклонить документ и отправить его на доработку инициатором;
|
||||
- **Разрешен отзыв** – инициатор маршрута может отозвать документ на любом этапе маршрута для доработки, пока маршрут по документу не завершен;
|
||||
- **Полностью повторять маршрут при отклонении** – после отклонения документа маршрут перестроится следующим образом: документ отзывается с согласования у других участников и возвращается к инициатору, завершённые и назначенные этапы маршрута добавятся в конец маршрута со статусом "Ожидание";
|
||||
- **Полностью повторять маршрут при отзыве** – после отзыва документа инициатором маршрут перестроится следующим образом: документ отзывается с согласования у других участников и возвращается к инициатору, завершённые и назначенные этапы маршрута добавятся в конец маршрута со статусом "Ожидание";
|
||||
- **Разрешено "горячее редактирование" без отзыва** – участник, обладающий специальной ролью, может в любой момент времени (при любом статусе в маршруте) откорректировать маршрут документа;
|
||||
- **Оповещать инициатора о завершении маршрута** – присылать инициатору уведомление на почту о завершении маршрута согласования документа;
|
||||
- **В оповещениях отображать весь список участников** – перечислять в уведомлениях на почту список участников маршрута для таких документов как: входящие документы, исходящие документы, ОРД, Поручение, служебная записка, заявки в техническую поддержку, служебная записка для договора, договоров и дополнительных документов к договору;
|
||||
- **Отображать кнопку Делег в маршруте** – возможность делегировать выполнение действия по маршруту другому пользователю;
|
||||
- **Отображать кнопку Делег 2х в маршруте** – возможность делегировать с контролем выполнение действия по маршруту другому пользователю;
|
||||
- **Отмена сразу** – используется в *Поручениях*, при отправке документа инициатору на доработку, документ не задерживается у отклоняющего для корректировки маршрута после отмены;
|
||||
- **Постановка на контроль после отправки** – после отправки документа далее по маршруту в разделе "Контроль" окна "Документооборот" отслеживается маршрут обработанного документа;
|
||||
- **Закрывать документ автоматически после отправки по маршруту** – вместо появления диалогового окна с предложением закрыть документ, после отправки документа по маршруту он закрывается автоматически;
|
||||
- **Отображать код в наименовании документа** – в заголовке маршрута к наименованию документа в скобках добавляется код документа, указанный в поле "Код" в реестре и используемый в адресной строке;
|
||||
- **Комментировать вложения при согласовании** – подключение сервиса, который при отправке документа по маршруту показывает вложения из "Вложения" в окне для ввода комментариев, причём позволяет дать комментарий как к действию в целом, так и по каждому вложению;
|
||||
- **ЭП в списках рассылки** – ознакомление с документом происходит с использованием электронной подписи (ЭП);
|
||||
- **Форма построена на конструкторе документов** – включает форму в список типов документа, для которых может создаваться конструктор документов;
|
||||
- **Кол-во дней на ознакомление в списках рассылки** - указывается количество дней для ознакомления с документами, полученными через рассылку. Если поле не заполнено - по умолчанию 2 дня;
|
||||
- **Разрешено к массовой обработке** - разрешено [массово обработать документы](https://ecm-user-manuals.readthedocs.io/ru/latest/User%20manuals/%D0%9A%D0%AD%D0%94%D0%9E/%D0%9F%D0%BE%D0%B4%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5%20%D1%81%D0%B5%D1%80%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%82%D0%BE%D0%BC/%D0%9F%D0%BE%D0%B4%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5%20%D1%81%D0%B5%D1%80%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%82%D0%BE%D0%BC/#%D0%BC%D0%B0%D1%81%D1%81%D0%BE%D0%B2%D0%B0%D1%8F_%D0%BE%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%BE%D0%B2);
|
||||
- **Разрешено к массовой обработке на 1-м этапе** - разрешено [массово обработать документы](https://ecm-user-manuals.readthedocs.io/ru/latest/User%20manuals/%D0%9A%D0%AD%D0%94%D0%9E/%D0%9F%D0%BE%D0%B4%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5%20%D1%81%D0%B5%D1%80%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%82%D0%BE%D0%BC/%D0%9F%D0%BE%D0%B4%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5%20%D1%81%D0%B5%D1%80%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%82%D0%BE%D0%BC/#%D0%BC%D0%B0%D1%81%D1%81%D0%BE%D0%B2%D0%B0%D1%8F_%D0%BE%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%BE%D0%B2), в которых пользователь находится на 1-м этапе в маршруте, например документы на подписание;
|
||||
- **Скрыть "Лист согласования"** - скрывает кнопку "Лист согласования" в панели инструментов в документах;
|
||||
- **Показывать в мобильном приложении** - включает отображение типа документа в [истории операции в мобильном приложении](https://ecm-user-manuals.readthedocs.io/ru/latest/User%20manuals/%D0%9C%D0%BE%D0%B1%D0%B8%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5/%D0%9E%D0%B1%D1%89%D0%B8%D0%B5%20%D0%BF%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF%D1%8B%20%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B%20%D1%81%20%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC/%D0%9E%D0%B1%D1%89%D0%B8%D0%B5%20%D0%BF%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF%D1%8B%20%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B%20%D1%81%20%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC/#%D0%B2%D0%BA%D0%BB%D0%B0%D0%B4%D0%BA%D0%B0_%D0%B8%D1%81%D1%82%D0%BE%D1%80%D0%B8%D1%8F).
|
||||
|
||||
#### Список разрешенных действий с документом
|
||||
|
||||
В правой части вкладки "Маршрут документооборота" содержится таблица со списком возможных действий, которые можно совершить при отправке документа по маршруту.
|
||||
|
||||

|
||||
|
||||
Столбец **"Действие с документом"** соответствует столбцу **"Совершить действие"** в маршруте документа. Столбец **"Статус документа"** соответствует столбцу **"Статус документа"** в маршруте документа. Столбец **"Направление движения документа"** определяет направление, в котором будет отправлен документ после обработки. Имеется три направления:
|
||||
|
||||
1. **Документ отправится далее по маршруту** - после подписания документ направляется далее по маршруту согласования;
|
||||
2. **Документ сразу вернется инициатору** - документ направляется инициатору в случае не согласования. Маршрут согласования в этом случае повторяется.
|
||||
3. **Документ вернется только инициатору** - документ направляется инициатору в случае не согласования документа по маршруту. Маршрут согласования в этом случае не повторяется.
|
||||
4. **Документ вернется инициатору и всем несогласным** - документ направляется инициатору и всем несогласным в случае не согласования документа по маршруту.
|
||||
5. **Ошибочно направлено. Документ вернется только инициатору** - документ направляется инициатору в случае не согласования документа по маршруту, по причине что документ был ошибочно направлен пользователю на согласование. Маршрут согласования в этом случае не повторяется.
|
||||
|
||||
Ко всем типам документов действие должно быть выбрано "Далее".
|
||||
|
||||
По умолчанию для каждого вида документа должен быть выбран один вид действия. Это необходимо для массовой обработки документов, подробнее можно почитать в статье [Массовая обработка документов](https://ecm-user-manuals.readthedocs.io/ru/latest/User%20manuals/%D0%9A%D0%AD%D0%94%D0%9E/%D0%9F%D0%BE%D0%B4%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5%20%D1%81%D0%B5%D1%80%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%82%D0%BE%D0%BC/%D0%9F%D0%BE%D0%B4%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5%20%D1%81%D0%B5%D1%80%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%82%D0%BE%D0%BC/#%D0%BC%D0%B0%D1%81%D1%81%D0%BE%D0%B2%D0%B0%D1%8F_%D0%BE%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%BE%D0%B2).
|
||||
Для каждого статуса документа можно определить, что будет происходить с маршрутом после выбора соответствующего статуса. Кроме отправки документа далее по маршруту также возможен, например, отзыв документа.
|
||||
|
||||

|
||||
|
||||
С помощью столбца **"Особая метка"** можно отмечать выполненные действия в маршруте документа с помощью выделения строки определенным цветом и использования специальных иконок. Доступны метки "Желтый флаг" и "Красный флаг". Желтый флаг может сигнализировать о выполнении действия с замечаниями (например, "Согласовано с замечаниями"). Красный флаг может сигнализировать об отказе подписать документ.
|
||||
|
||||

|
||||
|
||||
С помощью столбца **"Порядок"** можно определять порядок отображения допустимых действий в панели инструментов внутри документов. Например, если у действия "Подписать ЭП" установлен порядок равный 1, значит это действие будет на первом месте в панели инструментов.
|
||||
|
||||
С помощью столбца **Отрицательный статус** можно отмечать, имеет ли выбранное допустимое действие отрицательный статус. _Отрицательный статус у электронного документа_ - это отметка, которое указывает на то, что электронный документ не может быть принят или обработан по каким-либо причинам. Это может произойти, если документ содержит ошибки в формате или не соответствует требованиям, установленным для конкретного типа документа.
|
||||
|
||||
С помощью столбца **"Присвоить номер"** определяется после какого действия с документом в нем будет проставляться номер. Данная настройка работает на служебных записках, исходящих документах, организационно-распорядительных документах.
|
||||
|
||||
### Вкладка "Сервисы документооборота"
|
||||
|
||||
На этой вкладке можно настроить отслеживание данных в документе для соответственной корректировки его наименования и работу механизма отображения опосредованных связок.
|
||||
|
||||

|
||||
|
||||
Опция **Отслеживать изменение наименования сервисом DocflowWatcher** используется для отслеживания изменений в реквизитах документа для изменения его наименования и темы в разделе "Документооборот" в соответствии с его реквизитами. Если опция не включена, наименование и/или тема документа в разделе "Документооборот" изменятся только после сохранения **и** отправки документа далее по маршруту. Если опция включена, то наименование и/или тема документов меняются после сохранения документа, не дожидаясь отправки далее по маршруту.
|
||||
|
||||

|
||||
|
||||
По нажатию на кнопку "Связки", доступную из формы документа, открывается вложенная форма "Связки с документами системы", в которой содержится таблица "Связанные документы". Без включения опции **Использовать механизм отображения опосредованных связок** в ней отображаются только документы, напрямую связанные с текущим.
|
||||
|
||||

|
||||
|
||||
При помощи опции **Использовать механизм отображения опосредованных связок** можно включить возможность просмотра документов, не связанных напрямую с текущим. На форме "Связки с документами системы" появится опция **Опосредованные связки**, включающая отображение в таблице "Связанные документы" опосредованно связанных с текущим документов, и числовое поле **итераций**, задающая глубину связи.
|
||||
|
||||

|
||||
|
||||
Если опция **Отображать опосредованные связки по умолчанию** включена, то при нажатии на кнопку "Связки" опция **Опосредованные связки** будет уже автоматически включена.
|
||||
|
||||

|
||||
|
||||
В поле **Количество итераций по умолчанию при расчете опосредованных связок** можно указать количество итераций по умолчанию. При просмотре связанных документов поле **итераций** будет заполнено выбранным числом, но всё ещё будет изменяемым.
|
||||
|
||||

|
||||
|
||||
### Вкладка "Поисковая система"
|
||||
|
||||
На этой вкладке происходит подключение документов определенного типа к системе контекстного поиска документов. Более подробно про взаимодействие пользователей с контекстным поиском можно прочесть в разделе [Контекстный поиск](https://ecm-user-manuals.readthedocs.io/ru/latest/User%20manuals/%D0%A1%D0%AD%D0%94/%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D1%8B%D0%B9%20%D0%BF%D0%BE%D0%B8%D1%81%D0%BA/%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D1%8B%D0%B9%20%D0%BF%D0%BE%D0%B8%D1%81%D0%BA/).
|
||||
|
||||
Для идентификации подключаемого документа поисковой системой в настроечном документе ему необходимо присвоить тип, указать наименование и ключ формы. Дальнейшая настройка производится на закладке "Поисковая система". Здесь и далее на примере документа "Входящее письмо".
|
||||
|
||||

|
||||
|
||||
#### Настройка полнотекстовых индексов
|
||||
|
||||
Сначала необходимо добавить в таблицу "Таблицы" новую строку с помощью кнопки "Добавить". В столбце *Таблица* необходимо указать наименование базовой таблицы модели документа – ```dbo.DocflowDocument```. Наименование должно содержать имя схемы. Использование квадратных скобок для обрамления сущностей не допускается. Имена схем в СУБД SQL Server отличаются от имен в СУБД PostgreSQL. В столбце *IndexedFields* необходимо выбрать из выпадающего списка поля таблицы, для которых необходимо настроить полнотекстовые индексы. В списке представлены все символьные поля целевой таблицы за исключением служебных (```TypeName```, ```CUser```, ```WUser```, ```CHost```, ```WHost```).
|
||||
|
||||

|
||||
|
||||
После этого необходимо сохранить документ и в базе данных (БД) вручную запустить на исполнение процедуру *ManageFullTextIndexes* (экспортируется библиотекой ```ecosoft-lexema8-CommonDocuments```).
|
||||
|
||||
``` sql
|
||||
exec dbo.ManageFullTextIndexes
|
||||
```
|
||||
|
||||
В результате выполнения этой процедуры в базе данных будут созданы все необходимые объекты (полнотекстовый каталог, стоп-лист и заявленные полнотекстовые индексы).
|
||||
|
||||
!!! warning
|
||||
|
||||
Эту операцию необходимо будет выполнять каждый раз после изменения конфигурации системы поиска (например, при подключении нового документа или при изменении набора символьных полей в существующей настройке).
|
||||
|
||||
#### Скрипт связки результатов полнотекстового поиска с документами
|
||||
|
||||
Для поиска система использует запрос ```CONTAINSTABLE```, который возвращает только ключ записи в таблице со значениями полей, удовлетворяющих заданным критериям без привязки к конкретному типу документа. Выглядит это примерно так:
|
||||
|
||||
``` sql
|
||||
-- insert into #ftResult ([KEY], [TableName], [ColumnName], [RANK])
|
||||
select b.[KEY], b.[TableName], b.[ColumnName], b.[RANK] from
|
||||
(
|
||||
select ID=row_number() over (partition by a.[TableName], a.[KEY] order by a.[Rank] DESC), a.*
|
||||
from
|
||||
(
|
||||
select [TableName] = 'dbo.DocflowDocument', [ColumnName] = 'Subject', [KEY], [RANK] from CONTAINSTABLE(dbo.DocflowDocument, [Subject],' ( "светильник *" ) OR ( FORMSOF (INFLECTIONAL, светильник) ) ')
|
||||
union all
|
||||
select [TableName] = 'dbo.DocflowDocument', [ColumnName] = 'Text', [KEY], [RANK] from CONTAINSTABLE(dbo.DocflowDocument, [Text],' ( "светильник *" ) OR ( FORMSOF (INFLECTIONAL, светильник) ) ')
|
||||
) as a
|
||||
) as b
|
||||
where b.ID = 1
|
||||
```
|
||||
|
||||

|
||||
|
||||
Поэтому системе необходим специальный скрипт, который связал бы результат поиска с документами. Он вводится в поле ```SelectQuery``` следующим образом:
|
||||
|
||||
```sql
|
||||
select [KEY] = VCode, DocCode = VCode, DocType = TypeName from dbo.DocflowDocument
|
||||
```
|
||||
|
||||

|
||||
|
||||
Скрипт должен возвращать три ```NOT NULL```-поля:
|
||||
|
||||
- ```KEY``` – ключ для связки с выборкой;
|
||||
- ```DocCode``` – код документа;
|
||||
- ```DocType``` – тип документа.
|
||||
|
||||
В примере рассматривается случай, когда тип документа хранится в специально выделенном для этого поле ```TypeName``` таблицы. Если такого поля нет (т.е. на таблице построен только один документ) тип в свойство ```DocType``` необходимо передать константой
|
||||
|
||||
```sql
|
||||
select [KEY] = VCode, DocCode = VCode, DocType = 'TestDoc' from dbo.TestDoc
|
||||
```
|
||||
|
||||
Сама связка внутри системы выглядит примерно так:
|
||||
|
||||

|
||||
|
||||
#### Скрипт на выборку результирующего набора данных
|
||||
|
||||
Задается в правой части настроечного документа. Осуществляет сбор результатов поиска, дополняя ее необходимыми свойствами для отображения на форме и применяя к ней заданные аналитические фильтры. Также на него возлагается отсечка документов, удовлетворяющих заданным критериям поиска, но на которые запрашивающий пользователь не имеет прав просмотра. Скрипт должен иметь *строго определенную структуру*, возвращая шесть полей в следующем порядке:
|
||||
|
||||
* ```DocCode``` – код документа;
|
||||
* ```DocType``` – тип документа;
|
||||
* ```DocName``` – наименование документа;
|
||||
* ```DocTheme``` – тема документа;
|
||||
* ```DocDefinition``` – описание документа;
|
||||
* ```CanSee``` – флаг, отвечающий за возможность отображения данного документа на форме.
|
||||
|
||||

|
||||
|
||||
Пример типового скрипта:
|
||||
|
||||
```sql
|
||||
select
|
||||
DocCode = t.VCode
|
||||
, DocType = t.TypeName
|
||||
, DocName = 'Входящий документ №' + case when isnull(t.DocumentNumber, '') = '' then '...' else t.DocumentNumber end
|
||||
+ case when t.DocumentDate is null then '' else ' от ' + convert(varchar(10), t.DocumentDate, 104) end
|
||||
, DocTheme = isnull(t.[Subject], '')
|
||||
, DocDefinition = isnull(t.[Text], '')
|
||||
, CanSee = 1
|
||||
from dbo.DocflowDocument as t
|
||||
where %WhereMacro
|
||||
```
|
||||
|
||||

|
||||
|
||||
Особенности написания:
|
||||
|
||||
* Базовая таблица модели документа должна присутствовать явно или неявно (как в примере: внутри представления ```dbo.VDocflowDocumentReg```) и иметь псевдоним "**t**", т.к. все инструкции аналитических фильтров будут обращаться к ней именно по этому псевдониму.
|
||||
* Должна присутствовать инструкция ```where``` и содержать только метку ```%WhereMacro```, которая будет заменяться системой на инструкции аналитических фильтров.
|
||||
* Если в таблице не выделено поле для хранения типов, свойство ```DocType``` описывается константой, например ```DocType = 'TestDoc'```.
|
||||
* Если для документа не предполагается иметь тему или описание, соответствующим свойствам необходимо присвоить значение ```NULL``` (например, ```DocDefinition = NULL```).
|
||||
* Если документ подключен к СЭД, инструкция по формированию наименования документа (свойство ```DocName```) **должна быть синхронизирована** с логикой соответствующей js-функции документооборота ```getReadableName```. Эта инструкция будет применяться только для тех документов, к которым не нашелся текущий маршрут согласования. Если маршрут есть – наименование берется оттуда.
|
||||
* Флаг ```CanSee``` должен возвращать значение, действительно отражающее наличие или отсутствие прав у пользователя на просмотр данного документа, т.к. ответственность за показ пользователю не предназначенной ему конфиденциальной информации может быть возложена на прикладника, осуществлявшего настройку (в примере флаг выставлен в "**1**" потому что все возможные проверки уже сделаны в представлении ```dbo.VDocflowDocumentReg```, – она является реестровым представлением документа).
|
||||
|
||||
#### Завершение настройки
|
||||
|
||||
* Опции ```FTS2``` и ```Итоги``` позволяют включить документ в поиск в аналитической форме "Архив вложенных документов".
|
||||
* Указать значение свойства ```typeNameProperty``` модели документа (если есть). Оно будет использоваться для фильтрации документов, если при вызове поискового запроса был назначен аналитический фильтр по разделам (типам документов).
|
||||
* Указать значение свойства ```dateProperty``` модели документа (если есть). Оно будет использоваться для фильтрации документов, если при вызове поискового запроса был назначен аналитический фильтр по расчетному периоду.
|
||||
* Аналогично с остальными свойствами.
|
||||
|
||||
Осталось поставить галочку в поле "Настроен" и сохранить документ.
|
||||
|
||||

|
||||
|
||||
#### Дополнительная аналитика в критериях поиска
|
||||
|
||||
Выше была рассмотрена возможность поиска по символьным реквизитам документа и реквизитам его маршрута согласования. Однако на проектах часто возникает необходимость поиска по специфическим справочным свойствам документа, которые представлены в базовой таблице полем типа ``bigint``, а в шаблоне формы элементом управления ```Lookup``` (список). Например, необходимо найти все входящие письма, в которых фигурирует контрагент (отправитель) "ПАО Мегафон" с возможностью поиска как с настройкой аналитического фильтра (отметить галочкой необходимую организацию в специальном поле ввода в *Настройке расширенных параметров поиска*), так и непосредственным указанием фрагмента наименования организации или её ИНН в окне поискового запроса. Оба этих способа реализуемы.
|
||||
|
||||
Для поиска по ИНН необходимо, чтобы контекстный поиск искал словоформы в подчиненных базовой таблицах. Реализуется введением в настройку документа обработки скрипта связки справочной таблицы с документом. На практике это выглядит так:
|
||||
|
||||

|
||||
|
||||
Т.е. в настройку добавляется строка для обработки таблицы ```dbo.Contractor``` с индексированными полями ```INN``` и ```Name``` (после сохранения настройки необходимо выполнить синхронизацию ```exec dbo.ManageFullTextIndexes```). Запрос на первоначальную выборку будет выглядеть следующим образом:
|
||||
|
||||
```sql
|
||||
select [KEY] = c.VCode, DocCode = t.VCode, DocType = t.TypeName
|
||||
from dbo.Contractor as c
|
||||
inner join dbo.DocflowDocument as t on t.Contractor = c.VCode
|
||||
```
|
||||
|
||||
Чтобы осуществлять поиск по наименованию контрагента при помощи выбора контрагентов из списка, необходимо заполнить "поле Контрагент" наименованием соответствующего поля в таблице ```dbo.DocflowDocument```:
|
||||
|
||||

|
||||
|
||||
### Набор возможных документов и их основных полей { #таблица }
|
||||
|
||||
| Тип документа | Форма | Наименование документа | Таблица |
|
||||
| --------------|-------|------------------------|-------- |
|
||||
| IncomingDocument | IncomingDocumentForm | Входящие документы | DocflowDocument |
|
||||
| Base.Contract | ContractForm | Договор | Contract |
|
||||
| Base.ValidContractDocument | ValidContractDocumentForm | Документ, имеющий силу договора | Contract |
|
||||
| DocumentForSigning | DocumentForSigningForm | Документы на подписание | UniversalDocument |
|
||||
| Base.AdditionalContract | AdditionalContractForm | Дополнительные документы к договору | AdditionalContract |
|
||||
| ServiceDesk | ServiceDeskForm | Заявка в техподдержку | DocflowDocument |
|
||||
| ECPCertificateApplication | ECPCertificateApplicationForm | Заявка на выпуск сертификатов ЭЦП | ECPCertificateApplication |
|
||||
| EmployeeStatement | EmployeeStatementForm | Заявления от сотрудников | UniversalDocument |
|
||||
| OutgoingDocument | OutgoingDocumentForm | Исходящие документы | DocflowDocument |
|
||||
| LND | LNDForm | Локально-нормативные акты | UniversalDocument |
|
||||
| OrganizationalDocument | OrganizationalDocumentForm | ОРД | DocflowDocument |
|
||||
| Instruction | InstructionForm | Поручения | DocflowDocument |
|
||||
| ServiceRecordForContract | ServiceRecordForContractForm | СЗ для регистрации договора | DocflowDocument |
|
||||
| ServiceRecordForAdditionalDocument | ServiceRecordForAdditionalDocumentForm | СЗ для регистрации доп. документов к договору | DocflowDocument |
|
||||
| ServiceRecord | ServiceRecordForm | Служебные записки | ServiceRecord |
|
||||
| ServiceRecordForBusinessTrip | ServiceRecordForBusinessTripForm | Служебные записки на командировку | DocflowDocument |
|
||||
| UniversalDocument | UniversalDocumentForm | Универсальный документ | UniversalDocument |
|
||||
Reference in New Issue
Block a user