Закладка Документооборот Дизайнера документов: различия между версиями

Материал из Intellex
Перейти к навигации Перейти к поиску
Строка 73: Строка 73:
|-
|-
|Поиск
|Поиск
|предназначена для поиска апп-функций и переходов
|Предназначена для поиска апп-функций и переходов
|}'''3. Панель навигации'''
|}'''3. Панель навигации'''


Строка 399: Строка 399:
'''<big>Свойства результата</big>'''
'''<big>Свойства результата</big>'''


В настройках выбранного результата необходимо задать название результата и в выпадающем списке выбрать право '''(п. 6.6)''' для результата. Далее добавить апп-функции для события до и после перехода
В настройках выбранного результата необходимо задать название результата и в выпадающем списке выбрать право ([https://xmdocs.intellex.ru/index.php/%D0%97%D0%B0%D0%BA%D0%BB%D0%B0%D0%B4%D0%BA%D0%B0_%D0%94%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%BE%D0%BE%D0%B1%D0%BE%D1%80%D0%BE%D1%82_%D0%94%D0%B8%D0%B7%D0%B0%D0%B9%D0%BD%D0%B5%D1%80%D0%B0_%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%BE%D0%B2#%D0%92%D0%BA%D0%BB%D0%B0%D0%B4%D0%BA%D0%B0_%C2%AB%D0%9F%D1%80%D0%B0%D0%B2%D0%B0%C2%BB Вкладка Права]) для результата. Далее добавить апп-функции для события до и после перехода


Чтобы добавить событие до и после перехода для результата, необходимо добавить апп-функцию выполнения и отмены.
Чтобы добавить событие до и после перехода для результата, необходимо добавить апп-функцию выполнения и отмены.
Строка 407: Строка 407:
После поиска апп-функции, в случае её обнаружения, проверяется количество и тип передаваемых параметров. Если переданная информация не соответствует ожидаемым значениям по каким-то характеристикам, то апп-функция выполняться не будет. Вместо этого сервер приложений вернёт ошибку.
После поиска апп-функции, в случае её обнаружения, проверяется количество и тип передаваемых параметров. Если переданная информация не соответствует ожидаемым значениям по каким-то характеристикам, то апп-функция выполняться не будет. Вместо этого сервер приложений вернёт ошибку.


== 1.8        Вкладка «ЭЦП» ==
== Вкладка «ЭЦП» ==
'''<big>Добавление ЭЦП</big>'''


=== 1.8.1       Добавление ЭЦП ===
Для добавления электронной цифровой подписи (далее – ЭЦП) необходимо перейти на закладку «ЭЦП» и нажать на кнопку «Добавить». Выделив созданную ЭЦП, откроется блок с настройками.
Для добавления электронной цифровой подписи (далее – ЭЦП) необходимо перейти на закладку «ЭЦП» (Рисунок 22) и нажать на кнопку «Добавить». Выделив созданную ЭЦП, откроется блок с настройками (Рисунок 44).
[[Файл:ДО 28.png|без|мини]]
'''<big>Удаление ЭЦП</big>'''
Для удаления ЭЦП необходимо нажать на   напротив него на вкладке «ЭЦП».
[[Файл:ДО 29.png|без|мини]]
'''<big>Свойства ЭЦП</big>'''


После добавления необходимо добавить скрипты для формирования текстового представления ЭЦП, в котором должно быть указаны возможные входные параметры:
ИД документа (:DOC_ID),


Рисунок 44 Добавление ЭЦП
ИД результата (RESULT_ID),


=== 1.8.2       Удаление ЭЦП ===
ИД записи в SYS_ECP_PATH (:ECP_PATH_ID),
Для удаления ЭЦП необходимо нажать на   напротив него на вкладке «ЭЦП» (Рисунок 45).


Рисунок 45 Удаление ЭЦП
дата, на которую получаем ТП (:DOC_DATE),


=== 1.8.3       Свойства ЭЦП ===
ИД операции (:OPER_ID),  
После добавления необходимо добавить скрипты для формирования текстового представления ЭЦП, в котором должно быть указаны возможные входные параметры: ИД документа (:DOC_ID), ИД результата (RESULT_ID), ИД записи в SYS_ECP_PATH (:ECP_PATH_ID), дата, на которую получаем ТП (:DOC_DATE), ИД операции (:OPER_ID), ИД пользователя (:USER_ID), обязательный выходной параметр :TEXT. Также необходимо указать период действия скрипта (Рисунок 46).
 
 
Рисунок 46 Настройка ЭЦП


ИД пользователя (:USER_ID),
обязательный выходной параметр :TEXT. Также необходимо указать период действия скрипта.
[[Файл:ДО 30.png|без|мини]]
Апп-функцию XM_DOC_S_GetDocECPProps нужно вызвать при (пере)открытии документа. Если параметр DOC_ECP_SIGN <> 0 и не пуст, то документ уже ЭЦП можно отразить на клиенте.
Апп-функцию XM_DOC_S_GetDocECPProps нужно вызвать при (пере)открытии документа. Если параметр DOC_ECP_SIGN <> 0 и не пуст, то документ уже ЭЦП можно отразить на клиенте.


Строка 460: Строка 465:
SYS_ECP_TSPFUNCTION - Функция получения TSP. Пример FUNCTION FCCTEST.TEST_GET_TSP (p_sign IN BLOB) RETURN BLOB  -  при этом в sys_Var_value нужно прописать FCCTEST.TEST_GET_TSP
SYS_ECP_TSPFUNCTION - Функция получения TSP. Пример FUNCTION FCCTEST.TEST_GET_TSP (p_sign IN BLOB) RETURN BLOB  -  при этом в sys_Var_value нужно прописать FCCTEST.TEST_GET_TSP


== 1.9        Вкладка «Поиск» ==
== Вкладка «Поиск» ==
Предназначена для поиска апп-функций и переходов.
[[Файл:ДО 31.png|без|мини]]

Версия 14:36, 28 июля 2022

Документооборот - это схема, которая определяет состояния документа и переходы между ними для управления бизнес-процессами компании.

ДО 1.1.1.png

Панель инструментов закладки «Документооборот».

Закладка Документооборот содержит:

1. Панель инструментов с командами:

Скрыть/

показать название переходов

Отображение и скрытие наименований переходов
ДО 1.1.png
Экспорт картинки Сохранение картинки документооборота в формате "png"
ДО 2.png

2. Вкладки:

Состояния Состояние документа предназначен для отслеживания статуса документа на его жизненном цикле.

Состояния находятся в таблице DOC_STATE.

ДО 3.png
Роли Роли предназначены для дополнительного способа ограничений на определенный набор действий в системе.

Роли находятся в таблице 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.png

4. Масштабирование блоков

Размер блока отображения параметров и навигации документооборота настраивается при помощи мыши.

Для увеличения ширины окна необходимо навести курсор мыши на левую границу до появления иконки и удерживая зажатой левую кнопку мыши растянуть до нужного размера.

Горизонтальная прокрутка строк осуществляется при помощи полосы прокрутки (скролла).

Вертикальная прокрутка строк осуществляется при помощи колесика мыши или полосы прокрутки (скролла)

ДО 5.png

Создание документооборота

Построение схемы документооборота заключается в добавлении состояний и переходов в порядке установленным бизнес-процессом документа.  При создании документа, в рабочей области документооборота проставляется начальное событие и состояние.

ДО 6.png

Документооборот может быть создан с несколькими начальными состояниями, которые разделяются ролями (Вкладка «Роли») и должны быть взаимоисключающие.

Для добавления множественных начальных переходов в одно состояние, с разными результатами необходимо выделить нужное состояние и в свойства нажать на кнопку «Добавить начальный переход».

ДО 7.png

Добавление состояния

Чтобы добавить новое состояние, необходимо навести указатель мыши на рабочую область и нажать кнопку «Insert» на клавиатуре.

После чего будет добавлено новое состояние, которое можно переместить в пределах рабочей области. Для этого его необходимо выделить и удерживая левую кнопку мыши переместить.

ДО 8.png

Также добавить новое состояние можно, наведя курсор мыши на начальное состояние, пока не появятся стрелки (слева, справа и снизу)

При нажатии на стрелку левой кнопкой мыши, будет добавлено новое состояние в выбранном направлении.

ДО 9.png

Состояния добавляются кратно нажатию на кнопку «Insert» или при нажатии на стрелки (Рисунок 28).

ДО 10.png

Для удаления состояния его необходимо выделить, нажав левой кнопкой мыши и нажать кнопку «Delete».

Чтобы просмотреть список созданных состояний и основные параметры необходимо открыть вкладку «Состояния».

ДО 11.png

Добавление перехода

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

Чтобы создать переход между состояниями, добавленными с помощью кнопки «Insert», необходимо навести курсор мыши на состояние до появления точек подключений.

ДО 12.png

Далее наведя курсор мыши на точку подключения «Нового состояния 1» и зажав левую кнопку мыши необходимо протянуть переход до точки подключения «Нового состояния 2».

ДО 13.png

Для удаления перехода его необходимо выделить, нажав левой кнопкой мыши и нажать кнопку «Delete».

Параметры состояния и перехода

Для добавления или редактирования параметров необходимо выделить нужное состояние или переход. Откроется блок со свойствами.

Параметры состояния содержат следующие поля:

ДО 14.png
Наименование Описание
Название Наименование состояния
Начальное состояние Установка значения начального состояния.
Сохранение Выбор параметров сохранения документа на переходе. Описание в 6.4 Параметры сохранения документа
Некомплитность Незаверешнное состояние документа.

Ограничения:

1      Состояния не могут быть начальными, терминальными или участвовать в корректировках.

2      Документ в некомплитном состоянии нельзя сохранять и делать переходы сами в себя.

3      Право в переходе, входящем в некомплитное состояние, должно быть такое же как право на выходящем переходе

Количество точек подключений 16 точек

28 точек

36точек

Параметры перехода содержат следующие поля:

ДО 15.png
Наименование Описание
Название Наименование перехода
Тип перехода Выбор типа перехода:

-   обычный переход

-   корректировка

Право Выбор права из выпадающего списка
Результат Выбор результата из выпадающего списка.
Роль Выбор роли из выпадающего списка
Отмена Установка признака отмены операции.

При установке возможности отмены операции необходимо задать «Право отмены» и «Роль отмены» для которых данное свойство будет доступно.

Не сохранять перед переходом
Без проверки контролей Установка признака без проверки контролей, который позволяет совершить переход, даже если в документе есть ошибки
Доступна как групповая операция Установка признака применения группового перехода, который позволяет совершать переход как групповой. Пример: в фильтре документов для выбранных строк в гриде.
Метод переоткрытия Задается в сохраняемых состояниях и переходах.

·   По настройке документа – задается на закладке «Свойства».

·   Без переоткрытия – обновление только состояний и кнопок при переходе по документообороту

·   Мягкое – WebShell получает новые данные документа из БД и, не закрывая старый документ, накладывает полученные данные в открытый документ, аналогично как при выполнении внешнего действия. Если XML при сохранении будет аналогичен полученному XML, то действия выполнены не будут, так как нет изменившихся параметров

·   Полное - WebShell закрывает документ и полностью выполняет процедуру открытия документа, при этом выполняются все действия описанные в правилах  также как при обычном открытии документа.

Диалог на переходе Выбор из выпадающего списка:

·   Без диалога

·   Диалог подтверждения
·   Диалог с правилами и GUI

Предназначен для дополнения пользователем реквизитов документа при выполнении операции.

·   Встроенная аналитика

В свойствах перехода указывается “Встроенная аналитика” и выбирается одна из созданных аналитик. При нажатии пользователем на кнопку перехода по документообороту, открывается окно встроенной аналитики.

Мин. длина примечания Минимальное значение ограничения длины примечания при переходе по документообороту
Макс. длина примечания Максимальное значение ограничения длины примечания при переходе по документообороту
Цвет перехода Выбор цвета перехода при работе на закладке «Документооборот»
Показывать кнопку перехода Установка признака отображения кнопки на переходе.
Настройка email-рассылки Отправка email-оповещения при переходе по документообороту

При добавлении параметров на переходе они отображаются на документообороте следующими графическими элементами:  

Графическое отображение Наименование Описание
ДО 16.png
ЭЦП Отображается, если у результата перехода настроена электронная подпись или задано текстовое представление ЭЦП
ДО 17.png
Правила Отображается, если на переходе выбран диалог с правилами и GUI
ДО 18.png
Отмена Отмена последней операции, приводящее документ к состоянию, предшествующему текущему состоянию.
ДО 19.png
Некомплитное состояние Свойство перехода, которое позволяет вернуться к предыдущему состоянию (cancel ===  true).

Параметры сохранения документа в выбранном состоянии

Для отображения и редактирования параметров сохранения документа в выбранном состоянии необходимо выделить состояние и проставить галочку напротив параметра «Сохранение» .

Далее в открывшемся блоке необходимо задать параметры.

ДО 20.1.png

Описание параметров сохранения:

Наименование Описание
Результат сохранения Выбор результата из выпадающего списка.

Описание в п. 6.7 Вкладка «Результаты»

Право на сохранение Выбор права из выпадающего списка

Описание в п. 6.6 Вкладка «Права»

Роль Выбор роли из выпадающего списка

Описание в п 6.4 Вкладка «Роли»

Метод переоткрытия Задается в сохраняемых состояниях и переходах.

·   По настройке документа – задается на закладке «Свойства».

·   Без переоткрытия – обновление только состояний и кнопок при переходе по документообороту

·   Мягкое – WebShell получает новые данные документа из БД и, не закрывая старый документ, накладывает полученные данные в открытый документ, аналогично как при выполнении внешнего действия. Если XML при сохранении будет аналогичен полученному XML, то действия выполнены не будут, так как нет изменившихся параметров

·    Полное - WebShell закрывает документ и полностью выполняет процедуру открытия документа, при этом выполняются все действия описанные в правилах  также как при обычном открытии документа.

Вкладка «Роли»

Свойства роли

Роли находятся в таблице 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

Добавление роли

Роли предназначены для дополнительного способа ограничений на определенный набор действий в системе.

Для добавления роли необходимо перейти на закладку «Роли» и нажать на кнопку «Добавить» . Выделив созданную роль, откроется блок с настройками.

ДО 22.png

Удаление роли

Для удаления роли необходимо нажать на  напротив нее на вкладке «Роли».

ДО 23.png

Вкладка «Права»

Права определяют действия пользователя на переходах по документообороту, а так же права на сохранение документа. У каждого права есть идентификатор (уникальный номер) и наименование, которое присваивается автоматически при добавлении. Справочник  прав документооборота находится в таблице SYS_BUS_FUNC.

Право относится к определенному типу TYPE_FUNC_ID и атрибуту DOC_TYPE_ID. В дополнение у этих прав TYPE_FUNC_ID проставляется в 1.

Добавление права

Для добавления права необходимо перейти на закладку «Права» и нажать на кнопку «Добавить». Выделив созданную роль, откроется блок с настройками.

ДО 24.png

Удаление права

Для удаления права необходимо нажать на  напротив него на вкладке «Права».

ДО 25.png

Вкладка «Результаты»

Добавление результата

Для добавления результата необходимо перейти на закладку «Результаты» и нажать на кнопку «Добавить».

Чтобы открыть настройки созданного результата, необходимо его выделить левой кнопкой мыши. Блок с настройками отобразится под таблицей.

ДО 26.png

Удаление результата

Для удаления результата необходимо нажать на  напротив него на вкладке «Результаты».

ДО 27.png

Свойства результата

В настройках выбранного результата необходимо задать название результата и в выпадающем списке выбрать право (Вкладка Права) для результата. Далее добавить апп-функции для события до и после перехода

Чтобы добавить событие до и после перехода для результата, необходимо добавить апп-функцию выполнения и отмены.

При выполнении апп-функции переданные параметры встраиваются в SQL-конструкцию с помощью механизма JDBC PreparedStatement, что исключает возможность SQL-injection. Для выполнения запроса используется метод передачи имени функции и параметров её выполнения. Имена всех допустимых апп-функций хранятся в таблице «SYS_APP_FUNC».

После поиска апп-функции, в случае её обнаружения, проверяется количество и тип передаваемых параметров. Если переданная информация не соответствует ожидаемым значениям по каким-то характеристикам, то апп-функция выполняться не будет. Вместо этого сервер приложений вернёт ошибку.

Вкладка «ЭЦП»

Добавление ЭЦП

Для добавления электронной цифровой подписи (далее – ЭЦП) необходимо перейти на закладку «ЭЦП» и нажать на кнопку «Добавить». Выделив созданную ЭЦП, откроется блок с настройками.

ДО 28.png

Удаление ЭЦП Для удаления ЭЦП необходимо нажать на  напротив него на вкладке «ЭЦП».

ДО 29.png

Свойства ЭЦП

После добавления необходимо добавить скрипты для формирования текстового представления ЭЦП, в котором должно быть указаны возможные входные параметры: ИД документа (:DOC_ID),

ИД результата (RESULT_ID),

ИД записи в SYS_ECP_PATH (:ECP_PATH_ID),

дата, на которую получаем ТП (:DOC_DATE),

ИД операции (:OPER_ID),

ИД пользователя (:USER_ID), обязательный выходной параметр :TEXT. Также необходимо указать период действия скрипта.

ДО 30.png

Апп-функцию 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

Вкладка «Поиск»

Предназначена для поиска апп-функций и переходов.

ДО 31.png