Закладка Документооборот Дизайнера документов
Документооборот - это схема, которая определяет состояния документа и переходы между ними для управления бизнес-процессами компании.
Панель инструментов закладки «Документооборот».
Закладка Документооборот содержит:
1. Панель инструментов с командами:
Скрыть/
показать название переходов |
Отображение и скрытие наименований переходов | |
Экспорт картинки | Сохранение картинки документооборота в формате "png" |
2. Вкладки:
Состояния | Состояние документа предназначен для отслеживания статуса документа на его жизненном цикле.
Состояния находятся в таблице DOC_STATE. |
|
Роли | Роли предназначены для дополнительного способа ограничений на определенный набор действий в системе.
Роли находятся в таблице DOC_ROLE. Все роли привязаны к Типу документа (DOC_TYPE_ID ) и доступны для просмотра и редактирования. Роли применяются: - ко всем переходам по документообороту (на начальном переходе при создании документа роль необязательна); - к работе со сканированными документами (не обязательна); - при настройке параметров сохранения в выбранном состоянии; - при произвольном действие в коде, с помощью вызова функции CHECK_ROLE | |
Права | Права определяют действия пользователя на переходах по документообороту, а так же права на сохранение документа.
У каждого права есть идентификатор (уникальный номер) и наименование, которое присваивается автоматически при добавлении. Справочник прав документооборота находится в таблице SYS_BUS_FUNC. Право относится к определенному типу TYPE_FUNC_ID и атрибуту DOC_TYPE_ID. В дополнение у этих прав TYPE_FUNC_ID проставляется в 1. | |
Результаты | Результат выполнения функции технологической операции.
Таблица SYS_FUNC_RESULT. | |
ЭЦП | Электронная цифровая подпись позволяет идентифицировать владельца подписи.
При нажатии на кнопку подписания ЭЦП вызывается апп-функция DOC_S_GETTEXTSIGN и после подписания на клиенте - апп-функция DOC_S_INSERTSIGN_NEW. Параметр ORG_ECP_SIGN может принимать следующие значения: 0 - ЭЦП не ожидается, 1 - ЭЦП нужна, но не от организации пользователя, 2 - ЭЦП от организации пользователя, 3 - ЭЦП от организации пользователя (но таймаут просрочен), 4 - ЭЦП от организации пользователя и откатывать нельзя | |
Поиск | предназначена для поиска апп-функций и переходов |
3. Панель навигации
Предназначена для перемещения схемы документооборота и ее масштабирования.
4. Масштабирование блоков
Размер блока отображения параметров и навигации документооборота настраивается при помощи мыши.
Для увеличения ширины окна необходимо навести курсор мыши на левую границу до появления иконки и удерживая зажатой левую кнопку мыши растянуть до нужного размера.
Горизонтальная прокрутка строк осуществляется при помощи полосы прокрутки (скролла).
Вертикальная прокрутка строк осуществляется при помощи колесика мыши или полосы прокрутки (скролла)
Создание документооборота
Построение схемы документооборота заключается в добавлении состояний и переходов в порядке установленным бизнес-процессом документа. При создании документа, в рабочей области документооборота проставляется начальное событие и состояние.
Документооборот может быть создан с несколькими начальными состояниями, которые разделяются ролями (Вкладка «Роли») и должны быть взаимоисключающие.
Для добавления множественных начальных переходов в одно состояние, с разными результатами необходимо выделить нужное состояние и в свойства нажать на кнопку «Добавить начальный переход».
Добавление состояния
Чтобы добавить новое состояние, необходимо навести указатель мыши на рабочую область и нажать кнопку «Insert» на клавиатуре.
После чего будет добавлено новое состояние, которое можно переместить в пределах рабочей области. Для этого его необходимо выделить и удерживая левую кнопку мыши переместить.
Также добавить новое состояние можно, наведя курсор мыши на начальное состояние, пока не появятся стрелки (слева, справа и снизу)
При нажатии на стрелку левой кнопкой мыши, будет добавлено новое состояние в выбранном направлении.
Состояния добавляются кратно нажатию на кнопку «Insert» или при нажатии на стрелки (Рисунок 28).
Для удаления состояния его необходимо выделить, нажав левой кнопкой мыши и нажать кнопку «Delete».
Чтобы просмотреть список созданных состояний и основные параметры необходимо открыть вкладку «Состояния».
Добавление перехода
Переходы между состояниями, добавленные с помощью стрелок, создаются автоматически.
Чтобы создать переход между состояниями, добавленными с помощью кнопки «Insert», необходимо навести курсор мыши на состояние до появления точек подключений.
Далее наведя курсор мыши на точку подключения «Нового состояния 1» и зажав левую кнопку мыши необходимо протянуть переход до точки подключения «Нового состояния 2».
Для удаления перехода его необходимо выделить, нажав левой кнопкой мыши и нажать кнопку «Delete».
Параметры состояния и перехода
Для добавления или редактирования параметров необходимо выделить нужное состояние или переход. Откроется блок параметров состояния (Рисунок 32) и переходов (Рисунок 33) с доступными полями.
Рисунок 32 Отображение параметров состояния
Рисунок 33 Отображение параметров перехода
Параметры состояния содержат следующие поля:
Таблица 4 Описание параметров состояний
Наименование | Описание |
Название | Наименование состояния |
Начальное состояние | Установка значения начального состояния. |
Сохранение | Выбор параметров сохранения документа на переходе. Описание в 6.4 Параметры сохранения документа |
Некомплитность | Незаверешнное состояние документа.
Ограничения: 1 Состояния не могут быть начальными, терминальными или участвовать в корректировках. 2 Документ в некомплитном состоянии нельзя сохранять и делать переходы сами в себя. 3 Право в переходе, входящем в некомплитное состояние, должно быть такое же как право на выходящем переходе |
Количество точек подключений | 16 точек
28 точек 36точек |
Параметры перехода содержат следующие поля:
Таблица 5 Описание параметров перехода
Наименование | Описание |
Тип перехода | Выбор типа перехода:
- обычный переход - корректировка |
Название | Наименование перехода |
Право | Выбор права из выпадающего списка
Описание в п. 6.6 Вкладка «Права» |
Результат | Выбор результата из выпадающего списка.
Описание в п. 6.7 Вкладка «Результаты» |
Роль | Выбор роли из выпадающего списка
Описание в п. 6.5 Вкладка «Роли» |
Отмена | Установка признака отмены операции.
При установке возможности отмены операции необходимо задать «Право отмены» и «Роль отмены» для которых данное свойство будет доступно. Описание добавления права в п. 6.6 и роли в п. 6.5 |
Без проверки контролей | Установка признака без проверки контролей, который позволяет совершить переход, даже если в документе есть ошибки |
Доступна как групповая операция | Установка признака применения группового перехода, который позволяет совершать переход как групповой. Пример: в фильтре документов для выбранных строк в гриде. |
Диалог на переходе | Выбор из выпадающего списка:
· Без диалога |
· Диалог подтверждения | |
· Диалог с правилами и GUI
Предназначен для дополнения пользователем реквизитов документа при выполнении операции. | |
· Встроенная аналитика
В свойствах перехода указывается “Встроенная аналитика” и выбирается одна из созданных аналитик. При нажатии пользователем на кнопку перехода по документообороту, открывается окно встроенной аналитики. | |
Метод переоткрытия | Задается в сохраняемых состояниях и переходах.
· По настройке документа – задается на закладке «Свойства». · Без переоткрытия – обновление только состояний и кнопок при переходе по документообороту · Мягкое – WebShell получает новые данные документа из БД и, не закрывая старый документ, накладывает полученные данные в открытый документ, аналогично как при выполнении внешнего действия. Если XML при сохранении будет аналогичен полученному XML, то действия выполнены не будут, так как нет изменившихся параметров · Полное - WebShell закрывает документ и полностью выполняет процедуру открытия документа, при этом выполняются все действия описанные в правилах также как при обычном открытии документа. |
Цвет перехода | Выбор цвета перехода при работе на закладке «Документооборот» |
Показывать кнопку перехода | Установка признака отображения кнопки на переходе. |
При добавлении параметров на переходе они отображаются на документообороте следующими графическими элементами:
Таблица 6 Описание графических элементов на переходе
Графическое отображение | Наименование | Описание |
ЭЦП | Отображается, если у результата перехода настроена электронная подпись или задано текстовое представление ЭЦП | |
Правила | Отображается, если на переходе выбран диалог с правилами и GUI | |
Отмена | Отмена последней операции, приводящее документ к состоянию, предшествующему текущему состоянию. | |
Некомплитное состояние | Свойство перехода, которое позволяет вернуться к предыдущему состоянию (cancel === true). |
Рисунок 34 Отображение параметров на переходах
1.4 Параметры сохранения документа в выбранном состоянии
Для отображения и редактирования параметров сохранения документа в выбранном состоянии необходимо выделить состояние и проставить галочку напротив параметра «Сохранение» (Рисунок 35). Далее в открывшемся блоке необходимо задать параметры.
Рисунок 35 Отображение параметров сохранения
Таблица 7 Описание параметров сохранения
Наименование | Описание |
Результат сохранения | Выбор результата из выпадающего списка.
Описание в п. 6.7 Вкладка «Результаты» |
Право на сохранение | Выбор права из выпадающего списка
Описание в п. 6.6 Вкладка «Права» |
Роль | Выбор роли из выпадающего списка
Описание в п 6.4 Вкладка «Роли» |
Метод переоткрытия | Задается в сохраняемых состояниях и переходах.
· По настройке документа – задается на закладке «Свойства». · Без переоткрытия – обновление только состояний и кнопок при переходе по документообороту · Мягкое – WebShell получает новые данные документа из БД и, не закрывая старый документ, накладывает полученные данные в открытый документ, аналогично как при выполнении внешнего действия. Если XML при сохранении будет аналогичен полученному XML, то действия выполнены не будут, так как нет изменившихся параметров · Полное - WebShell закрывает документ и полностью выполняет процедуру открытия документа, при этом выполняются все действия описанные в правилах также как при обычном открытии документа. |
1.5 Вкладка «Роли»
1.5.1 Свойства роли
Роли находятся в таблице DOC_ROLE и имеют следующие атрибуты:
Таблица 8 Таблица ролей в БД
Наименование | Описание |
NAME | Наименование роли |
DOC_TYPE_ID | ИД типа документа |
ROLE_SQL | SQL запрос роли |
Все роли привязаны к Типу документа (DOC_TYPE_ID ) и доступны для просмотра и редактирования.
Атрибут ROLE_SQL позволяет осуществлять проверку наличия роли у пользователя. В этом атрибуте лежит SQL запрос следующего формата:
SELECT ORG_TYPE_ID, ORG_ID, POST, USER_ID FROM ...
Если результирующий датасет содержит хотя бы одну строку, полностью подходящую пользователю, т.е.:
ИД текущего пользователя равен USER_ID
ИД должности текущего пользователя равен POST
ИД организации, в которой состоит текущий пользователь равен ORG_ID
ИД типа организации, в которой состоит текущий пользователь равен ORG_TYPE_ID
Вместо реальных ИД в любом поле может стоять 0, подходящее любому пользователю по аналогии с правом.
Пример для роли «Все» (создается для каждого нового документооборота и подходит для любого пользователя):
SELECT 0 ORG_TYPE_ID, 0 ORG_ID, 0 POST, 0 USER_ID FROM DUAL
С помощью оператора «Select» можно использовать внешний параметр DOC_ID
Пример применения внешних параметров:
SELECT 0 ORG_TYPE_ID, 0 ORG_ID, 0 POST, 0 USER_ID FROM DUAL WHERE :DOC_ID = 666
UNION ALL
SELECT 0 ORG_TYPE_ID, 10 ORG_ID, 0 POST, 0 USER_ID FROM DUAL
Дать доступ для любых операций с документом 666 или любому пользователю из организации с ИД = 10
Роли применяются:
- ко всем переходам по документообороту (на начальном переходе при создании документа роль необязательна);
- к работе со сканированными документами (не обязательна);
- при настройке параметров сохранения в выбранном состоянии;
- при произвольном действие в коде, с помощью вызова функции CHECK_ROLE
1.5.2 Добавление роли
Роли предназначены для дополнительного способа ограничений на определенный набор действий в системе.
Для добавления роли необходимо перейти на закладку «Роли» (Рисунок 22) и нажать на кнопку «Добавить» (Рисунок 36). Выделив созданную роль, откроется блок с настройками (Рисунок 37 ).
Рисунок 36 Добавление роли
Рисунок 37 Настройка роли
1.5.3 Удаление роли
Для удаления роли необходимо нажать на напротив нее на вкладке «Роли» (Рисунок 38).
Рисунок 38 Удаление роли
1.6 Вкладка «Права»
1.6.1 Свойства права
Права определяют действия пользователя на переходах по документообороту, а так же права на сохранение документа. У каждого права есть идентификатор (уникальный номер) и наименование, которое присваивается автоматически при добавлении. Справочник прав документооборота находится в таблице SYS_BUS_FUNC.
Право относится к определенному типу TYPE_FUNC_ID и атрибуту DOC_TYPE_ID. В дополнение у этих прав TYPE_FUNC_ID проставляется в 1.
1.6.2 Добавление права
Для добавления права необходимо перейти на закладку «Права» (Рисунок 22) и нажать на кнопку «Добавить». Выделив созданную роль, откроется блок с настройками (Рисунок 39).
Рисунок 39 Добавление права
1.6.3 Удаление права
Для удаления права необходимо нажать на напротив него на вкладке «Права» (Рисунок 40).
Рисунок 40 Удаление права
1.7 Вкладка «Результаты»
1.7.1 Добавление результата
Для добавления результата необходимо перейти на закладку «Результаты»
(Рисунок 22) и нажать на кнопку «Добавить». Чтобы открыть настройки созданного результата, необходимо его выделить левой кнопкой мыши (Рисунок 41). Блок с настройками отобразится под таблицей.
Рисунок 41 Добавление результата
1.7.2 Удаление результата
Для удаления результата необходимо нажать на напротив него на вкладке «Результаты» (Рисунок 42).
Рисунок 42 Удаление результата
1.7.3 Свойства результата
В настройках выбранного результата необходимо задать название результата и в выпадающем списке выбрать право (п. 6.6) для результата. Далее добавить апп-функции для события до и после перехода
Рисунок 43 Настройка результата
Чтобы добавить событие до и после перехода для результата, необходимо добавить апп-функцию выполнения и отмены.
При выполнении апп-функции переданные параметры встраиваются в SQL-конструкцию с помощью механизма JDBC PreparedStatement, что исключает возможность SQL-injection. Для выполнения запроса используется метод передачи имени функции и параметров её выполнения. Имена всех допустимых апп-функций хранятся в таблице «SYS_APP_FUNC».
После поиска апп-функции, в случае её обнаружения, проверяется количество и тип передаваемых параметров. Если переданная информация не соответствует ожидаемым значениям по каким-то характеристикам, то апп-функция выполняться не будет. Вместо этого сервер приложений вернёт ошибку.
1.8 Вкладка «ЭЦП»
1.8.1 Добавление ЭЦП
Для добавления электронной цифровой подписи (далее – ЭЦП) необходимо перейти на закладку «ЭЦП» (Рисунок 22) и нажать на кнопку «Добавить». Выделив созданную ЭЦП, откроется блок с настройками (Рисунок 44).
Рисунок 44 Добавление ЭЦП
1.8.2 Удаление ЭЦП
Для удаления ЭЦП необходимо нажать на напротив него на вкладке «ЭЦП» (Рисунок 45).
Рисунок 45 Удаление ЭЦП
1.8.3 Свойства ЭЦП
После добавления необходимо добавить скрипты для формирования текстового представления ЭЦП, в котором должно быть указаны возможные входные параметры: ИД документа (:DOC_ID), ИД результата (RESULT_ID), ИД записи в SYS_ECP_PATH (:ECP_PATH_ID), дата, на которую получаем ТП (:DOC_DATE), ИД операции (:OPER_ID), ИД пользователя (:USER_ID), обязательный выходной параметр :TEXT. Также необходимо указать период действия скрипта (Рисунок 46).
Рисунок 46 Настройка ЭЦП
Апп-функцию XM_DOC_S_GetDocECPProps нужно вызвать при (пере)открытии документа. Если параметр DOC_ECP_SIGN <> 0 и не пуст, то документ уже ЭЦП можно отразить на клиенте.
Параметр ORG_ECP_SIGN может принимать следующие значения:
0 - ЭЦП не ожидается,
1 - ЭЦП нужна, но не от организации пользователя,
2 - ЭЦП от организации пользователя,
3 - ЭЦП от организации пользователя (но таймаут просрочен),
4 - ЭЦП от организации пользователя и откатывать нельзя
Для значений 2 и 4 нужно показать на клиенте кнопку подписания ЭЦП.
Для значений 2 и 3 нужно показать кнопку отказа от подписания.
Для значения 0, если DOC_ECP_SIGN = 1 и ExistsRightToPaper=1, нужно показать кнопку перехода на бумажный документооборот
При нажатии на кнопку подписания ЭЦП надо вызвать апп-функцию DOC_S_GETTEXTSIGN и после подписания на клиенте - апп-функцию DOC_S_INSERTSIGN_NEW.
При нажатии на кнопку отказа от подписания надо вызвать апп-функцию DOC_S_UNDOLASTOPER.
При нажатии на кнопку перехода на бумажный документооборот надо вызвать апп-функцию Doc_S_SetZeroECPSIGN.
Для просмотра информации по ЭЦП вызываем DOC_S_GETALLSIGN для списка всех ЭЦП и DOC_S_CHECKSIGNOPER для просмотра более подробной информации по каждой ЭЦП.
В SYS_VAR_VALUE можно задать два параметры для работы с ЭЦП:
SYS_ECP2PAPER_RESULTID - Результат перехода на бумажный документооборот
SYS_ECP_TSPFUNCTION - Функция получения TSP. Пример FUNCTION FCCTEST.TEST_GET_TSP (p_sign IN BLOB) RETURN BLOB - при этом в sys_Var_value нужно прописать FCCTEST.TEST_GET_TSP