Создание пользовательской функции на базе сценария
Модуль Управление процессами предоставляет универсальный метод для добавления требуемой функциональности в БП — функция "Сценарий", которая может содержать произвольный исходный код на языке C# и Visual Basic .NET.
-
Добавьте функцию Сценарий в шаблон БП.
-
Откройте свойства добавленной функции.
-
Нажать кнопку Текст сценарий. Будет открыто окно редактирования исходного кода скрипта.
Рисунок 1. Окно редактирования скрипта функции "Сценарий" -
Напишите исходный код скрипта (в функции Execute).
Инструкция по разработке скриптов приведена в Руководстве по разработке.
-
Нажмите на кнопку Компилировать для выполнения проверки исходного кода скрипта на наличие ошибок.
По результатам компиляции будет выведено сообщение
Компиляция прошла успешно
или окно со списком ошибок. -
Нажмите на кнопку ОК для сохранения исходного кода скрипта.
-
Сохраните настройки функции Сценарий и завершите редактирование шаблона БП.
Редактор кода не поддерживает работу со сборками, подключенными с участием псевдонима ("extern alias mOM;"). При компиляции такого скрипта возникнет ошибка вида:
Рисунок 2. Окно ошибкиЧтобы исключить данную ошибку:-
Удалите конструкцию
extern alias mOM;
, перепишите части кода, в которых используется пространство именmOM
, и установить флагНе добавлять ссылку на Docsvision.Objectmanager.Interop.dll
в настройках функции. -
Используйте простой редактор сценариев — установите флаг
Использовать простой редактор сценариев
в настройках функции. -
Или не используйте функцию компиляции скрипта — сам сценарий будет корректно скомпилирован (если нет ошибок) при работе сервиса Workflow.
Может возникнуть ситуация, когда при открытии сценария на редактирование происходит фатальная ошибка приложения и программа Windows-клиент закрывается. Такое поведение может быть связано с недоступностью одной из сборок, входящих в Docsvision или из дополнительных сборок, добавленных в сценарий в основном окне настройки функции Сценарий. В этом случае следует установить проблемную сборку в каталог модуля Windows-клиент.
С помощью функции Сценарий можно создать пользовательскую функцию (.Net-сборку), которую затем можно будет вставить в бизнес-процесс из Универсальной функции.
Чтобы создать пользовательскую функцию, откройте окно Текст сценария, введите текст сценария и нажмите кнопку Создать сборку. При этом откроется окно для выбора файла формата
.dll
, в который будет сохранен сценарий.Чтобы обеспечить возможность повторного использования сценария в виде скомпилированной сборки, в нем обязательно должен быть хоть один публичный (publiс) класс, в котором должны присутствовать публичные статические методы.
Скомпилированные и подключенные сборки должны находится в папке серверной части модуля Управление процессами, по умолчанию папка
C:\Program Files (x86)\Docsvision\Workflow\
.Просмотреть из функции Сценарий текст сценария, сохраненного как .Net-сборка, нельзя.
-
Защита сценария бизнес-процесса
Разработчик может заблокировать возможность просмотра исходного кода сценариев БП (функций Сценарий) с помощью пароля. Для доступа к настройкам (и, соответственно, к исходному коду) заблокированного сценария потребуется ввести корректный пароль.
Защита сценария распространяется на все функции Сценарий шаблона БП и формируемых экземпляров БП. Защитить отдельный сценарии и сценарии всех БП нельзя.
-
Откройте карточку БП, содержащую защищаемый сценарий.
-
Нажмите кнопку на панели инструментов "Конструктора бизнес-процессов".
-
В окне свойств бизнес-процесса перейдите на вкладку Дополнительно.
-
Установите флаг
Защитить сценарии процесса
. -
Введите и подтвердите пароль, с помощью которого будут защищены сценарии БП.
-
Сохраните БП.
Чтобы снять защиту со сценариев БП, нужно снять флаг Защитить сценарии процесса
в настройках БП. Для снятия защиты нужно ввести пароль, которым БП защищен.