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