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

Материал из Call Office Wiki
Перейти к навигации Перейти к поиску
 
(не показано 10 промежуточных версий 2 участников)
Строка 3: Строка 3:
=== Взаимодействие с 1C средствами Call Office ===
=== Взаимодействие с 1C средствами Call Office ===


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


=== 1C запускает командный файл, который вызывает наш продукт и выполняет необходимые функции ===
Device.Close ();</nowiki>
 
Подробнее про объекты, методы и свойства COM-объектов Call Office можно прочитать [[Объекты|здесь]].


Создайте командный файл на языке JS, например, Dial.js, добавьте в него код, который Call Office должен выполнить, и вызовите этот файл из 1C с передачей параметров. Например, код файла на обзвон определенного телефона с воспроизведением определенного звукового файла выглядит так:
=== 1C запускает внешний скрипт, который выполняет необходимые функции ===
 
Создайте файл скрипта, например, на языке javascript (или любом другом, vbs, wsh и т.д.), добавьте в него код, который Call Office должен выполнить, и вызовите этот файл из 1C как внешнее приложение с параметрами в командной строке (с помощью функций 1C ЗапуститьПриложение или КомандаСистемы). Текст скрипта на обзвон указанного телефона с воспроизведением указанного звукового файла выглядит так:
 
<nowiki>
  if (WScript.Arguments.Length == 2) {
  if (WScript.Arguments.Length == 2) {
     var Phone    = WScript.Arguments.Item (0);  
     var Phone    = WScript.Arguments.Item (0);  
     var SoundFile = WScript.Arguments.Item (1);  
     var SoundFile = WScript.Arguments.Item (1);  
     var Device = new ActiveXObject ("CallOffice.Device");     
     var Device = new ActiveXObject ("CallOffice.Device");     
     Device.Open ();
     Device.Open ();
     var Result = Device.Dial (NumberPhone, 40);
     var Result = Device.Dial (NumberPhone, 40);
     if (Result == 0){
     if (Result == 0) {
 
       Device.Say (SoundFile);
       Device.Say (SoundFile);
       Device.HangUp ();
       Device.HangUp ();
     }
     }
     Device.Close ();
     Device.Close ();
  } else WScript.Echo ("Недостаточно параметров: Используйте: Dial.js <Номер телефона> <Имя звукового файла>");
  } else WScript.Echo ("Недостаточно параметров: Используйте: Dial.js <Номер телефона> <Имя звукового файла>");
В этом коде используются COM-объекты программы Call Office, подробнее про которые можно прочитать [[Объекты|здесь]].
</nowiki>
 
В коде скрипта используются COM-объекты программы Call Office, подробнее про которые можно прочитать [[Объекты|здесь]].
 
=== Call Office напрямую подключается к базе данных 1C ===
 
Если 1C использует стандартную базу данных, например, MSSQL, то программа может подключиться к ней напрямую и работать с ее данными. В зависимости от того, какая именно база данных, будет производиться дальнейшая настройка. Про настройку баз данных с Call Office можно прочитать [[Выбор_источника_данных_(версия_3.xx)|здесь]].
 
Не рекомендуется использовать этот метод для внесения изменений в базу данных, это может привести к рассогласованию данных 1C.
 


=== Call Office напрямую подключается к базе данных, которую использует 1C, и работает напрямую с ней ===
----
смотрите так же [[SQL запросы (версия 3.xx)/1C |SQL-запросы для 1С]], [[Конфигурирование 1C (версия 3.xx) | Конфигурирование 1C]]


Если 1C использует стандартную базу данных, например, MySQL, то программа может подключиться к ней напрямую и работать с ее данными. В зависимости от того, какая именно база данных, будет производиться дальнейшая настройка. Про настройку баз данных с Call Office можно прочитать [[Выбор_источника_данных_(версия_3.xx)|здесь]].
Назад к [[Интеграция_с_информационными_системами | Интеграции с информационными системами]].

Текущая версия на 09:38, 4 сентября 2018

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

Не рекомендуется использовать этот метод для внесения изменений в базу данных, это может привести к рассогласованию данных 1C.



смотрите так же SQL-запросы для 1С, Конфигурирование 1C

Назад к Интеграции с информационными системами.