Интеграция с информационными системами/1C: различия между версиями
Jugin (обсуждение | вклад) |
Jugin (обсуждение | вклад) |
||
Строка 54: | Строка 54: | ||
В коде скрипта используются COM-объекты программы Call Office, подробнее про которые можно прочитать [[Объекты|здесь]]. | В коде скрипта используются COM-объекты программы Call Office, подробнее про которые можно прочитать [[Объекты|здесь]]. | ||
=== Call Office напрямую подключается к базе данных | === Call Office напрямую подключается к базе данных 1C === | ||
Если 1C использует стандартную базу данных, например, | Если 1C использует стандартную базу данных, например, MSSQL, то программа может подключиться к ней напрямую и работать с ее данными. В зависимости от того, какая именно база данных, будет производиться дальнейшая настройка. Про настройку баз данных с Call Office можно прочитать [[Выбор_источника_данных_(версия_3.xx)|здесь]]. | ||
Не рекомендуется использовать этот метод для внесения изменений в базу данных, это может привести к несогласованности данных 1C. |
Версия 17:43, 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 запускает внешний скрипт, который выполняет необходимые функции
Создайте файл скрипта, например, на языке 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.