Интеграция с информационными системами/1C

Материал из Call Office Wiki
Перейти к навигации Перейти к поиску

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

Создайте файл скрипта, например, на языке javascript (или любом другом, vbs, wsh и т.д.), добавьте в него код, который 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 можно прочитать здесь.