Интеграция с информационными системами/1C: различия между версиями

Материал из Call Office Wiki
Перейти к навигации Перейти к поиску
Строка 5: Строка 5:
Во время настройки конфигурации в разделе '''Источник данных''' выберите '''1C''' и нажмите "Далее", после чего попадете на страницу [[Конфигурирование_1C_(версия_3.xx)|конфигурирования 1C]]. Далее в разделе '''Чтение данных''' выберите '''SQL-запрос''' и введите SQL-запрос на выборку данных из 1C, а в разделе '''Запись данных''' введите SQL-запрос для сохранение результатов звонка. Об особенностях SQL-запросов для 1С можно подробнее узнать [[SQL_запросы_(версия_3.xx)/1C|здесь]].
Во время настройки конфигурации в разделе '''Источник данных''' выберите '''1C''' и нажмите "Далее", после чего попадете на страницу [[Конфигурирование_1C_(версия_3.xx)|конфигурирования 1C]]. Далее в разделе '''Чтение данных''' выберите '''SQL-запрос''' и введите SQL-запрос на выборку данных из 1C, а в разделе '''Запись данных''' введите SQL-запрос для сохранение результатов звонка. Об особенностях SQL-запросов для 1С можно подробнее узнать [[SQL_запросы_(версия_3.xx)/1C|здесь]].


=== 1C вызывает функции нашего продукта как COM-объект ===
=== 1C вызывает функции Call Office как функции обычного COM-объекта ===


В код вашей программы 1C добавьте необходимые функции, которые Call Office должен выполнить. Например, следующий код вызывает метод Call Office на обзвон номера телефона и, если абонент снял трубку, воспроизводит звуковой файл:  
Вызовы методов Call Office можно добавить непосредственно в программный код вашего приложения 1C. Например, следующий код выполняет набор номера телефона и, если абонент снял трубку, воспроизводит звуковой файл:  
 
<nowiki>
  Device = Новый COMОбъект ("CallOffice.Device");
  Device = Новый COMОбъект ("CallOffice.Device");
  Device.Open ();
 
  Result = Device.Dial ("8987654321 - номер вашего телефона", 40);
  Device.Open ();                           //  <- здесь необходимо указать название устройства, например SIP\SIP.
  Result = Device.Dial ("83852289928", 40);  //  <- номер вашего телефона, для sip следует указывать в формате <номер телефона>@<имя SIP-шлюза>
 
  Если Result = 0 Тогда
  Если Result = 0 Тогда
     Device.Say ("Нужно заплатить за интернет.wav");
     Device.Say ("Нужно заплатить за интернет.wav");
    Device.HangUp ();
  КонецЕсли;
  КонецЕсли;
Device.HangUp ();
 
  Device.Close ();
  Device.Close ();</nowiki>
Подробно про использование COM-объектов Call Office можно прочитать [[Объекты|здесь]].
 
Подробнее про объекты, методы и свойства COM-объектов Call Office можно прочитать [[Объекты|здесь]].


=== 1C запускает командный файл, который вызывает наш продукт и выполняет необходимые функции ===
=== 1C запускает командный файл, который вызывает наш продукт и выполняет необходимые функции ===

Версия 11:29, 13 марта 2017

Интеграцию с 1C можно проводить следующими способами:

Взаимодействие с 1C средствами Call Office

Во время настройки конфигурации в разделе Источник данных выберите 1C и нажмите "Далее", после чего попадете на страницу конфигурирования 1C. Далее в разделе Чтение данных выберите SQL-запрос и введите SQL-запрос на выборку данных из 1C, а в разделе Запись данных введите SQL-запрос для сохранение результатов звонка. Об особенностях SQL-запросов для 1С можно подробнее узнать здесь.

1C вызывает функции Call Office как функции обычного COM-объекта

Вызовы методов Call Office можно добавить непосредственно в программный код вашего приложения 1C. Например, следующий код выполняет набор номера телефона и, если абонент снял трубку, воспроизводит звуковой файл:

 Device = Новый COMОбъект ("CallOffice.Device");

 Device.Open ();                            //  <- здесь необходимо указать название устройства, например SIP\SIP.
 Result = Device.Dial ("83852289928", 40);  //  <- номер вашего телефона, для sip следует указывать в формате <номер телефона>@<имя SIP-шлюза>

 Если Result = 0 Тогда

    Device.Say ("Нужно заплатить за интернет.wav");
    Device.HangUp ();

 КонецЕсли;

 Device.Close ();

Подробнее про объекты, методы и свойства COM-объектов Call Office можно прочитать здесь.

1C запускает командный файл, который вызывает наш продукт и выполняет необходимые функции

Создайте командный файл на языке JS, например, Dial.js, добавьте в него код, который Call Office должен выполнить, и вызовите этот файл из 1C с передачей параметров. Например, код файла на обзвон определенного телефона с воспроизведением определенного звукового файла выглядит так:

if (WScript.Arguments.Length == 2) {
   var Phone     = WScript.Arguments.Item (0); 
   var SoundFile = WScript.Arguments.Item (1); 
   var Device = new ActiveXObject ("CallOffice.Device");    
   Device.Open ();
   var Result = Device.Dial (NumberPhone, 40);
   if (Result == 0){
      Device.Say (SoundFile);
      Device.HangUp ();
   }
   Device.Close ();
} else WScript.Echo ("Недостаточно параметров: Используйте: Dial.js <Номер телефона> <Имя звукового файла>");

В этом коде используются COM-объекты программы Call Office, подробнее про которые можно прочитать здесь.

Call Office напрямую подключается к базе данных, которую использует 1C, и работает напрямую с ней

Если 1C использует стандартную базу данных, например, MySQL, то программа может подключиться к ней напрямую и работать с ее данными. В зависимости от того, какая именно база данных, будет производиться дальнейшая настройка. Про настройку баз данных с Call Office можно прочитать здесь.