|  Приложение 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 – заданный для функции интервал опроса
 
 | Вычислить время следующего срабатывания функции с учетом заданного в минутах интервала опроса, вызывается для функций, оставшихся в активном состоянии
 
 |  
 
 |