Интеграция с информационными системами/1C: различия между версиями
Jugin (обсуждение | вклад) |
Vs (обсуждение | вклад) |
||
(не показано 9 промежуточных версий 2 участников) | |||
Строка 3: | Строка 3: | ||
=== Взаимодействие с 1C средствами Call Office === | === Взаимодействие с 1C средствами Call Office === | ||
Во время настройки конфигурации в разделе '''Источник данных''' выберите '''1C''' и нажмите "Далее", после чего попадете на страницу [[Конфигурирование_1C_(версия_3.xx)|конфигурирования 1C]]. Далее в разделе '''Чтение данных''' выберите '''SQL-запрос''' и введите SQL-запрос на выборку данных из 1C, а в разделе '''Запись данных''' введите SQL-запрос для сохранение результатов звонка. Об особенностях SQL-запросов для 1С можно подробнее узнать [[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 вызывает функции | === 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 ();</nowiki> | |||
Подробнее про объекты, методы и свойства COM-объектов Call Office можно прочитать [[Объекты|здесь]]. | |||
Создайте | === 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 <Номер телефона> <Имя звукового файла>"); | ||
В | </nowiki> | ||
В коде скрипта используются COM-объекты программы Call Office, подробнее про которые можно прочитать [[Объекты|здесь]]. | |||
=== Call Office напрямую подключается к базе данных 1C === | |||
Если 1C использует стандартную базу данных, например, MSSQL, то программа может подключиться к ней напрямую и работать с ее данными. В зависимости от того, какая именно база данных, будет производиться дальнейшая настройка. Про настройку баз данных с Call Office можно прочитать [[Выбор_источника_данных_(версия_3.xx)|здесь]]. | |||
Не рекомендуется использовать этот метод для внесения изменений в базу данных, это может привести к рассогласованию данных 1C. | |||
---- | |||
смотрите так же [[SQL запросы (версия 3.xx)/1C |SQL-запросы для 1С]], [[Конфигурирование 1C (версия 3.xx) | Конфигурирование 1C]] | |||
Назад к [[Интеграция_с_информационными_системами | Интеграции с информационными системами]]. |
Текущая версия на 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