Приложение 1: Описание стандартных интерфейсов
IObjectUI
Интерфейс, реализующий свойства клиентских объектов СУБП (функций, шлюзов).
Свойства и методы
|
Тип
|
Параметры
|
Описание
|
Data (R/W)
|
string
|
|
Данные объекта (функции, шлюза)
|
Icon (R/O)
|
IPictureDisp
|
|
Иконка объекта
|
TypeName (R/O)
|
string
|
|
Название данного типа объектов
|
ID (R/O)
|
string
|
|
Уникальный идентификатор объекта
|
IDVObjectUI
Реализуется всеми объектами, использующими DocsVision. Позволяет объекту работать с сессией и хостом.
Свойства и методы
|
Тип
|
Параметры
|
Описание
|
UserSession (R/W)
|
IDispatch
|
|
Сессия DocsVision
|
Host (R/W)
|
IDispatch
|
|
Хост DocsVision
|
IObjectLocalize
Дополнительный интерфейс для объектов, поддерживающих локализацию:
Свойства и методы
|
Тип
|
Параметры
|
Описание
|
GetLocaleID
|
long
|
|
Получить идентификатор текущей локализации
|
SetLocaleID
|
|
(long) LocaleID
|
Установить идентификатор текущей локализации
|
IGateInit
Интерфейс клиентских компонент шлюза. Реализует свойства и методы для работы с доступными типами переменных.
Свойства и методы
|
Тип
|
Параметры
|
Описание
|
Initialize
|
|
(string) Data – данные шлюза
|
Инициализирует шлюз, передавая данные, сохраненные в настройках шлюза в справочнике шлюза. Как правило – xml-описание шлюза.
|
IGateUI
Интерфейс клиентских компонент шлюза. Реализует свойства и методы для работы с доступными типами переменных.
Свойства и методы
|
Тип
|
Параметры
|
Описание
|
GetObjectTypes
|
IobjectType
Collection
|
|
Коллекция описаний типов объектов, поддерживаемых шлюзом
|
GetMethods
|
Imethod
Collection
|
|
Коллекция описаний методов, поддерживаемых шлюзом
|
SelectObject
|
bool
|
(long) hWnd – идентификатор родительского окна
(long) TypeID – идентификатор типа объекта
(string) ObjectID – выходной параметр, идентификатор\значение объекта в шлюзе
|
Выбор объекта в шлюзе. Метод позволяет выбрать и вернуть идентификатор объекта указанного типа. Измененное значение возвращается в параметре ObjectID. Метод возвращает true, если значение было выбрано, и false в противном случае.
|
ShowObject
|
|
(long) hWnd – идентификатор родительского окна
(long) TypeID – идентификатор типа объекта
(string) ObjectID – идентификатор/значение объекта в шлюзе
|
Отображение объекта в шлюзе. Метод позволяет активизировать объект по его идентификатору и типу. Может быть поддержано не для всех типов объектов.
|
GetObjectDisplayValue
|
string
|
(long) TypeID – идентификатор типа
(string) ObjectID –идентификатор объекта в шлюзе
|
Возвращает отображаемое значение объекта по его типу и идентификатору
|
GetObjectReference
|
string
|
(long) TypeID – идентификатор типа
(string) ObjectID –идентификатор объекта в шлюзе
(ObjectReferenceTypeEnum) – тип ссылки
|
Возвращает строку-ссылку на объект в шлюзе
|
GetQuickSearchValues
|
IDispatch
|
(long) TypeID – идентификатор типа
(string) SearchFor – строка для поиска
|
Возвращает коллекцию идентификаторов объектов, найденных по строке, заданной параметром SearchFor
|
IFunctionUI
Интерфейс клиентских компонент функции. Реализует методы, вызываемые карточкой бизнес-процесса при работе с функцией.
Свойства и методы
|
Тип
|
Параметры
|
Описание
|
GetRequiredGates
|
string
|
|
Возвращает список идентификаторов необходимых шлюзов (разделенных запятой)
|
AllowExecute
|
bool
|
|
Проверка на наличие всех необходимых для запуска функции данных. Возвращает true, если функция готова к выполнению, и false в противном случае
|
IExportableFunctionUI
Клиентский интерфейс для функций, обладающих собственным механизмом экспорта/импорта в XML.
Свойства и методы
|
Тип
|
Параметры
|
Описание
|
Export
|
string
|
|
Вызывается при экспорте функции. Возвращает данные для экспорта в виде строки.
|
Import
|
|
(string) Data – данные функции
|
Вызывается при импорте функции.
|
IStateFunctionUI
Клиентский интерфейс для функций, обладающих собственным набором состояний.
Свойства и методы
|
Тип
|
Параметры
|
Описание
|
CurrentIcon (R/O)
|
IPictureDisp
|
|
Возвращает иконку для текущего состояния
|
CurrentName (R/O)
|
string
|
|
Возвращает локализованное название текущего состояния
|
CurrentColor (R/O)
|
long
|
|
Возвращает цвет иконки для текущего состояния (в формате OLE Color)
|
CurrentFunction (R/W)
|
IDispatch
|
|
Данные о состоянии функции (ProcFunction)
|
IGate
Данный интерфейс реализуется серверными компонентами шлюзов. При помощи методов, представленных в данном интерфейсе, сервис СУБП работает с переменными шлюза.
Свойства и методы
|
Тип
|
Параметры
|
Описание
|
Data
|
string
|
|
Сохраненные настройки шлюза. Позволяет передать шлюзу настройки, заданные в клиентской части.
|
GetVariable
|
IGateVariable
|
(long)Type – тип переменной
(string)ID – идентификатор переменной
|
Получение переменной из шлюза по типу в формате long.
Возвращает стандартизованную переменную.
|
GetVariable
|
IGateVariable
|
(int)Type – тип переменной
(string) ID – идентификатор переменной
|
Получение переменной из шлюза по типу в формате int.
Возвращает стандартизованную переменную.
|
GetVariable
|
IGateVariable
|
(int)Type – тип переменной
(string)SubTypeID – идентификатор подтипа переменной
(string) ID – идентификатор переменной
|
Получение переменной из шлюза с указанием подтипа переменной.
Возвращает стандартизованную переменную.
|
GetVariableReference
|
string
|
(int)Type – тип переменной
(string)ID – идентификатор переменной
|
Получение внешней ссылки на переменную из шлюза.
|
GetVariableInternalReference
|
object
|
(int)Type – тип переменной
(string)ID – идентификатор переменной
|
Получение ссылки на переменную во внутреннем формате интегрируемой шлюзом системы.
|
AddVariable
|
IGateVariable
|
(int)Type – тип переменной
(string)VariableInfo – информация о создаваемом объекте
|
Создание нового объекта заданного типа.
|
DeleteVariable
|
|
(int)Type – тип переменной
(string)ID – идентификатор переменной
|
Удаление объекта из шлюза.
|
CompareVariables
|
long
|
(int)Type – тип сравниваемых переменных
(string)ID1 – идентификатор первой переменной
(string)ID2 – идентификатор второй переменной
|
Сравнение двух переменных одного типа.
|
IGateVariable
Данный интерфейс описывает свойства стандартной переменной шлюза, единые для всех типов переменных. Все переменные, уникальные для конкретного шлюза, должны реализовывать этот интерфейс.
Свойства и методы
|
Тип
|
Параметры
|
Описание
|
ID
|
string
|
|
Идентификатор переменной
|
GateID
|
string
|
|
Уникальный идентификатор шлюза
|
Name
|
string
|
|
Название переменной
|
DisplayValue
|
int
|
|
Отображаемое значение
|
Type
|
long
|
|
Тип переменной в шлюзе
|
LogicalOperation
|
bool
|
(string)OperationType – тип операции
(IGateVariable)Variable – переменная для сравнения
|
Сравнение с другой переменной того же типа
|
Convert
|
object
|
(VarTypeEnum)VarType – тип переменной
(IGate) Gate – ссылка на шлюз
(int)TypeID – тип переменной в шлюзе
|
Сконвертировать переменную в переменную другого типа
|
IGateVariableCustomProperties
Данный интерфейс описывает методы для работы с пользовательскими свойствами объекта шлюза, поддерживающего обработку подобных свойств.
Свойства и методы
|
Тип
|
Параметры
|
Описание
|
GetCustomProperty
|
object
|
(string)PropertyName – название свойства
|
Получить значение свойства
|
SetCustomProperty
|
|
(string)PropertyName – название свойства
(object) – значение свойства
|
Установить значение свойства
|
ICollectionalProperty
Данный интерфейс описывает способ взаимодействия с коллекционным свойством стандартной переменной шлюза. Данный интерфейс унаследован от интерфейсов IEnumerable, IEnumerator.
Свойства и методы
|
Тип
|
Параметры
|
Описание
|
Count
|
int
|
|
Число элементов в коллекции
|
[Key]
|
object
|
|
Получить элемент по ключу
|
Add
|
object
|
(object)Item – элемент для добавления
|
Добавить существующий элемент в коллекцию
|
AddNew
|
object
|
|
Добавить новый элемент в коллекцию
|
AddNew
|
object
|
(object)Key – элемент для добавления
|
Добавить новый элемент в коллекцию с указанием ключа
|
AddRange
|
|
(IEnumerator)Key – элементы для добавления
|
Добавить несколько элементов в коллекцию с указанием ключа
|
GetByIndex
|
object
|
(int)Index– индекс элемента
|
Получить элемент по индексу
|
Remove
|
|
(object)Key– ключ элемента
|
Удалить элемент по ключу
|
RemoveAt
|
|
(int)Index– индекс элемента
|
Удалить элемент по индексу
|
Clear
|
|
|
Очистить коллекцию
|
ILockalableObject
Данный интерфейс описывает методы и свойства объекта шлюза, поддерживающего блокировку доступа к данным объекта.
Свойства и методы
|
Тип
|
Параметры
|
Описание
|
IsLocked
|
bool
|
|
Заблокирован ли объект
|
PlaceLock
|
bool
|
|
Заблокировать объект. Результат – флаг успешности операции блокирования
|
PlaceAutoLock
|
ObjectLock
|
|
Заблокировать объект и получить объект блокировки. Блокировка автоматически снимется при уничтожении объекта ObjectLock
|
RemoveLock
|
|
|
Снять блокировку
|
IFunction
Этот интерфейс реализует свойства и методы серверного компонента функции.
Свойства и методы
|
Тип
|
Параметры
|
Описание
|
Data
|
string
|
|
Сохраненные настройки функции. Позволяет передать функции настройки, заданные в клиентской части.
|
FunctionData
|
ProcFunction
|
|
Данные функции в процессе
|
AllowExecute
|
bool
|
(ProcessInfo)process – данные о процессе
(PassState)pass – данные прохода
|
Проверка, можно ли начинать выполнение функции
|
GetExecuteDisallowReason
|
string
|
(ProcessInfo)process – данные о процессе
(PassState)pass – данные прохода
|
Получить описание причины, по которой функция не может быть выполнена
|
Execute
|
ExecResultEnum
|
(ProcessInfo)process – данные о процессе
(PassState)pass – данные прохода
|
Выполнение функции
|
GetNextExecuteTime
|
DateTime
|
(int) PoolingInterval – заданный для функции интервал опроса
|
Вычислить время следующего срабатывания функции с учетом заданного в минутах интервала опроса, вызывается для функций, оставшихся в активном состоянии
|
|