Клиентский компонент функции

Клиентский компонент функции представляет собой COM-компонент, имеющий пользовательский интерфейс для настройки её свойств.

Клиентский компонент функции реализует ряд предопределённых интерфейсов:
  • Интерфейс IObjectUI — стандартный для всех клиентских объектов СУБП — содержит свойства, возвращающие идентификатор объекта, его название, иконку и хранимые данные.

  • Интерфейс IFunctionUI — стандартный интерфейс клиентского компонента функции — определяет свойства и методы, вызываемые карточкой бизнес-процесса при использовании функции.

  • Интерфейс IExportableFunctionUI (необязательный) — интерфейс, предназначенный для функций, обладающих специфическим механизмом экспорта/импорта. Методы данного интерфейса используются для корректной работы функции при загрузке и выгрузке процесса в XML.

  • Интерфейс IStateFunctionUI (необязательный) — данный интерфейс должен быть реализован в функциях, имеющих собственный набор состояний (например, таких, как функция Задание). Свойства и методы данного интерфейса позволяют определить для каждого состояния функции собственный цвет, название и иконку, которые будут отображаться на графе бизнес-процесса.

Наиболее важными в реализации клиентского компонента функции являются следующие методы:
  • GetRequiredGates — возвращает список необходимых для работы функции шлюзов (идентификаторы шлюзов, разделенные запятой). При разработке функции, данные идентификаторы должны быть известны.

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

  • Convert — позволяет преобразовать настройки функции при преобразовании процесса к более поздней версии.

Все настройки функции сохраняются в строчном формате, передаются и возвращаются при помощи свойства Data интерфейса IObjectUI и сохраняются в базе данных Docsvision. Для удобства сохранения настроек функции рекомендуется использовать формат XML.

При реализации визуального интерфейса настройки параметров функции рекомендуется использовать механизм страниц свойств (Property Pages). Тогда уникальные страницы свойств функции будут добавлены к стандартным страницам свойств в карточке бизнес-процесса. При разработке страниц свойств рекомендуется использовать компонент Property Page Designer (DDPropPageD.ocx), входящий в комплект поставки Docsvision.

При занесении функции в справочник необходимо указать программный идентификатор (ProgID) разработанного клиентского компонента.

Клиентский компонент функции может быть разработан с использованием Visual Basic или Visual C++.