Вспомогательные методы

Материал из Oktell
Перейти к: навигация, поиск
Наверх Исполнение запросов в БД<<< Вспомогательные методы >>>Осуществление и прием вызовов

Методы, используемые в ходе работы для получения наборов данных

  • string GetAllUsersInfo ( ). Возвращает информацию о всех пользователях системы. В теле возвращаемой XML-структуры содержатся такие значения как id, имя, логин, признак оператора, роль, текущее состояние и статус переадресации текущего авторизованного пользователя. Может быть использовано, например, при создании правил переадресации для указания пользователей, на которых распространяется правило. Запрашиваемая информация возвращается из БД.

Формат возвращаемого xml (на примере):

<?xml version="1.0" encoding="utf-16"?>
 <oktellcommapper version="80710">
 <data name="allusers" count="3">
   <property_set name="user" id="77579e8b-cd9a-43ca-b07e-1658220bbaae">
     <property_simple key="id" value="77579e8b-cd9a-43ca-b07e-1658220bbaae" />
     <property_simple key="type" value="1" name="utUser" />
     <property_cdata key="name"><![CDATA[Роман]]></property_cdata>
     <property_simple key="isoperator" value="1" />
     <property_simple key="group" value="c4e3b424-3048-4cce-a2e4-033c532a7d99" name="Программисты" />
     <property_cdata key="login"><![CDATA[xaka]]></property_cdata>
     <property_cdata key="role" value="cd90026f-f66d-4ca5-b182-66f2b94dbe1e"><![CDATA[<Индивидуальная роль>]]></property_cdata>
     <property_simple key="callerid" value="" />
     <property_cdata key="info"><![CDATA[]]></property_cdata>
   </property_set>
   <property_set name="user" id="59df4a16-df71-418e-97d1-2959d0c1198c">
     <property_simple key="id" value="59df4a16-df71-418e-97d1-2959d0c1198c" />
     <property_simple key="type" value="1" name="utUser" />
     <property_cdata key="name"><![CDATA[Владимир]]></property_cdata>
     <property_simple key="isoperator" value="0" />
     <property_simple key="group" value="2b5ff241-e876-4806-8455-0838cdab0358" name="Сметы" />
     <property_cdata key="login"><![CDATA[v]]></property_cdata>
     <property_cdata key="role" value="00000000-0000-0000-0000-000000000000" />
     <property_simple key="callerid" value="" />
     <property_cdata key="info"><![CDATA[]]></property_cdata>
   </property_set>   
   <property_set name="user" id="fddcf3db-d543-48e3-a849-2d704365c5e3">
     <property_simple key="id" value="fddcf3db-d543-48e3-a849-2d704365c5e3" />
     <property_simple key="type" value="1" name="utUser" />
     <property_cdata key="name"><![CDATA[Игорь]]></property_cdata>
     <property_simple key="isoperator" value="0" />
     <property_simple key="group" value="c4e3b424-3048-4cce-a2e4-033c532a7d99" name="Программисты" />
     <property_cdata key="login"><![CDATA[Igor]]></property_cdata>
     <property_cdata key="role" value="00000000-0000-0000-0000-000000000000" />
     <property_simple key="callerid" value="" />
     <property_cdata key="info"><![CDATA[]]></property_cdata>
   </property_set>
 </data>
 </oktellcommapper>


  • string GetAllUsersStates ( ). Возвращает информацию о полных состояниях всех пользователей системы. В теле возвращаемой XML-структуры содержатся такие значения как id, имя, признак оператора, принадлежность к отделу, состояние, присутствие в call-центре, перерыв, переадресация, информация о текущей привязанной линии: идентификатор, номер, код, тип, состояние. Запрашиваемая информация возвращается с сервера состояний и не использует обращения к БД.

Формат возвращаемого xml (на примере):

<?xml version="1.0" encoding="utf-16"?>
 <oktellcommapper version="80710">
 <data name="usersstates" count="1">
    <property_set name="userstates">
      <property_simple key="resultcode" value="100" name="Success" />
      <property_simple key="resultdescription" value="Success" />
      <property_collection name="users" count="3">
        <property_set name="user" id="27feb209-beb8-402e-a86d-cc1ff7d117a4">
          <property_cdata key="id"><![CDATA[27feb209-beb8-402e-a86d-cc1ff7d117a4]]></property_cdata>
          <property_simple key="name" name="z03" />
          <property_simple key="isoperator" value="1" />
          <property_cdata key="groupid"><![CDATA[00000000-0000-0000-0000-000000000000]]></property_cdata>
          <property_simple key="groupname" name="" />
          <property_simple key="userstate" value="1" name="usReady" />
          <property_simple key="iscc" value="0" />
          <property_simple key="islunch" value="0" />
          <property_simple key="isredirect" value="0" />
          <property_cdata key="lineid"><![CDATA[33093617-e876-4709-a61d-9cb1602995cb]]></property_cdata>
          <property_simple key="linenum" value="15003" />
          <property_simple key="linecode" value="usb3" />
          <property_simple key="linetype" value="3" name="ltIntAnalog" />
          <property_simple key="linestate" value="4" name="lsReady" />
        </property_set>
        <property_set name="user" id="da803f01-ea77-40fa-bc9d-e2efb36fd5a8">
          <property_cdata key="id"><![CDATA[da803f01-ea77-40fa-bc9d-e2efb36fd5a8]]></property_cdata>
          <property_cdata key="name"><![CDATA[Петр Александрович]]></property_cdata>
          <property_simple key="isoperator" value="1" />
          <property_cdata key="groupid"><![CDATA[c4e3b424-3048-4cce-a2e4-033c532a7d99]]></property_cdata>
          <property_cdata key="groupname"><![CDATA[Программисты]]></property_cdata>
          <property_simple key="userstate" value="1" name="usReady" />
          <property_simple key="iscc" value="1" />
          <property_simple key="islunch" value="0" />
          <property_simple key="isredirect" value="0" />
          <property_cdata key="lineid"><![CDATA[e76c86ea-a28a-4519-b4ff-8879a92c62b7]]></property_cdata>
          <property_simple key="linenum" value="17002" />
          <property_simple key="linecode" value="ip_linksys" />
          <property_simple key="linetype" value="5" name="ltIntIP" />
          <property_simple key="linestate" value="4" name="lsReady" />
        </property_set>
        <property_set name="user" id="2a594b51-bb89-4da6-a69f-f48761baf0d9">
          <property_cdata key="id"><![CDATA[2a594b51-bb89-4da6-a69f-f48761baf0d9]]></property_cdata>
          <property_cdata key="name"><![CDATA[Дмитрий Евгеньевич]]></property_cdata>
          <property_simple key="isoperator" value="1" />
          <property_cdata key="groupid"><![CDATA[c4e3b424-3048-4cce-a2e4-033c532a7d99]]></property_cdata>
          <property_cdata key="groupname"><![CDATA[Программисты]]></property_cdata>
          <property_simple key="userstate" value="0" name="usDisconnected" />
          <property_simple key="iscc" value="1" />
          <property_simple key="islunch" value="0" />
          <property_simple key="isredirect" value="0" />
          <property_cdata key="lineid"><![CDATA[00000000-0000-0000-0000-000000000000]]></property_cdata>
          <property_simple key="linenum" value="" />
          <property_simple key="linecode" value="" />
          <property_simple key="linetype" value="99" name="ltNotAvailable" />
          <property_simple key="linestate" value="1024" name="lsUndefined" />
        </property_set>
      </property_collection>
    </property_set>
 </data>
 </oktellcommapper>


  • string GetSpecifiedUsersStates ( string xml ). Возвращает информацию о полных состояниях указанных пользователей системы, что призвано сократить объем пересылаемой по сети информации, а также объем производимых на разборе возвращаемого значения работ. В теле возвращаемой XML-структуры содержатся такие значения как id, имя, признак оператора, принадлежность к отделу, состояние, присутствие в call-центре, перерыв, переадресация, информация о текущей привязанной линии: идентификатор, номер, код, тип, состояние. Запрашиваемая информация возвращается с сервера состояний и не использует обращения к БД.


Входной параметр метода имеет XML-формат и указывает перечень интересующих пользователей, которые могут быть заданы по логину (case-sensitive), по имени (case-sensitive) и строковым представлением GUID-идентификатора. Количество указываемых в одном запросе пользователей не ограничивается. Указанные дубли будут объединены - каждый пользователь в возвращаемом значении будет указан не более 1 раза.

Структура входного параметра на примере:

<?xml version="1.0" encoding="utf-16"?>
 <oktellcommapper version="80710">
 <data name="usersstates" count="...">
   <property_set name="user">
     <property_simple key="login" value="Oleg" />
        <property_cdata key="name"><![CDATA[Артемьев Олег Владимирович]]></property_cdata>
        <property_cdata key="id"><![CDATA[xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx]]></property_cdata>
   </property_set>
 ...........................................
 ...........................................
 ...........................................
   <property_set name="user">
        <property_cdata key="id"><![CDATA[xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx]]></property_cdata>
   </property_set> 
   <property_set name="user">
     <property_simple key="login" value="Dima" />
   </property_set> 
 </data>
 </oktellcommapper>

Формат возвращаемого xml полностью соответствует формату возвращаемого значения методом GetAllUsersStates(), однако в списке содержится информация только по указанным (и обнаруженным в системе) пользователям.


Скриншоты экранов пользователей

  • string Screenshot_Get ( string xml ). Возвращает срез экрана указанного пользователя в указанных размерах. В качестве параметра передается строка с XML структурой, содержащей идентификатор интересующего пользователя (iduser), а также ширину и высоту изображения в пикселях (width и height соответственно). Размер по умолчанию 800x600. В любом случае изображение не будет увеличено относительно реального. При указании меньшего размера изображение уменьшается с сохранением пропорций.

Структура запроса:

<?xml version="1.0" encoding="utf-16"?>
 <oktellcommapper version="80710">
 <data name="screenshot" count="1">
   <property_set name="info">
     <property_simple key="iduser" value="bf67122a-9f12-53f1-bffe-3aaf97c2b36f" />
        <property_simple key="width" value="640" />
        <property_simple key="height" value="480" />
   </property_set>
 </data>
 </oktellcommapper>


В случае успешного выполнения возвращается XML структура с указанием идентификатора пользователя (iduser), его имени (username) и бинарных данных изображения, упакованных в base64 (image).

Структура ответа:

<?xml version="1.0" encoding="utf-16"?>
 <oktellcommapper version="80710">
 <data name="screenshot" count="1">
   <property_set name="info">
     <property_simple key="iduser" value="bf67122a-9f12-53f1-bffe-3aaf97c2b36f" />
     <property_cdata key="username"><![CDATA[Магницкий Евгений Сидорович]]></property_cdata>
     <property_cdata key="image"><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAXcAAAEsCAYAAAA4ifPK...]]></property_cdata>
   </property_set>
 </data>
 </oktellcommapper>


Выполнение не производится если:

- у зарегистрированного пользователя нет права просмотра экранов;
- у субъекта имеется право «Антискриншот»;
- субъект не авторизован в системе;
- указан несуществующий идентификатор;
- таймаут проведения операции;
- рабочее место не поддерживает режим;
- пользователь авторизован «по умолчанию» (без рабочего места);
- при прочих ошибках.

При этом в поле resultdescription указывается причина отказа.

Структура ответа при неудачном исполнении:

<?xml version="1.0" encoding="utf-16"?>
 <oktellcommapper version="80710">
 <data name="screenshot" count="1">
   <property_set name="commonresult">
     <property_simple key="resultcode" value="104" name="Error" />
     <property_cdata key="resultdescription"><![CDATA[Указанный пользователь не найден]]></property_cdata>
   </property_set>
 </data>
 </oktellcommapper>

Методы для работы с конфигурационными настройками

  • string ConfigGetAppSetting ( string key ). Возвращает строковое значение атрибута value по передаваемому в функцию ключу key из конфигурационного файла. Корректные непустые значения становятся доступны только после процедуры конфигурирования, запускаемой в начале тела метода ModuleStart.
  • string ConfigGetWorkDir ( ). Возвращает строку - путь к рабочей папке, где будут размещаться каталоги для обновлений, логи, временные папки и прочее. По умолчанию это папка со сборками COM-клиента Oktell. В отдельных случаях могут быть указаны иные варианты настройками файла конфигурации WORK_ROOTDIR и WORK_ROOTDIR_TYPE. Следует иметь в виду, что корректные рабочие значения выставляются только после процедуры конфигурирования, производимой в начале тела метода ModuleStart. В противном случае возвращаются значения по умолчанию, которые совпадают с правильными рабочими только в случае отсутствия указанных выше настроек конфигурации, либо их идентичностью.
  • string ConfigGetLiveUpdateDir ( ). Возвращает строку - путь к папке с обновлениями. По умолчанию это папка LiveUpdate в каталоге со сборками COM-клиента Oktell. В отдельных случаях могут быть указаны иные варианты настройками файла конфигурации WORK_ROOTDIR и WORK_ROOTDIR_TYPE. Следует иметь в виду, что корректные рабочие значения выставляются только после процедуры конфигурирования, производимой в начале тела метода ModuleStart. В противном случае возвращаются значения по умолчанию, которые совпадают с правильными рабочими только в случае отсутствия указанных выше настроек конфигурации, либо их идентичностью. Рекомендуется вызывать метод сразу после получения события о загрузке обновлений (после вызова ModuleStart).


Методы для получения версий и лицензий

  • string Srv_GetVersionText ( ). Возвращает полное текстовое описание версии серверной библиотеки и базы данных (пример можно увидеть в лог-журнале Exception сервера при его запуске).
  • string Srv_GetVersion ( ). Возвращает версию серверной библиотеки (дата билда в виде строкового представления числа yyMMdd, где yy - год билда, MM-месяц билда, dd-день билда). Например, 100420.
  • string Srv_GetVersionInternal ( ). Возвращает внутреннюю версию серверной библиотеки в виде строкового представления числа. Например, 1004.
  • string Srv_GetVersionBuild ( ). Возвращает строку - билд серверной библиотеки. Например, 2.5.3721.22042.
  • string Key_GetId ( ). Возвращает регистрационный номер из лицензии сервера (7-значное число в строковом виде или пустую строку, если лицензия отсутствует).


Наверх Исполнение запросов в БД<<< Вспомогательные методы >>>Осуществление и прием вызовов