Работы, проекты или документы могут объединяться в бизнес-процессы. Исполнение длительных договоров, обработка заказов клиентов, прием новых сотрудников на работу, любые виды деятельности, требующие координации работ сотрудников и оформления набора документов, могут быть представлены как бизнес-процесс.
Под бизнес-процессом в системе PayDox понимается последовательность шагов (элементов бизнес-процесса, activities), состоящих из определенных работ, документов или задач.
Визуальный редактор бизнес-процессов позволяет эффективно и легко описать бизнес-процесс.
Описания бизнес-процессов хранятся в справочнике бизнес-процессов.
На основании описания бизнес-процессов простым нажатием на кнопку
генерируются их копии - экземпляры бизнес-процессов, которые исполняются. Экземпляры бизнес-процессов могут быть связаны с документами, обрабатываемыми в системе электронного документооборота, либо исполняться независимо.
Для организации web-доступа к описаниям и экземплярам бизнес-процессов используется технология AJAX, что позволяет эффективно использовать тонкий web-клиент (браузеры Microsoft Explorer или Mozilla Firefox) для полнофункционального управления бизнес-процессами предприятия, используя только браузер и не устанавливая на компьютеры пользователей никакого дополнительного программного обеспечения.
Функциональность PayDox AJAX-BPM включена в БЕСПЛАТНУЮ версию PayDox Personal.
Функциональность
PayDox AJAX-BPM и
функциональность
PayDox Сообщения
интегрированы между собой - при работе с бизнес-процессами можно создавать сообщения, а из сообщений переходить на бизнес-процессы, их содержащие.
Функциональность управления бизнес-процессами включает следующие возможности:
Выберите в меню «Конфигурация» пункт «Бизнес-процессы», чтобы работать только с подсистемой управления бизнес-процессами и отключить другие возможности PayDox.
Управление иерархическими бизнес-процессами
, т.е. такими бизнес-процессами, которые включают в себя другие бизнес-процессы. Каждый бизнес-процесс имеет элемент (шаг), называемый заголовком бизнес-процесса (элемент типа HEADER, header activity)
Просмотр всех экземпляров бизнес-процессов и их текущих состояний
Кликнув на заголовок описания бизнес-процесса в справочнике описаний бизнес-процессов или экземпляра бизнес-процесса в списке экземпляров бизнес-процессов, можно открыть все элементы бизнес-процесса (activities), которые к нему относятся, в том числе и элементы, которые могут быть заголовками других бизнес-процессов
Элементы бизнес-процесса содержат описания последовательно или параллельно выполняемых этапов бизнес-процесса, относящихся к данному заголовку, и могут также содержать другие заголовки бизнес-процессов, входящих в данный бизнес-процесс, либо ссылки на заголовки других бизнес-процессов (ссылки позволяют использовать существующие описания бизнес-процессов в описаниях других бизнес-процессов)
Также можно просматривать бизнес-процессы в стандарте нотации моделирования бизнес-процессов BPMN (Business Process Modeling Notation).
Для этого необходимо в меню выбрать пункт «Действия» - «BPMN вид». Выбор пункта «PayDox вид» вернет представление к прежнему виду.
Ветвление бизнес-процессов
Заголовок бизнес-процесса может быть также заголовком выбора (элемент типа HEADERCHOICE). Этот заголовок предназначен для описания выбора «Да»/«Нет», т.е. ветвления бизнес-процесса
Кликнув на заголовок выбора бизнес-процесса, можно открыть ветку бизнес-процесса, которая будет выполняться при отрицательном значении заголовка выбора
При положительном значении заголовка выбора активизируются элементы бизнес-процесса, находящиеся непосредственно под заголовком выбора
Элементы бизнес-процесса, которые могут исполняться автоматически без вмешательства пользователей (например, создание документов в системе электронного документооборота, отправка e-mail уведомлений и т.п.), выполняются, отмечаются автоматически как исполненные и следующие за ними элементы бизнес-процесса становятся активными и, далее либо исполняются, либо ожидают вмешательства пользователей (например, отметка о прибытии сотрудника из командировки, отметка о приобретении сотруднику авиабилетов и т.п.)
Управление окончанием исполнения бизнес-процесса
Описание бизнес-процесса может содержать элементы окончания бизнес-процесса типа «ENDOK» и «ENDCANCEL» Присвоение статусов «Исполнен» или «Отменен» этим элементам означает присвоение соответствующих статусов заголовку всего бизнес-процесса и бизнес-процессу в целом
Контроль текущего статуса элементов бизнес-процесса
Слева от пиктограммы бизнес-процесса располагается пиктограмма состояния (статуса) элемента бизнес-процесса. Элемент бизнес-процесса может находиться в следующих состояниях (статусах): «Неактивный», «Активный», «Исполнено» или «Отменено».
Активные элементы бизнес-процесса, выделяемые пиктограммой - это этапы бизнес-процесса, для которых наступила очередь исполняться
Просмотр и редактирование информации об элементе бизнес-процесса
Кликнув на пиктограмму состояния элемента бизнес-процесса, можно вызвать форму просмотра или редактирования информации об элементе бизнес-процесса.
При этом будут показаны и могут быть отредактированы как стандартные реквизиты элемента бизнес-процесса, так и пользовательские, формируемые алгоритмом обработки данного элемента бизнес-процесса.
Например, на скриншоте ниже реквизит «Наименование» является стандартным, а реквизит «Командируемые сотрудники» является пользовательским и выводится скриптом обработки данного элемента бизнес-процесса.
Пользовательские реквизиты хранятся в базе данных системы вместе с экземпляром бизнес-процесса как поля с именами Par...1, Par...2 ... таблицы BPInstances экземпляров бизнес-процессов базы данных PayDox, т.е. имена предустановленных пользовательских полей начинаются с префикса «Par».
Таких пользовательских полей зарезервировано некоторое количество для элементов экземпляров бизнес-процессов в стандартной поставке системы.
Описания бизнес-процессов хранятся в таблице BPs базы данных PayDox. Экземпляры бизнес-процессов хранятся в таблице BPInstances базы данных PayDox.
Добавление собственных редактируемых реквизитов в описание элемента бизнес-процесса
В карточке редактирования описания бизнес-процесса можно указать необходимость использования пользовательских полей в данном элементе бизнес-процесса, отметив соответствующий чекбокс и указав название поля, под которым данное поле будет показываться пользователям.
При необходимости, в процессе настройки или эксплуатации системы можно добавить в структуру таблицы экземпляров бизнес-процессов BPInstances базы данных PayDox любое количество дополнительных пользовательских полей с любыми именами и использовать их в своих скриптах обработки элементов бизнес-процессов.
Используя пользовательские поля, можно предоставлять пользователям возможность вводить в элемент бизнес-процесса любую информацию, требуемую для исполнения элемента бизнес-процесса, либо формировать такую информацию автоматически скриптом обработки.
Таким образом можно также формировать количественные характеристики обработки элемента бизнес-процесса, например, фактическое время, которое потребовалось для исполнения элемента бизнес-процесса или затраты на исполнение элемента бизнес-процесса и любые другие метрики, по которым можно строить отчеты реального времени.
После такой настройки системы на использование пользовательских полей эти поля появляются
в форме просмотра элемента бизнес-процесса (открывается/закрывается нажатием на стрелку под пиктограммой состояния элемента бизнес-процесса)
Дополнительные пользовательские поля можно добавлять в структуру стандартной таблицы экземпляров бизнес-процессов BPInstances базы данных PayDox, располагая их описания только после описаний стандартных полей
Также имеется возможность вставить в элемент бизнес-процесса таблицу (или несколько таблиц) произвольных реквизитов.
Структура такой таблицы указывается в интерфейсе настройки описания элемента БП и хранится в соответствующем поле настройки элемента БП с префиксом имени поля Recordset (например, Recordset, Recordset2, Recordset3 и т.д.).
Можно добавить нужное количество полей с префиксом имени поля Recordset в таблицу описаний элементов БП с именем BPs в БД PayDox для обеспечения возможности описать нужное количество таблиц параметров для элемента БП.
При этом необходимо добавить точно такое же количество полей с префиксом имени поля Recordset в таблицу экземпляров элементов БП с именем BPInstances в БД PayDox для обеспечения возможности хранения содержания этих таблиц параметров для экземпляров бизнес-процессов.
Здесь же можно указать формат полей HTML-формы для редактирования полей такой таблицы.
Далее при генерации экземпляров БП таблицы произвольных реквизитов создаются автоматически для элементов БП, в которых они описаны.
Структуры таблиц произвольных реквизитов хранятся в XML-формате в таблице BPs БД PayDox в полях с префиксом имени поля Recordset, имеющих тип Memo для
БД MS Access или тип ntext для БД MS SQL.
Сами таблицы произвольных реквизитов хранятся в XML-формате в таблице BPInstances БД PayDox в полях с такими же названиями и типами.
Таких полей, например, с именами Recordset, Recordset2, Recordset3 и т.д., может быть столько, сколько максимально таблиц необходимо вести в элементе БП.
При необходимости ведения большего количества таблиц произвольных реквизитов для одного элемента бизнес-процесса просто добавьте в структуру таблицы BPs и таблицы BPInstances соответствующие поля с префиксами имен Recordset.
Обязательным полем для таблицы произвольных параметров является поле GUID, которое создается для служебных целей и должно иметь уникальные значения.
Если структуру таблицы произвольных параметров изменить в описании элемента БП, то соответствующий экземпляр таблицы в экземпляре данного элемента БП изменится по нажатию кнопки «Обновить», если таблица пуста, т.е. не содержит данных. Удалить данные в таблице можно по кнопке «Удалить все».
После создания на основе данного описания экземпляра БП таблицы произвольных параметров появляются для просмотра и редактирования под дополнительными пользовательскими полями.
Использование AJAX-технологии позволяет просматривать и редактировать любые реквизиты любых элементов БП на одном экране без открытия новых окон и обновления экрана.
Для редактирования строки таблицы произвольных параметров необходимо в режиме редактирования элемента БП кликнуть на нужную строку, после чего над строкой появятся кнопки для редактирования реквизитов строки.
Физический путь к базе данных PayDox указывается в настроечных переменных Application("ConnectString... в настроечном файле PayDox\Global.asa.
Можно указать разные (или одинаковые) экземпляры баз данных PayDox для разных языковых интерфейсов.
Application("ConnectStringLight") указывает физический путь к БД PayDox в формате MS Access для англоязычного интерфейса
Application("ConnectStringLightRUS") указывает физический путь к БД PayDox в формате MS Access для русскоязычного интерфейса
Application("ConnectStringLight3") указывает физический путь к БД PayDox в формате MS Access для интерфейса на 3-м языке, который может быть любым
Application("ConnectString") указывает строку соединения для БД PayDox в формате MS SQL для англоязычного интерфейса
Application("ConnectStringLightRUS") указывает строку соединения для БД PayDox в формате MS SQL для русскоязычного интерфейса
Application("ConnectStringLight3") указывает строку соединения для БД PayDox в формате MS SQL для интерфейса на 3-м языке, который может быть любым
Сразу после инсталляции системы БД PayDox располагается в папке PayDox\Database, при необходимости БД PayDox можно расположить где угодно, в том числе на отдельном компьютере.
Добавление сообщений, ссылок и файлов к элементу бизнес-процесса
Используя форму просмотра информации об элементе бизнес-процесса, можно также добавлять сообщения, ссылки и файлы к элементу бизнес-процесса.
Нажав на кнопку «Сообщение», можно вызвать форму создания сообщения для элемента бизнес-процесса. Такое сообщение может содержать комментарий, ссылку или файл.
Комментарии, ссылки и файлы, присоединенные к элементу бизнес-процесса, выводятся списком под формой просмотра элемента бизнес-процесса.
По этим данным также можно делать контекстный поиск - в том числе по содержимому присоединенных файлов.
В форме создания сообщения можно также указать ссылку на документ в системе электронного документооборота, адресатов сообщения (им будет отправлено автоматическое уведомление по e-mail), сроки исполнения для поручения, указанного в сообщении, и пиктограмму, которая будет показана вместе сообщением.
Для работы контекстного поиска по содержимому присоединенных файлов необходимо настроить службу индексирования Windows
Для этого нажмите «Пуск (Start) -> Панель управления (Control Panel) -> Администрирование (Administrative Tools) -> Управление компьютером (Computer Management)» -> выберите «Службы и приложения -> Служба индексирования» -> создайте каталог PayDox и добавьте в него папку PayDox\MessageFiles\
Задание порядка следования элементов бизнес-процесса
Реквизит «Порядковый номер» позволяет задать порядок следования элементов бизнес-процесса под заголовком бизнес-процесса. Этот реквизит может быть алфавитно-цифровым, т.е. содержать как цифры, так и буквы, соответственно, порядок сортировки элементов бизнес-процесса по реквизиту «Порядковый номер» является лексикографическим.
Если два или более элементов бизнес-процесса под одним заголовком бизнес-процесса имеют одинаковое значение реквизита «Порядковый номер», то эти элементы бизнес-процесса будут выполняться параллельно и независимо друг от друга.
Автоматическое или ручное управление статусом исполнения элемента бизнес-процесса
Статус элемента бизнес-процесса можно изменить вручную в форме редактирования информации об элементе бизнес-процесса.
Кроме этого, статусы элементов бизнес-процессов изменяются системой автоматически при исполнении бизнес-процесса и изменении статусов других элементов бизнес-процесса.
Правила автоматического изменения статусов элементов бизнес-процесса
При получении элементом бизнес-процесса (или элементом выбора бизнес-процесса при указанном статусе выбора «ДА») статуса «Исполнен» следующий по порядку элемент бизнес-процесса получает статус «Активен»
При получении элементом бизнес-процесса или элементом выбора бизнес-процесса статуса «Отменен» следующий по порядку элемент бизнес-процесса получает статус «Активен»
При получении элементом выбора бизнес-процесса при указанном статусе выбора «НЕТ» статуса «Исполнен» элемент бизнес-процесса, указанный в поле «Порядковый No./Перейти» получает статус «Активен».
При этом, если порядок следования элемента бизнес-процесса, на который осуществляется переход, меньше, чем порядок следования элемента бизнес-процесса, с которого осуществляется переход, то все элементы, расположенные после элемента, на который осуществляется переход и до элемента бизнес-процесса, с которого осуществляется переход включительно, получают статус «Неактивен».
Т.е., если выполнение бизнес-процесса возвращается назад на какой-то из предыдущих шагов, то все элементы, расположенные после этого шага, деактивируются. Таким образом реализуются циклы при выполнении бизнес-процесса.
Если порядок следования элемента бизнес-процесса, на который осуществляется переход, больше, чем порядок следования элемента бизнес-процесса, с которого осуществляется переход, то все элементы, расположенные после элемента, с которого осуществляется переход и до элемента, на который осуществляется переход, пропускаются и не выполняются.
При получении элементом бизнес-процесса статуса «Активен» заголовок бизнес-процесса, к которому относится данный элемент бизнес-процесса, также получает статус «Активен»
При получении заголовком бизнес-процесса (или заголовком выбора бизнес-процесса при указанном статусе выбора «НЕТ») статуса «Активен», если у этого заголовка нет активных элементов бизнес-процесса, то первый по порядку неактивный элемент, относящийся к данному заголовку, также получает статус «Активен»
При получении заголовком выбора бизнес-процесса статуса «Исполнен» при указанном статусе выбора «ДА» следующий по порядку элемент бизнес-процесса получает статус «Активен»
При получении элементом окончания бизнес-процесса статуса «Исполнен» или «Отменен» соответствующий статус будет присвоен заголовку всего бизнес-процесса и бизнес-процессу в целом
Правила автоматического изменения статусов элементов бизнес-процесса применяются рекурсивно, т.е. автоматическое изменение статусов может вызвать дальнейшее применение правил автоматического изменения статусов элементов
Статусы элементов бизнес-процесса могут изменяться вручную или программными настройками, в том числе в зависимости от состояния обработки документа, с которым связан бизнес-процесс
При создании описания бизнес-процесса можно использовать стандартные элементы описания бизнес-процесса.
- Заголовок бизнес-процесса.
Данный элемент бизнес-процесса является заголовком всего бизнес-процесса и должен присутствовать в каждом бизнес-процессе в единственном экземпляре.
Кликнув мышью на данном элементе, можно открыть для просмотра весь бизнес-процесс.
Элементы, принадлежащие бизнес-процессу, создаются в меню заголовка бизнес-процесса по кнопке «Создать».
- Заголовок ветки бизнес-процесса.
Данный элемент бизнес-процесса является заголовком ветки бизнес-процесса.
Кликнув мышью на данном элементе, можно открыть для просмотра ветку бизнес-процесса.
Элементы, принадлежащие ветке бизнес-процесса, создаются в меню заголовка ветки бизнес-процесса по кнопке «Создать».
- Заголовок выбора по условию ветки бизнес-процесса.
Данный элемент бизнес-процесса является заголовком выбора ветки бизнес-процесса. При описании данного элемента должен быть сформулирован вопрос, на который можно ответить «Да» или «Нет».
Кликнув мышью на данном элементе, можно открыть для просмотра ветку бизнес-процесса, которая будет выполняться при выборе отрицательного ответа «Нет».
При выборе положительного ответа «Да» управление передается следующему элементу бизнес-процесса в этой же ветке.
Выбор «Да» или «Нет» может быть осуществлен вручную или программно, в зависимости от настроек данного элемента бизнес-процесса.
При отсутствии настроечного скрипта выбор «Да» или «Нет» осуществляется вручную при активизации элемента бизнес-процесса.
- Элемент успешного окончания бизнес-процесса.
Исполнение данного элемента бизнес-процесса означает успешное окончания всего бизнес-процесса. Таких элементов в бизнес-процессе может быть несколько.
- Элемент прерывания исполнения бизнес-процесса.
Исполнение данного элемента бизнес-процесса означает прерывание исполнения всего бизнес-процесса. Таких элементов в бизнес-процессе может быть несколько.
- Элемент перехода по условию на другой элемент бизнес-процесса.
Данный элемент бизнес-процесса является элементом перехода по условию на другой элемент бизнес-процесса.
При описании данного элемента должен быть сформулирован вопрос, на который можно ответить «Да» или «Нет».
При этом необходимо указать порядковый номер другого элемента бизнес-процесса, на который надо перейти при выборе отрицательного ответа «Нет».
При выборе положительного ответа «Да» управление передается следующему элементу бизнес-процесса в этой же ветке.
Другой элемент бизнес-процесса, на который надо перейти при выборе отрицательного ответа «Нет», должен находиться в этой же ветке бизнес-процесса.
При отсутствии настроечного скрипта выбор «Да» или «Нет» осуществляется вручную при активизации элемента бизнес-процесса.
В базе данных порядковый номер другого элемента бизнес-процесса, на который надо перейти при выборе отрицательного ответа «Нет», записывается в в том же поле «SortID», в котором записывается порядковый номер элемента, с которого осуществляется переход, сразу после него после разделительного символа "#".
Переход возможен как на элемент бизнес-процесса, расположенный после элемента перехода по условию (таким образом можно пропустить исполнение нескольких элементов), так и на элемент бизнес-процесса, расположенный перед элементом перехода по условию (таким образом можно вернуться на повторное исполнение ранее исполнявшихся элементов).
См.также Правила автоматического изменения статусов элементов бизнес-процесса
- Стандартный элемент действия бизнес-процесса.
Исполнение данного элемента бизнес-процесса означает исполнение одного этапа (шага) бизнес-процесса. Таких элементов в бизнес-процессе может быть несколько.
Обычно этот элемент бизнес-процесса используется для описания очередного шага бизнес-процесса.
Определение собственных элементов бизнес-процессов и алгоритмов их обработки
Программными настройками системы можно задать список доступных для пользователей типов элементов бизнес-процессов и правила их обработки.
Список доступных типов элементов бизнес-процессов указывается в переменной VAR_BPTypes настроечного файла PayDox\TEXTANSI.txt.
Здесь можно этот список изменить или запретить использование функционала управления бизнес-процессами для определенных (или для всех) пользователей, указав пустое значение этой переменной.
Каждому типу элементов бизнес-процессов, соответствует графическое изображение. Файл графического изображения типа элементов бизнес-процессов должен быть подготовлен и загружен в директорию PayDox\Images с именем BP_<имя_типа>.GIF.
Например, если в переменной VAR_BPTypes присутствует тип "HEADER", то в директории PayDox\Images должен присутствовать файл с именем BP_HEADER.GIF. Таким образом можно добавлять в систему собственные типы элементов бизнес-процессов.
Алгоритмы обработки для каждого элемента бизнес-процесса пишутся на языке VB Script и хранятся вместе с описанием каждого элемента бизнес-процесса.
Представление бизнес-процессов в соответствии с нотацией моделирования бизнес-процессов BPMN (Business Process Modeling Notation)
Представление бизнес-процессов можно делать в соответствии с нотацией моделирования бизнес-процессов BPMN (Business Process Modeling Notation).
Для этого необходимо в левом меню выбрать пункт «Действия» - «BPMN вид». Выбор пункта «PayDox вид» вернет представление к прежнему виду.
Независимое использование функциональности управления бизнес-процессами и функциональности электронного документооборота
Функциональность управления бизнес-процессами может быть использована независимо от функциональности электронного документооборота, т.е. бизнес-процессы могут быть привязаны или не привязаны к документам.
Полная интеграция функциональности управления бизнес-процессами и функциональности электронного документооборота
Функциональность управления бизнес-процессами полностью интегрирована с функциональностью электронного документооборота. Бизнес-процессы могут автоматически создавать любые документы в системе электронного документооборота, проверять их состояние, ждать окончания согласования и утверждения документов, извещать пользователей по e-mail о необходимости произвести действия с документами и т.п.
Если для документа определен бизнес-процесс (и, возможно, не один), то перейти на такие бизнес-процессы, связанные с данным документом, можно по кнопке в правой верхней части карточки документа.
Присоединить любое количество документов к уже существующему экземпляру бизнес-процесса можно по кнопке , расположенной в правой части карточки документа в блоке кнопок «Относящиеся» системы электронного документооборота.
Для этого данный элемент экземпляра бизнес-процесса должен быть отмечен (см. пункт Категоризация, фильтрация, контроль сроков исполнения и поиск элементов бизнес-процессов).
Можно также указать ссылку на один документ в системе электронного документооборота непосредственно в карточке редактирования элемента бизнес-процесса, указав индекс документа в соответствующем поле.
Нужный документ в системе электронного документооборота при этом можно найти по контексту, кликнув на пиктограмму
Создать экземпляр бизнес-процесса для документа можно по кнопке , расположенной там же, в правой части карточки документа в блоке кнопок «Относящиеся». Откроется справочник описаний бизнес-процессов, в котором необходимо кликнуть на пиктограмму рядом с заголовком описания бизнес-процесса, экземпляр которого необходимо создать для данного документа. В открывшемся окне информации о заголовке бизнес-процесса нажать кнопку . Далее в окне подтверждения нажать - на основании описания будет создан экземпляр бизнес-процесса для документа.
Если экземпляр бизнес-процесса необходимо создать без привязки к документу, то это можно сделать в Справочнике описаний бизнес-процессов, кликнув на пиктограмму слева от заголовка описания бизнес-процесса или по кнопке в форме просмотра/редактирования описания БП, которая открывается нажатием на пиктограмму рядом с заголовком описания бизнес-процесса.
Кнопки
предназначены для формирования элементов бизнес-процесса в справочнике описаний бизнес-процессов.
При создании элемента бизнес-процесса в справочнике описаний бизнес-процессов реквизит «GUID родительского элемента БП» предназначен для указания GUID'а заголовка бизнес-процесса (элемента типа «HEADER»), под которым будет создан данный элемент.
Этот реквизит обычно заполняется системой автоматически, поскольку все элементы бизнес-процесса (и в том числе заголовки), кроме корневого заголовка всего бизнес-процесса, должны создаваться только под каким-нибудь уже существующим заголовком.
Реквизит «Ссылка (GUID) на заголовок подчиненного БП» может содержать GUID заголовка бизнес-процесса (элемента типа «HEADER»), уже существующего в справочнике описаний.
В этом случае в описание бизнес-процесса подставится ссылка на уже существующее в справочнике другое описание бизнес-процесса.
Таким образом можно уже существующие в справочнике описания бизнес-процессов включать в описание других бизнес-процессов и ссылаться на них, просто указывая в поле заголовка БП такую ссылку на уже существующее описание другого бизнес-процесса или любой его части, связанной с некоторым заголовком бизнес-процесса.
Т.е. в описание бизнес-процесса можно вставить ссылку на описание другого бизнес-процесса либо описание любой части другого бизнес-процесса, начинающейся с заголовка.
Чтобы этот GUID заголовка другого бизнес-процесса не вставлять вручную, можно предварительно отметить любой необходимый заголовок бизнес-процесса, существующий в справочнике, в этом случае, при создании элемента бизнес-процесса рядом с этим полем появится пиктограмма , кликнув на которую, можно вставить в поле «Ссылка (GUID) на заголовок подчиненного БП» значение GUID'а отмеченного ранее элемента бизнес-процесса.
При просмотре описания бизнес-процесса та его часть, которая включена в него как ссылка на другой бизнес-процесс, отмечается пиктограммой . При создании экземпляра бизнес-процесса в него копируются все элементы описания, включая элементы, найденные по ссылкам на другие бизнес-процессы.
Для создания ссылки на другой бизнес-процесс используйте заголовок бизнес-процесса, в котором укажите GUID бизнес-процесса, который необходимо включить в состав данного бизнес-процесса.
Редактируя части описания бизнес-процесса, включенные в бизнес-процесс по ссылке, надо иметь в виду, что будет отредактирован бизнес-процесс, включаемый по ссылке и данные изменения попадут во все бизнес-процессы, в которых указана ссылка на изменяемые элементы бизнес-процесса.
По мере исполнения элементов бизнес-процесса текущее состояние элемента бизнес-процесса может комментироваться в информационном блоке желтого цвета.
Такие комментарии создаются скриптами обработки, тексты которых указаны в описании элемента бизнес-процесса, либо автоматически системой, например, в случае, если указаны обязательные для заполнения поля, которые еще не заполнены.
Разграничение доступа к элементам бизнес-процесса и назначение исполнителей для элемента бизнес-процесса
Элемент бизнес-процесса может исполняться либо автоматически, без привлечения исполнителей, либо с участием исполнителей, т.е. требовать реакции пользователей, например, заведения некоторых данных (например, Ф.И.О. командируемых сотрудников и т.п.) или проставления отметки об исполнении элемента бизнес-процесса. Также элемент бизнес-процесса может быть доступен для просмотра пользователям, либо недоступен для просмотра.
Доступ пользователей к элементам бизнес-процесса управляется с помощью 2-х стандартных реквизитов (полей) элемента бизнес-процесса «Пользователи» («Viewers») и «Владельцы/Участники»(«Owners/Participants»).
Пользователи, указанные в поле «Пользователи», имеют доступ на просмотр данного элемента бизнес-процесса.
Пользователи, указанные в поле «Владельцы/Участники», являются исполнителями для элемента бизнес-процесса и имеют доступ на просмотр и редактирование реквизитов (полей) элемента бизнес-процесса, в том числе, если им дано такое право, могут менять состояние элемента бизнес-процесса.
Указанные пользователи отвечают за выполнение работы, связанной с данным элементом бизнес-процесса.
Указывая пользователей для полей «Пользователи» и «Владельцы/Участники», необходимо выбрать их из справочника.
Пользователи могут быть указаны явно, либо могут быть указаны роли, либо могут быть указаны целые подразделения - в этом случае все пользователи, входящие в указанные подразделения, будут иметь доступ к данному элементу бизнес-процесса.
Если справа к подразделению приписать символ «/», то пользователи всех подразделений, входящих в указанное подразделение, также будут иметь доступ к данному элементу бизнес-процесса.
Если поле «Пользователи» не заполнено, то любые пользователи будут иметь доступ на просмотр данного элемента бизнес-процесса.
Если поле «Владельцы/Участники» не заполнено, то только администратор системы и пользователи, в карточке которых указано, что им разрешено администрирование бизнес-процессов, будут иметь доступ на редактирование элемента бизнес-процесса.
Поля «Владельцы/Участники» и «Пользователи» могут заполняться как вручную при настройке бизнес-процесса, так и автоматически скриптом обработки в ходе исполнения бизнес-процесса.
Если текущий пользователь не имеет доступа на просмотр элемента бизнес-процесса, то содержание такого элемента бизнес-процесса ему недоступно, а пиктограмма элемента бизнес-процесса представляется ему в виде . Если текущему пользователю недоступен заголовок бизнес-процесса, то пользователь не сможет открыть его, чтобы посмотреть элементы бизнес-процесса, входящие в данный заголовок.
Обмен XML-описаниями бизнес-процессов между разными инсталляциями PayDox
XML-описания бизнес-процессов можно выгружать из одних инсталляций PayDox и загружать в другие, используя кнопки:
в форме просмотра/редактирования информации об элементе бизнес-процесса и
в левом меню страницы в пункте «Действия».
Можно выгрузить как описание всего бизнес-процесса, так и любого подпроцесса, т.е последовательности элементов бизнес-процесса, связанных с одним заголовком бизнес-процесса.
Визуальное отображение работы алгоритмов обработки элементов бизнес-процессов (среда исполнения).
При просмотре и редактировании карточки элемента бизнес-процессов, а также при просмотре дерева экземпляров бизнес-процессов можно видеть весь ход выполнения бизнес-процессов вместе с комментариями, автоматически формируемыми скриптами обработки.
При просмотре дерева экземпляров бизнес-процессов такие автоматически формируемые комментарии выводятся в информационном блоке желтого цвета под заголовком элемента бизнес-процесса.
Быстрое отображение и мониторинг всех активных элементов бизнес-процессов, с которыми необходимо работать текущему пользователю на данный момент
Выбрав пункт меню «Для меня» или «Для подразделения», можно увидеть все активные элементы всех актуальных бизнес-процессов, которые требуют реакции данного пользователя или пользователей подразделения, к которому относится данный пользователь.
Кликнув на пиктограмму , можно открыть весь бизнес-процесс, содержащий данный активный элемент бизнес-процесса и увидеть место данного элемента в бизнес-процессе в целом.
При показе заголовок такого элемента бизнес-процесса отображается на желтом фоне.
Категоризация, фильтрация, контроль сроков исполнения и поиск элементов бизнес-процессов
Бизнес-процессы и их элементы могут группироваться по категориям и подразделениям, в которых они созданы или которым предназначены.
Элементам бизнес-процесса могут быть назначены сроки исполнения, которые могут быть или абсолютными (конкретные даты) или относительными - время, измеряемое в часах, днях, неделях, месяцах, кварталах или годах.
Относительный срок исполнения указывается в описании элемента бизнес-процесса и в момент активации соответствующего элемента экземпляра бизнес-процесса на основании даты и времени активации и относительного срока исполнения автоматически вычисляется абсолютный срок исполнения для данного элемента бизнес-процесса.
Если элементу бизнес-процесса назначена дата исполнения, то эта дата указывается при выводе списка элементов бизнес-процесса рядом с пиктограммой:
- если до наступления срока исполнения активного элемента бизнес-процесса остается более 80% периода времени с даты активации до даты исполнения
- если срок исполнения активного элемента бизнес-процесса приближается (до его наступления остается менее 20% периода времени с даты активации до даты исполнения либо 1 рабочий день)
- если исполнение элемента бизнес-процесса просрочено, т.е. фактический срок исполнения превышает назначенный плановый или фактический срок исполнения еще не определен, а текущая дата превышает назначенный плановый срок исполнения
- во всех остальных случаях
Отметив элемент бизнес-процесса, можно также использовать такую отметку как фильтр, чтобы получить список всех таких одинаковых элементов из разных бизнес-процессов.
Такая операция полезна, если необходимо осуществить однотипные действия с одинаковыми элементами из разных бизнес-процессов, например, сделать отметку об убытии в разные командировки разных сотрудников или присоединить файл с документом к нескольким бизнес-процессам.
Фильтры и режимы поиска в левом меню сочетаются. Таким образом можно использовать фильтры одновременно, например, фильтровать бизнес-процессы по категории и подразделению, категории, дате и элементу БП и т.п.
Расширяемый справочник программируемых правил обработки бизнес-процессов
Справочник программируемых предустановленных правил обработки бизнес-процессов позволяет создать любое количество своих собственных правил для управления исполнением бизнес-процессов.
Программируемые правила обработки элементов бизнес-процессов пишутся на языке VB Script и добавляются в справочник правил, после чего такие правила можно выбирать из справочника и указывать при описании бизнес-процессов в карточке редактирования элемента бизнес-процесса.
При наличии достаточной библиотеки правил можно описывать практически любые бизнес-процессы без программирования, только формируя последовательность элементов бизнес-процессов и указывая для них из справочника правила обработки.
По умолчанию предполагается, что пользовательские скрипты и программируемые правила обработки элементов пишутся на языке VB Script. Также можно эти программные коды писать на языке JavaScript. В этом случае необходимо в тексте программного кода вставить комментарий вида //JavaScript или //JScript, который укажет системе, что данный код надо интерпретировать как написанный на JavaScript
Автоматически генерируемые выходные формы
Автоматически генерируемые выходные формы позволяют создавать набор выходных документов в любом формате для поддержки исполнения бизнес-процесса.
Выходные формы создаются как описания элементов бизнес-процесса типа "@FORM".
На странице создания или редактирования описания элемента бизнес-процесса можно загрузить файл образца формы в любом формате, например, в формате MS Word или MS Excel.
Используя пользовательские скрипты, можно дополнительно обработать выдаваемый файл перед тем, как выдать его пользователю.
Таким образом, например, можно "на лету" вставить в выдаваемый файл формы данные из бизнес-процесса и получить законченный документ в нужном формате.
Для создания алгоритмов генерации выходных форм также можно использовать программируемые правила.
Файл образца формы будет выдан пользователю при нажатии мышью на пиктограмму формы.
Также с помощью инструмента генерации выходных форм можно создавать различные отчеты для контроля исполнения бизнес-процессов, например, отчет о состоянии активных бизнес-процессов с разбивкой на просроченные, с наступающим сроком исполнения и не нарушающие сроков исполнения
Cоздание алгоритмов генерации выходных форм требует программного вызова на сервере соответствующих компонент, например, MS Word для обработки файла образца в формате MS Word или MS Excel для обработки файла образца в формате MS Excel.
Соответственно, данные приложения в таких случаях необходимо установить на сервере PayDox. Кроме этого, для обеспечения их вызова из скриптов обработки необходимо разрешить такие вызовы, используя стандартный интерфейс Windows DCOMCNFG.EXE.
Любые алгоритмы обработки бизнес-процессов
С элементом бизнес-процесса можно связать любые собственные алгоритмы обработки. Возможность указывать скрипты обработки в описании элемента бизнес-процесса наряду с возможностью указывать программируемые правила обработки очень важна - это позволяет связать с элементом бизнес-процесса практически любые автоматически выполняемые действия - создавать документы в системе электронного документооборота, требовать от пользователей введения данных и представлять пользователям данные, введенные в элемент бизнес-процесса вручную или программно, отправлять пользователям e-mail уведомления, получать информацию из внешних систем, например, ERP и т.п.
Например, на нижеприведенном скриншоте показано, что функциональность элемента бизнес-процесса «Создание в СЭД служебной записки на командировку» определяется скриптом, текст которого хранится в самом блоке описания элемента бизнес-процесса.
Элемент экземпляра бизнес-процесса находится в состоянии «Исполнено».
Скрипт обработки проверяет текущее состояние элемента бизнес-процесса и для состояния «Исполнено» формирует сообщение для пользователей «Исполнено», выводимое в информационный блок элемента бизнес-процесса (такие информационные блоки с текстом на желтом фоне выводятся на экран пользователю при показе дерева бизнес-процессов), и заканчивает обработку. Состояние «Исполнено» для данного элемента бизнес-процесса означает, что служебная записка на командировку уже автоматически создана данным элементом бизнес-процесса и выполнение бизнес-процесса уже продвинулось дальше данного элемента бизнес-процесса.
Полный текст скрипта обработки элемента бизнес-процесса «Создание в СЭД служебной записки на командировку» с комментариями приведен ниже.
Добавляя в систему собственные типы элементов бизнес-процессов, и соответствующие им скрипты обработки и графические файлы пиктограмм, можно самостоятельно формировать новые типы бизнес-процессов и любые алгоритмы их обработки.
Пользовательские скрипты обработки элементов бизнес-процессов на языке VB Script добавляются в блок описания каждого элемента бизнес-процессов и выполняются, как правило, при активизации данного элемента бизнес-процесса (в пользовательском скрипте также можно задать любые другие критерии запуска скрипта, например, и для неактивного состояния элемента бизнес-процесса).
При написании пользовательских скриптов обработки элементов бизнес-процессов можно использовать набор стандартных функций, которые располагаются в модуле PayDox\BPCommon.asp.
Также можно создавать описания своих собственных функций и размещать их в модуле PayDox\UserASP\UserBusinessProcess.asp.
Все эти функции располагаются в классе BP, соответственно, для их вызова из пользовательского скрипта в блоке описания элемента бизнес-процессов необходимо использовать префикс "BP.", например, для вызова своей функции test(), которую вы разместили в модуле UserBusinessProcess.asp, из скрипта, расположенного в блоке описания элемента бизнес-процесса, необходимо использовать вызов BP.test().
Таким же образом можно использовать и набор стандартных функций, расположенных в модуле PayDox\BPCommon.asp.
По умолчанию предполагается, что пользовательские скрипты и программируемые правила обработки элементов пишутся на языке VB Script. Также можно эти программные коды писать на языке JavaScript. В этом случае необходимо в тексте программного кода вставить комментарий вида //JavaScript или //JScript, который укажет системе, что данный код надо интерпретировать как написанный на JavaScript
Стандартные методы и объекты, используемые при создании своих собственных скриптов и программируемых правил обработки элементов бизнес-процессов
При создании своих собственных скриптов и программируемых правил обработки элементов бизнес-процессов можно пользоваться следующими методами и объектами:
Объект RSBP - открытый рекордсет таблицы BPInstances записей элементов экземпляров бизнес-процессов, текущая запись которого содержит информацию о текущем элементе бизнес-процесса.
Например, поле RSBP("Description") содержит краткое текстовое описание элемента бизнес-процесса, RSBP("StatusCompletion") содержит код статуса состояния элемента бизнес-процесса, RSBP("ParText1") содержит значение 1-го пользовательского текстового параметра - см. структуру таблицы BPInstances БД PayDox.
Последовательность команд
RSBP("Description")="Новое описание элемента"
RSBP.Update
RSBP.Close
присваивает значение "Новое описание элемента" полю описания элемента бизнес-процесса, записывает новые значения в БД и закрывает рекордсет.
Объект BP.CookiesFormFieldRS - рекордсет программируемых параметров ввода данных, не хранящихся в базе данных системы, а хранящихся в куках компьютера пользователя.
Такие параметры могут быть полезны, например, при настройке форм отчетов, когда параметры для вывода отчета не нужно хранить в базе данных системы, а необходимо вводить их каждому пользователю перед выводом отчета.
Пример кода для определения параметров ввода данных, хранящихся в куках компьютера
BP.CookiesFormFieldRS.AddNew 'добавить в рекордсет запись для определения нового параметра
BP.CookiesFormFieldRS("Name")="Par1" 'присвоить имя параметра.
BP.CookiesFormFieldRS("Title")="Parameter 1" 'присвоить наименование параметра, показываемое пользователю
BP.CookiesFormFieldRS("FormType")="SELECT" 'присвоить тип поля формы параметра, возможные значения "select", "select-multiple", "textarea", "radio", "checkbox", "display-only"
BP.CookiesFormFieldRS("Required")="YES" 'определить обязательность параметра, возможные значения "yes", "no"
BP.CookiesFormFieldRS("DefinedSize")="128" 'присвоить максимальную длину параметра
BP.CookiesFormFieldRS("Values")="Value1,Value2,Value3" 'определить список возможных значений параметра - для параметров типа "select", "select-multiple", "radio", "checkbox"
BP.CookiesFormFieldRS.Update 'сохранить введенные значения в рекордсет
BP.CookiesFormFieldRS.AddNew
BP.CookiesFormFieldRS("Name")="Par2"
BP.CookiesFormFieldRS("Title")="Parameter 2"
BP.CookiesFormFieldRS("FormType")="TEXT"
BP.CookiesFormFieldRS("Required")="YES"
BP.CookiesFormFieldRS("DefinedSize")="64"
BP.CookiesFormFieldRS("Values")="Value"
BP.CookiesFormFieldRS.Update
Используйте в своем настроечном коде для получения значения параметра,
определенного в текущей записи рекордсета BP.CookiesFormFieldRS, выражение
Request.Cookies(BP.CookiesFormFieldName(RSBP("GUIDInstanceItem"), BP.CookiesFormFieldRS("Name")))
Пример
Do While Not BP.CookiesFormFieldRS.EOF
'Записать в переменную sValue значение параметра с именем BP.CookiesFormFieldRS("Name")
sValue=Request.Cookies(BP.CookiesFormFieldName(RSBP("GUIDInstanceItem"), BP.CookiesFormFieldRS("Name")))
.... 'обработка полученного значения sValue
BP.CookiesFormFieldRS.MoveNext
Loop
Объект oPayDox - объект системы электронного документооборота, содержащий основные методы для работы с карточками документов.
Использование методов данного объекта позволяет строить произвольные интерфейсы для интеграции между системой управления бизнес-процессами и системой электронного документооборота.
Применение большинства методов этого объекта можно найти в файле Common.asp.
Например, Sub ShowPicts из Common.asp выводит в списки документов и карточки документов пиктограммы состояния документов (требует согласования, требует утверждения и т.п.).
Для определения того, что документ требует согласования, используется функция IsReconciliationCompleteWithOptions(),
использующая метод oPayDox.IsReconciliationCompleteWithOptions. Если объект oPayDox еще не создан, создавайте его самостоятельно в вашем скрипте.
Пример
If Not IsObject(oPayDox) Then
Set oPayDox = Server.CreateObject("PayDox.Common")
End If
В данном примере объект oPayDox будет создаваться каждый раз при запуске указанного скрипта, так как после исполнения скрипта все объекты, созданные в нем, теряются.
Если скрипт выполняется часто, например, при неактивном или исполненном статусе элемента БП, в котором расположен данный скрипт, то потери времени на создание объекта oPayDox могут быть нерациональны.
В этом случае можно создавать объект oPayDox в сессионной переменной Session("oPayDox"), которая сохраняется на протяжении всей сессии работы пользователя и ее не нужно будет создавать каждый раз при запуске пользовательского скрипта.
Объектная переменная Application("IsDebugModeBP"), указанная в настроечном файле PayDox\Global.asa управляет выводом данных в лог отладки бизнес-процессов PayDox\DebugLog\BPLog.TXT.
Если эта переменная установлена в False, то вывод в лог отладки из пользовательских скриптов оператором BP.AddLog (см.ниже описание) производиться не будет.
Всегда отключайте вывод в лог отладки при нормальной работе системы, так как этот вывод замедляет работу системы
Объектная переменная Application("IsDebugMode"), указанная в настроечном файле PayDox\Global.asa управляет выводом данных в общий лог отладки PayDox\DebugLog\PayDoxDebugLog.TXT.
Если эта переменная установлена в False, то вывод в лог отладки из пользовательских скриптов оператором BP.AddLogD (см.ниже описание) производиться не будет.
Всегда отключайте вывод в лог отладки при нормальной работе системы, так как этот вывод замедляет работу системы
Метод BP.MyCStr(cPar) - переводит в текстовый формат любое значение, указанное аргументом cPar.
Метод BP.GetStatusCompletionBP RSBP("StatusCompletion"), StatusCompletionTitle, StatusCompletionPicture - возвращает текстовую строку StatusCompletionTitle с названием текущего статуса элемента бизнес-процесса и текстовую строку StatusCompletionPicture с названием пиктограммы, соответствующей текущему статусу элемента бизнес-процесса. Передаваемый аргумент RSBP("StatusCompletion") - поле статуса элемента бизнес-процесса.
Свойство BP.InfoText - содержит текстовое значение инфоблока, выдаваемое системой в блоке желтого цвета при выводе элементов бизнес-процесса. С помощью данного свойства можно формировать сообщения для пользователей, выдаваемые элементом бизнес-процесса.
Например, команда
BP.InfoText="Активизируйте элемент бизнес-процесса"
выводит соответствующее сообщение для пользователей в инфоблоке при выводе данного элемента бизнес-процесса.
Свойство BP.Statuses. С помощью данного свойства можно формировать различные статусы элемента бизнес-процесса при выводе его на страницу, показываемую пользователю.
Например, команда, размещаемая в коде программируемого правила
PutStatusBP "TIMER"
выводит пиктограмму таймера , показывая пользователю, что данный элемент бизнес-процесса является таймером, т.е. активизируется автоматически в определенный момент времени.
Дата и время активации, а также условие активации элемента бизнес-процесса должны определяться в программируемом правиле,
например, для автоматически запускаемого один раз в месяц бизнес-процесса устанавливается правило «Таймеры/Если бизнес-процесс неактивен, активизировать его, если исполнен, активизировать его через 30 дней после предыдущей даты активации».
Программируемые статусы для элемента бизнес-процесса могут определяться произвольно в правилах и встроенном исполняемом скрипте элемента бизнес-процесса.
Например, можно определить произвольное количество разнообразных таймеров, активизирующих элементы бизнес-процессов в соответствии с различными условиями или для различных периодов времени.
Свойство BP.bRunScripts - логическое значение, которое разрешает или прекращает выполнение всех скриптов для данного элемента бизнес-процесса.
Например:
BP.bRunScripts=False
Exit Sub
прекращает выполнение всех скриптов для данного элемента бизнес-процесса и завершает текущий скрипт.
Метод BP.AddLog sText - вывод в файл лога отладки PayDox\DebugLog\BPLog.TXT текстового значения, указанного параметром sText.
Например:
BP.AddLog "Это вывод в лог отладки"
Свойство BP.CurrentPage - содержит значение URL текущей страницы браузера. Полезно для ветвления скриптов обработки в зависимости от страницы, на которой запускается скрипт.
Например:
If BP.CurrentPage=UCase("BPShowItemMenu.asp") Then 'страница показывает значения полей элемента БП
'скрипт для этой страницы
ElseIf BP.CurrentPage=UCase("BPModifyItem.asp") Then 'страница показывает форму редактирования полей элемента БП
'скрипт для этой страницы
ElseIf BP.CurrentPage=UCase("BPGetTreeViewItems") Or BP.CurrentPage=UCase("BPShowBPs.asp") Then 'страница выводит дерево элементов БП
'скрипт для этой страницы
End If
Метод BP.IsInactive(RSBP) - Возвращает True, если статус элемента БП, представленного текущей записью рекордсета RSBP, равен "Неактивен".
Метод BP.IsActive(RSBP) - Возвращает True, если статус элемента БП, представленного текущей записью рекордсета RSBP, равен "Активен".
Метод BP.IsCompleted(RSBP) - Возвращает True, если статус элемента БП, представленного текущей записью рекордсета RSBP, равен "Исполнен".
Метод BP.IsCancelled(RSBP) - Возвращает True, если статус элемента БП, представленного текущей записью рекордсета RSBP, равен "Отменен".
Например:
If BP.IsInactive(RSBP) Then 'если элемент БП неактивен
BP.InfoText="Неактивен" 'пишем в текст инфоблока его статус
ElseIf BP.IsCompleted(RSBP) Then 'если элемент БП исполнен
BP.InfoText="Исполнено" 'пишем в текст инфоблока его статус
ElseIf BP.IsCancelled(RSBP) Then 'если элемент БП отменен
BP.InfoText="Отменено" 'пишем в текст инфоблока его статус
ElseIf BP.IsActive(RSBP) Then 'если элемент БП отменен
BP.InfoText="Активен" 'пишем в текст инфоблока его статус
End If
Метод BP.CreateNewRSDoc - создание карточки документа в Системе Электронного Документооборота. Создается объект рекордсет с именем RSDoc для таблицы Docs.
Далее необходимо присвоить значения полей карточки документа и сохранить значения в БД.
Например:
BP.CreateNewRSDoc 'создали новый документ в системе электронного документооборота
BP.RSDoc("ClassDoc")="Служебные записки/СЗ на командировку" 'Пишем в поле "Категория" д-та
BP.RSDoc("Description")="Служебная записка на командировку (БП)" 'Пишем в поле "Краткое описание" д-та
'BP.RSDoc("DocID")="1234" 'Здесь можно присвоить какой-нибудь свой номер д-та в соответствии с вашими корпоративными правилами
sDocID=BP.RSDoc("DocID") 'запоминаем номер д-та в переменной sDocID
BP.AddLog "sDocID:"+sDocID 'вывод в лог отладки
BP.RSDoc("IsActive") = "Y" 'можно сделать д-т активным, если все его поля уже заполнены
BP.RSDoc.Update 'запоминаем введенную в карточку документа информацию
BP.RSDoc.Close 'закрываем рекордсет карточки д-та
Set BP.RSDoc = Nothing 'чистим оперативную память
Метод BP.UpdateBPRecordField RSBP, sFieldName, sFieldValue - Записать новое значение sFieldValue в поле с именем sFieldName рекордсета RSBP элемента БП.
Например:
BP.UpdateBPRecordField RSBP, "DocID", sDocID 'заносим номер д-та в поле номера д-та в записи БД эл-та БП
Метод BP.UpdateStatus RSBP, sStatus - Изменить статус элемента БП, представленного текущей записью рекордсета RSBP, на значение sStatus.
Возможные значения sStatus:
"OK" - "Исполнен"
"X" - "Отменен"
"" - "Неактивен"
"*" - "Активен"
Например:
BP.UpdateStatus RSBP, "OK" 'Меняем текущий статус эл-та БП на "Исполнен"
Для изменения статуса элемента БП необходимо использовать метод BP.UpdateStatus,
а не менять поле RSBP("StatusCompletion") напрямую, так как изменение статуса элемента БП влечет за собой автоматическое изменение статусов других элементов БП в соответствии с Правилами автоматического изменения статусов элементов бизнес-процесса.
Применение метода BP.UpdateStatus обеспечивает выполнение этих правил.
Метод BP.SetChoiceToYes RSBP - Установить статус выбора элемента выбора CHOICE или заголовка выбора HEADERCHOICE, представленного текущей записью рекордсета RSBP, в значение "YES" (ДА).
Например:
BP.SetChoiceToYes RSBP 'Устанавливаем статус выбора элемента выбора CHOICE или заголовка выбора HEADERCHOICE, представленного текущей записью рекордсета RSBP, в значение "YES" (ДА)
Данный метод применим только для элемента выбора CHOICE или заголовка выбора HEADERCHOICE.
Также данный метод присваивает элементу значение статуса исполнения "Исполнен".
Метод BP.SetChoiceToNo RSBP - Установить статус выбора элемента выбора CHOICE или заголовка выбора HEADERCHOICE, представленного текущей записью рекордсета RSBP, в значение "NO" (НЕТ).
Например:
BP.SetChoiceToNo RSBP 'Устанавливаем статус выбора элемента выбора CHOICE или заголовка выбора HEADERCHOICE, представленного текущей записью рекордсета RSBP, в значение "NO" (НЕТ)
Данный метод применим только для элемента выбора CHOICE или заголовка выбора HEADERCHOICE.
Также данный метод присваивает элементу значение статуса исполнения "Исполнен".
Метод BP.SetChoiceToNotDefined RSBP - Установить статус выбора элемента выбора CHOICE или заголовка выбора HEADERCHOICE, представленного текущей записью рекордсета RSBP, в значение "" (не выбрано).
Например:
BP.SetChoiceToNo RSBP 'Устанавливаем статус выбора элемента выбора CHOICE или заголовка выбора HEADERCHOICE, представленного текущей записью рекордсета RSBP, в значение "" (не выбрано)
Данный метод применим только для элемента выбора CHOICE или заголовка выбора HEADERCHOICE.
Также данный метод присваивает элементу значение статуса исполнения "Неактивен".
Метод BP.GetRSFromString oRS, sRecordset - Получить объект Recordset в возвращаемый параметр oRS из строки, указанной в параметре sRecordset.
Используется для получения в виде объекта Recordset таблицы параметров элемента БП, записанной в виде строки в полях Recordset* (например, Recordset, Recordset2, Recordset3 и т.д.).
Например:
BP.GetRSFromString oRS, RSBP("Recordset2") 'Получить объект Recordset в возвращаемый параметр oRS из строки, содержащейся в поле RSBP("Recordset2") элемента БП в таблице BPInstances
Метод BP.RSToString(oRS) - Записать объект Recordset в строку.
Используется для записи в виде строки объекта Recordset таблицы параметров элемента БП в поля Recordset* (например, Recordset, Recordset2, Recordset3 и т.д.).
Например:
RSBP("Recordset2")=BP.RSToString(oRS) 'Записать в виде строки объект oRS таблицы параметров элемента БП в поле RSBP("Recordset2") элемента БП в таблице BPInstances
Переменная BP.sNotToModifyFieldList - список полей элемента экземпляра БП (полей таблицы BPInstances), которые нельзя редактировать текущему пользователю
Например:
If Not IsAdmin() And Session("UserID")<>"BPManager" Then 'если текущий пользователь не имеет прав администратора и не является пользователем с логином "BPManager"
BP.sNotToModifyFieldList="Description,ParText1" 'то ему запрещено редактировать поле описания БП и 1-е пользовательское текстовое поле
End If
Вместо переменной BP.sNotToModifyFieldList вне встроенного в описание элемента БП кода (например, в настроечном файле UserASP\UserText.asp) можно также использовать переменную VAR_BPAddFieldsNotToModify.
Но в этом случае настройка будет действовать на весь список выводимых на экран элементов БП.
Переменная BP.sToModifyFieldList - список полей элемента экземпляра БП (полей таблицы BPInstances), которые можно редактировать текущему пользователю
Например:
If IsAdmin() Or Session("Department")<>"Департамент Информационных Технологий" Then 'если текущий пользователь имеет права администратора или является сотрудником подразделения "Департамент Информационных Технологий"
BP.sToModifyFieldList="Description,ParText1" 'то ему разрешено редактировать поле описания БП и 1-е пользовательское текстовое поле
End If
Вместо переменной BP.sToModifyFieldList вне встроенного в описание элемента БП кода (например, в настроечном файле UserASP\UserText.asp) можно также использовать переменную VAR_BPAddFieldsToModify.
Но в этом случае настройка будет действовать на весь список выводимых на экран элементов БП.
Переменная BP.sNotToDisplayFieldList - список полей элемента экземпляра БП (полей таблицы BPInstances), которые нельзя просматривать текущему пользователю
Например:
If Not IsAdmin() And Session("Department")<>"Департамент Информационных Технологий" Then 'если текущий пользователь не имеет прав администратора и не является сотрудником подразделения "Департамент Информационных Технологий"
BP.sNotToModifyFieldList="ParText2" 'то ему запрещено просматривать 2-е пользовательское текстовое поле (например, если это поле содержит служебную информацию)
End If
Вместо переменной BP.sNotToDisplayFieldList вне встроенного в описание элемента БП кода (например, в настроечном файле UserASP\UserText.asp) можно также использовать переменную VAR_BPAddFieldsNotToDisplay.
Но в этом случае настройка будет действовать на весь список выводимых на экран элементов БП.
Переменная BP.sToDisplayFieldList - список полей элемента экземпляра БП (полей таблицы BPInstances), которые можно просматривать текущему пользователю
Например:
If IsAdmin() Or Session("Department")<>"Департамент Информационных Технологий" Then 'если текущий пользователь имеет права администратора или является сотрудником подразделения "Департамент Информационных Технологий"
BP.sToModifyFieldList="ParText2" 'то ему разрешено просматривать 2-е пользовательское текстовое поле
End If
Вместо переменной BP.sToDisplayFieldList вне встроенного в описание элемента БП кода (например, в настроечном файле UserASP\UserText.asp) можно также использовать переменную VAR_BPAddFieldsToDisplay.
Но в этом случае настройка будет действовать на весь список выводимых на экран элементов БП.
Переменная BP.sNotToModifyStatusCompletionList - список начений поля "Статус исполнения", которые нельзя устанавливать текущему пользователю
Возможные значения в списке:
"OK" - "Исполнен"
"X" - "Отменен"
"-" - "Неактивен"
"*" - "Активен"
Например:
If Not IsAdmin() And InStr(RSBP("Owners"),Session("UserID"))=0 Then 'если текущий пользователь не имеет прав администратора и не является владельцем данного элемента БП
BP.sNotToModifyStatusCompletionList="*,-,X,OK"'то ему запрещено устанавливать статус исполнения данному элементу БП
End If
Данная возможность обычно применяется, если статус исполнения элементу БП назначается автоматически программным скриптом или правилом в элементе БП.
Например, если элемент БП становится исполненным автоматически при утверждении некоторого документа или если элемент БП становится исполненным автоматически сразу после отправки e-mail уведомлений пользователям, то таким элеметам БП можно запретить устанавливать статус «Исполнено» вручную - кнопка, позволяющая назначить статус «Исполнено» вручную, будет недоступна.
Переменная BP.sReadAccess - управление запретом на просмотр элемента БП для текущего пользователя
Возможные значения:
"N" - просмотр запрещен
"Y" - просмотр разрешен
"" - просмотр регулируется стандартными правилами
Например:
If Not IsAdmin() And InStr(RSBP("Owners"),Session("UserID"))=0 Then 'если текущий пользователь не имеет прав администратора и не является владельцем данного элемента БП
BP.sReadAccess="N"'то ему запрещено просматривать данный элемент БП. Стандартное правило состоит в том, что если логин пользователя присутствует в списке пользователей данного элемента БП (поле RSBP("Users")) либо этот список пуст, то ему разрешено просматривать данный элемент БП
End If
Переменная BP.sModifyAccess - управление запретом на редактирование элемента БП для текущего пользователя
Возможные значения:
"N" - редактирование запрещено
"Y" - редактирование разрешено
"" - редактирование регулируется стандартными правилами
Например:
If IsAdmin() And InStr(RSBP("Owners"),Session("UserID"))>0 Or Session("UserID")="BPManager" Then 'если текущий пользователь имеет права администратора или является владельцем данного элемента БП или является пользователем с логином "BPManager"
BP.sModifyAccess="Y"'то ему разрешено редактировать данный элемент БП. Стандартное правило состоит в том, что если логин пользователя присутствует в списке владельцев данного элемента БП (поле RSBP("Owners")) либо имеет права администратора, то ему разрешено редактировать данный элемент БП
End If
Текстовая переменная VAR_UseDocIDFieldInBP, определяемая в настроечном файле PayDox\TEXTANSI.txt - управление редактированием поля DocID (индекс карточки документа в системе электронного документооборота) элемента БП
Возможные значения:
"" - редактирование разрешено, только если индекс карточки документа уже указан в поле DocID
"y"" - редактирование разрешено всегда
Смысл этой настроечной переменной в том, что, если система управления бизнес-процессами используется отдельно и независимо от системы документооборота, то поле DocID показывать пользователям не нужно - до тех пор, пока оно не будет заполнено программно.
Пример алгоритма обработки элемента бизнес-процесса "Создание в СЭД служебной записки на командировку"
В поле «Информация» блока описания элемента бизнес-процесса можно занести инструкцию для пользователей по работе с элементом бизнес-процесса, требующим реакции пользователей.
Также в поле «Информация» можно занести описание алгоритма работы элемента бизнес-процесса, выполняющегося автоматически скриптом обработки.
При просмотре элемента экземпляра бизнес-процесса этот текст будет показываться при нажатии кнопки «Помощь».
В поле «Исполняемый скрипт» блока описания элемента бизнес-процесса заносится программный код на VB Script, управляющий поведением элемента экземпляра бизнес-процесса.
Если в процессе работы скрипта обнаруживается ошибка, то в тексте инфоблока об этом выдается сообщение и кнопка «Показать», позволяющая увидеть текст скрипта и строку с ошибкой.
Из окна с текстом скрипта, содержащего ошибку, по кнопке «Редактировать» можно перейти непосредственно в форму редактирования блока описания элемента бизнес-процесса, чтобы исправить ошибку.
В данном примере ошибка состоит в том, что в выражении BPIsCompleted(RSBP) пропущена точка и правильно писать BP.IsCompleted(RSBP).
Исправив ошибку, можно вернуться к просмотру экрана дерева бизнес-процессов и убедиться, что данная ошибка исчезла.
Управление бизнес-процессами? Легко! PayDox AJAX-BPM. Попробуйте, как это работает - прямо сейчас!