Объект Device/Методы/Result: различия между версиями

Материал из Call Office Wiki
Перейти к навигации Перейти к поиску
 
(не показано 7 промежуточных версий этого же участника)
Строка 5: Строка 5:
==Синтаксис==
==Синтаксис==
:<syntaxhighlight lang="c">
:<syntaxhighlight lang="c">
VARIANT Say (VARIANT Type)  
VARIANT Result (VARIANT Type)  
</syntaxhighlight>
</syntaxhighlight>
|style="width:10%;"|__TOC__
|style="width:10%;"|__TOC__
Строка 14: Строка 14:
|-  
|-  
|'''Type'''
|'''Type'''
| - номер/имя параметра, который нужно получить (пока не используется).
| - номер/имя параметра, который нужно получить:.
|}
:{|border="1" cellspacing="0"
|-
|style="background-color:#eeeeee; " cellpadding="0" cellspacing="0" align="center"|'''Имя параметра'''
|style="background-color:#eeeeee; " cellpadding="0" cellspacing="0" align="center"|'''Номер'''
|style="background-color:#eeeeee; " cellpadding="0" cellspacing="0" align="center"|'''Описание'''
|-
|All
|
| получить все параметры в виде массива (по умолчанию)
|-
|Result
|0
| результат выполнения последней команды
|-
|Code
|1
| расширенный код выполнения последней команды
|-
|Description
|2
| расширенный текст ошибки
|-
|Data
|3
| данные последней команды, например, для [[Объект_Device/Методы/SendSMS|SendSMS]] это идентификатор отправленного сообщения
|}
|}


Строка 22: Строка 48:
* 1 - Код ошибки (например для SIP, это [[SIP ответы и их значения|код ответа SIP]])
* 1 - Код ошибки (например для SIP, это [[SIP ответы и их значения|код ответа SIP]])
* 2 - Описание ошибки (не всегда доступно)
* 2 - Описание ошибки (не всегда доступно)
* 3 - Данные команды, например, идентификатор SMS-сообщения для функции [[Объект_Device/Методы/SendSMS|SendSMS]].


==Описание==
==Описание==
:Метод позволяет получить расширенную информацию об ошибке. Например, при наборе номера через SIP, позволяет получить [[SIP ответы и их значения|код ответа SIP]] сервера и описание ошибки  
:Метод позволяет получить расширенную информацию об ошибке. Например, при наборе номера через SIP, позволяет получить [[SIP ответы и их значения|код ответа SIP]] сервера и описание ошибки. Пока доступен только для протокола SIP в функциях LogOn и Dial.
 
==Примеры==
:Пример на JavaScript
<syntaxhighlight lang="javascript">
var Device = new ActiveXObject ("CallOffice.Device");
Device.Open("SIP\\SIP");
 
var Domain    = prompt ("Имя или ip-адрес шлюза","sipnet.ru");
var Login    = prompt ("Введите имя пользователя","sipnet-login");
var Pass      = prompt ("Введите пароль","sipnet-password");
var LoginDial = prompt ("Введите имя или телефон, на который хотите позвонить","123@wentor.ru");
 
if (Device.LogOn(Login, Pass, Domain) == 0) {
 
  if (Device.Dial(LoginDial, 10) == 0) {
      Device.Say("CallOffice");
  }
  else {
 
      var Result = Device.Result ().toArray ();     
 
      alert ('Result: ' + Result[0] + "\r\n" +
              'Code: ' + Result[1] + "\r\n" +
        'Description: ' + Result[2]);   
  }
 
  Device.LogOff ();
}
Device.Close ();
</syntaxhighlight>


:Пример на VBScript
<syntaxhighlight lang="vb">
Dim Device
Set Device = CreateObject ("CallOffice.Device")
Device.Open "SIP\SIP"
Domain    = prompt ("Имя или ip-адрес шлюза","sipnet.ru")
Login    = prompt ("Введите имя пользователя","sipnet-login")
Pass      = prompt ("Введите пароль","sipnet-password")
LoginDial = prompt ("Введите имя или телефон, на который хотите позвонить","123@wentor.ru")
Result = Device.LogOn (Login, Pass, Domain)
if Result = 0 then
  Result = Device.Dial (LoginDial, 40)
  if Result = 0 then
      Device.Say "CallOffice"
  else
      Res = Device.Result ()
      MsgBox Res(2),  vbOkOnly + VbInformation, "Ошибка " + CStr (Res(0)) + ". Код ошибки: " + CStr(Res(1))  ' Выводим расширенную информацию об ошибке
  end if
  Device.LogOff
end if
Device.Close
</syntaxhighlight>
Назад к [[Объект_Device/Методы|методам]] объекта [[Объект_Device|Device]].
Назад к [[Объект_Device/Методы|методам]] объекта [[Объект_Device|Device]].

Текущая версия на 11:33, 1 октября 2015

Метод Result позволяет получить расширенную информацию об ошибке или работе последней функции.

Синтаксис

VARIANT Result (VARIANT Type)

Параметры

Type - номер/имя параметра, который нужно получить:.
Имя параметра Номер Описание
All получить все параметры в виде массива (по умолчанию)
Result 0 результат выполнения последней команды
Code 1 расширенный код выполнения последней команды
Description 2 расширенный текст ошибки
Data 3 данные последней команды, например, для SendSMS это идентификатор отправленного сообщения

Результат

Если не указан номер/тип получаемого параметра возвращает массив:
  • 0 - Результат выполнения последней команды;
  • 1 - Код ошибки (например для SIP, это код ответа SIP)
  • 2 - Описание ошибки (не всегда доступно)
  • 3 - Данные команды, например, идентификатор SMS-сообщения для функции SendSMS.

Описание

Метод позволяет получить расширенную информацию об ошибке. Например, при наборе номера через SIP, позволяет получить код ответа SIP сервера и описание ошибки. Пока доступен только для протокола SIP в функциях LogOn и Dial.

Примеры

Пример на JavaScript
var Device = new ActiveXObject ("CallOffice.Device");
Device.Open("SIP\\SIP");

var Domain    = prompt ("Имя или ip-адрес шлюза","sipnet.ru");
var Login     = prompt ("Введите имя пользователя","sipnet-login");
var Pass      = prompt ("Введите пароль","sipnet-password");
var LoginDial = prompt ("Введите имя или телефон, на который хотите позвонить","123@wentor.ru");

if (Device.LogOn(Login, Pass, Domain) == 0) {

   if (Device.Dial(LoginDial, 10) == 0) {
      Device.Say("CallOffice");
   }
   else {

      var Result = Device.Result ().toArray ();      

      alert ('Result: ' + Result[0] + "\r\n" + 
               'Code: ' + Result[1] + "\r\n" + 
        'Description: ' + Result[2]);     
   }

   Device.LogOff ();
}
Device.Close ();
Пример на VBScript
Dim Device
Set Device = CreateObject ("CallOffice.Device")

Device.Open "SIP\SIP"

Domain    = prompt ("Имя или ip-адрес шлюза","sipnet.ru")
Login     = prompt ("Введите имя пользователя","sipnet-login")
Pass      = prompt ("Введите пароль","sipnet-password")
LoginDial = prompt ("Введите имя или телефон, на который хотите позвонить","123@wentor.ru")

Result = Device.LogOn (Login, Pass, Domain)
if Result = 0 then

   Result = Device.Dial (LoginDial, 40)

   if Result = 0 then
      Device.Say "CallOffice"
   else
      Res = Device.Result ()
      MsgBox Res(2),  vbOkOnly + VbInformation, "Ошибка " + CStr (Res(0)) + ". Код ошибки: " + CStr(Res(1))  ' Выводим расширенную информацию об ошибке
   end if

   Device.LogOff
end if

Device.Close

Назад к методам объекта Device.