Интеграция 1С 8.2 и Asterisk (упр. формы)

30.10.13

Функциональные - Управление взаимоотношениями с клиентами (CRM)

Пример интеграции на управляемых формах.
Работа с телефонией в тонком клиенте.

Скачать файлы

Наименование Файл Версия Размер
tel.cf
.cf 183,74Kb
227
.cf 183,74Kb 227 Скачать

Решение сделано на основе внешней компоненты ROM-Asterisk.dll от simplit

Огромное спасибо пользователю Олег Ризванов за его труд и бесценные комментарии.

 

Итак, перейдем к делу.

 

В: что это такое ?

О: Подсистема на управляемых формах, которую можно интегрировать почти в любую конфигурацию (как в типовую, так и в самопал).

 

В: Как это работает?

О: При запуске конфигурации инициализируется внешняя dll, далее через неё идёт подключение к АТС Asterisk. Возможность хранить для каждого конкретного пользователя 1С свои настройки для подключения к АТС (которых может быть несколько)

 

В: а если я захочу что-то исправить?

О: Разработка не представляет из себя ничего сложного. Функционал бесплатной панели телефонии для 1С и Asterisk перекочевал в модуль упр.приложения, пару общих модулей, а также добавлен один справочник (настройки подключения к АТС) и один регистр сведений (настройки АТС для пользователей)

 

В: как установить\интегрировать?

О: Как сказано выше - разработка не представляет из себя ничего сложного. Можете "сравнить\объединить...", а можете и ручками. Последний вариант, конечно предпочтительнее. Т.к. будете знать, куда копать если захотите что-то допилить, а работы всего на пару минут

 

Рассмотрим интеграцию подсистемы "Телефония" на типовой УТ 11. Блок объединения конфигурации рассматривать не будем - там всё просто.

В панели разделов появится новая подсистема, а конфигурация встретит вас сообщением:

Если для пользователя не заданы настройки

 

Далее, заходим в подсистему телефония и задаем настройки:

- в справочнике "Виды АТС" указываем настройки подключения к IP АТС

- в регистре сведений "Настройки пользователей АТС" указываем связку какой пользователь какую АТС использует, его персональный внутренний номер и контекст

После этого перезапускаем 1С.

Система попробует подключить внешнюю компоненту (dll). По умолчанию забит путь C:\Windows\System32\, если dll-ки там нет, то конфигурация попытается самостоятельно сохранить туда файлик ROM-Asterisk.dll

 

После этого, нужно запуститься в толстом клиенте. Это необходимо для того, чтобы 1C зарегистрировала внешнюю компоненту в реестре Windows (можете зарегить самостоятельно, тогда запуск в толстом клиенте не потребуется).

Опять запускаем 1С (теперь можно в тонком клиенте), если всё прошло успешно - вы увидите внизу всплывающие окна, о том что всё ОК :)

В противном случае, система выдаст вам сообщение об ошибке.

Алгоритм такой:

1) проверка настроек для данного пользователя

2) подключение внешней компоненты

3) инициализация объекта

4) подключение к АТС

 

Если какой-то этап завален, дальше не взлетит. О чём вам скажут сообщения об ошибке.

В: Как звонить (совершать исходящие вызовы)?

О: В общем модуле "вТелефонияКлиент" есть экспортная процедура "Звонить" с одним единственным параметром, куда передаётся номер телефона. Завязывайте на неё любую кнопку в вашей конфигурации

 

Обработку входящего звонка допиливайте самостоятельно в модуле упр.приложения через процедуру "ОбработкаВнешнегоСобытия"

Далее, обработка звонков ограничивается только вашей фантазией. Можно завязать любое логирование событий, вплоть до фиксирования длительности звонка и т.д. и т.п.

Enjoy :)

P.S. на самую лучшую в мире разработку не претендую, вполне возможны косячки Tongue Out

1C8 Asterisk интеграция телефония

См. также

1С:CRM ПРОФ, КОРП, СТАНДАРТ, редакция 3.0

Управление взаимоотношениями с клиентами (CRM) Управление маркетингом (EMM) Платформа 1С v8.3 Управленческий учет Платные (руб)

Решение 1С:CRM 3.0 предназначено для компаний с потребностью совместной работы более 5 пользователей в единой информационной базе. Решение позволяет автоматизировать все бизнес-процессы компании в соответствии с концепцией CRM, включая закупки, продажи, маркетинг, сервисное обслуживание и пр.

8500 руб.

10.11.2015    42328    27    1    

15

Бонусная система для УТ 10.3

Управление взаимоотношениями с клиентами (CRM) Оптовая торговля Розничная торговля Платформа 1С v8.3 Оперативный учет Управляемые формы 1С:Управление торговлей 10 1С:Розница 2 Россия Управленческий учет Платные (руб)

Подсистема призвана упростить и автоматизировать процесс расчета и начисления бонусов покупателей. Работает с конфигурациями 1С:УТ 10.3, 1С:Розница. Механизм реализован в начале 2013г. и работает до сих пор с постоянными совершенствованиями.

30000 руб.

02.11.2015    109655    93    87    

182

Email, SMS, Telegram рассылки из 1С - Директ Маркетинг

Управление взаимоотношениями с клиентами (CRM) Мессенджеры и боты SMS рассылки Email рассылки Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Полный набор инструментов для качественных транзакционных и маркетинговых Email, SMS, Telegram рассылок из 1С. Даже простые уведомления об оплате счетов способны существенно упростить сбор дебиторской задолженности. Применение всех возможностей прямого маркетинга выводит коммуникацию с клиентами, уровень сервиса и лояльность на новый уровень.

7788 руб.

07.04.2014    83621    40    191    

127

Модуль или Расширение Автосервис для 1С: УТ10.3, УТ11, БП3.0, Розница, УНФ

Управление взаимоотношениями с клиентами (CRM) Производство готовой продукции (работ, услуг) Рабочее место Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Автомобили, автосервисы Управленческий учет Платные (руб)

Модуль или расширение для автоматизации автосервиса, является дополнением для системы 1С:Предприятие и предназначен для автоматизации работ на станциях технического обслуживания автомобилей (программа для СТО). С помощью модуля автосервиса Вы сможете значительно сократить время на оформление документов, что позволит уделить больше времени клиенту автосервиса и ремонту его автомобиля.

11900 руб.

09.03.2016    48588    121    1    

57

Облачная АТС Билайн - интеграция с 1С

Управление взаимоотношениями с клиентами (CRM) Телефония, SIP Облачные сервисы, хостинг Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Продукт интеграции возможностей Облачной АТС Билайн в систему 1С Предприятие 8. Звонки прямо из программы 1С, уведомления о текущих звонках, регистрация пропущенных и завершенных вызовов, ведение журнала, анализ данных об использовании мобильной связи.

12000 руб.

20.03.2019    22325    52    0    

35

Интеграция 1С с телефонией и чатами WhatsApp и Telegram

Телефония, SIP Мессенджеры и боты Платформа 1С v8.3 Конфигурации 1cv8 Россия Управленческий учет Платные (руб)

Интеграция 1С с телефонией и чатами WhatsApp и Telegram автоматизирует работу оператора со звонками и чатами и добавит вашей 1С элементы CRM системы. Храните всю историю взаимоотношений в 1С, не теряйте звонки, скачивайте, прослушивайте в любое время из карточки клиента или журнала звонков, держите руку на пульсе, используя блок отчетов по звонкам. Интегрируйте вашу 1С и чатами WhatsApp и Telegram, общайтесь с клиентами с единого номера и в одном окне. Теперь чаты с клиентами хранятся в карточке партнера в 1С, а не в личных мобильных ваших менеджеров.

4100 руб.

28.04.2022    13857    11    6    

36
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. oleg.rizvanov 261 28.10.13 19:03 Сейчас в теме
Вообще-то, я Олег Ризванов, а не Олег Ривзанов :)
2. CeHbKA 300 29.10.13 09:00 Сейчас в теме
(1)упс, очепятался :[
исправил :)
3. CagoBHuK 32 30.10.13 16:09 Сейчас в теме
Управляемые формы подразумевают работы и в Linux-клиенте в том числе. Ваша разработка работает в нем? А в браузере?
4. CeHbKA 300 30.10.13 17:14 Сейчас в теме
(3)
1 - управляемые формы работают в линухе и веб-клиенте
2 - внешняя компонента (она же ROM-Asterisk.dll) написана с помощью COM-технологии
3 - внешняя компонента не работает в веб-клиенте и в линухе тоже, потому что она COM

Надеюсь ответил на все вопросы :)
5. CagoBHuK 32 30.10.13 17:48 Сейчас в теме
(4) В таком случае принципиальных отличий от прочих разработок на эту тему не вижу. Серьезное ограничение - работа только в винде. Плюса не заслуживает.
6. CeHbKA 300 30.10.13 18:01 Сейчас в теме
Вы кажется невнимательно читаете. Причем, очень часто. Внешняя компонента - не моя разработка.

А по поводу плюса - от Вас и не надо ;)
7. Жолтокнижниг 258 31.10.13 09:44 Сейчас в теме
а что нового по сравнению с панелью от simplit, очередная гуёвая переработка?
user718181; +1 1 Ответить
8. CeHbKA 300 04.11.13 13:00 Сейчас в теме
(7) в описании к публикации есть вся необходимая информация. Гуёвая или негуёвая - каждый для себя решает сам. Качайте - смотрите.
9. oleg.rizvanov 261 06.06.14 03:09 Сейчас в теме
Тихо и незаметно Simplit выпустил NativeAPI-версию ROM-Asterisk + новый релиз COM-версии

Из нового:
- Поддерживается сторона сервера
- Можно нарастить глубину очереди событий
- Можно перенаправлять ошибки во внешнее событие

Возможно, стоит пересобрать эту обработку под ROM-Asterisk-Native?
ironn; h00k; +2 Ответить
10. CeHbKA 300 06.06.14 09:12 Сейчас в теме
(9) oleg.rizvanov, ого-го! Нифигасебе :)
Вот это новость :)
Возможно, стоит пересобрать эту обработку под ROM-Asterisk-Native?

Конечно стоит, ща шапку подредактирую и займусь в свободное время

Спасибо!
11. necsoft 13 13.05.16 00:01 Сейчас в теме
Доброй ночи!

Беру демо конфу - все работает. Встраиваю в свою (самописная) через сравнение и объединение и вылетает на Функция Login(Логин,Пароль), а именно при выполнении Если глТелефония.Подключено=1 Тогда

// Авторизация в Asterisk Manager API
//
// Возвращаемое значение: 1-команда отправлена, 0-нет
//
&НаКлиенте
Функция Login(Логин,Пароль)
//    ДокументОбъект = РеквизитФормыВЗначение("Объект"); 
	Если ПустаяСтрока(Логин) Тогда
		Сообщение = Новый СообщениеПользователю;
		Сообщение.Текст = "Login(). Не указан параметр <Логин>";
		Сообщение.Сообщить(); 
		Возврат 0;
	КонецЕсли; 

	Если ПустаяСтрока(Пароль) Тогда
		Сообщение = Новый СообщениеПользователю;
		Сообщение.Текст = "Login(). Не указан параметр <Пароль>";
		Сообщение.Сообщить(); 
		Возврат 0;
	КонецЕсли; 

	Если глТелефония.Подключено=1 Тогда
		CRLF = Chars.CR + Chars.LF;
		СтрокаКоманды= "Action: Login"+CRLF+
		"Username: "+Логин+CRLF+
		"Secret: "+Пароль+CRLF+CRLF;
		Возврат ВыполнитьКоманду(СтрокаКоманды);
	КонецЕсли; 

	КонецФункции // Login
Показать


Буду благодарен за помощь!
12. CeHbKA 300 13.05.16 09:51 Сейчас в теме
(11) necsoft, видимо объединили так :)
Посмотрите отладчиком, что из себя представляет значение глТелефония во время ошибки
15. alex_tmn 09.12.16 13:22 Сейчас в теме
(11)Доброго дня, подскажите, не нашли ли вы решение вашей проблемы?
В моей конфигурации аналогичная проблема
21. maksimov1c 6 11.06.19 17:37 Сейчас в теме
(11)Доброго дня удалось решить проблему? тоже самое зависает и все
13. RustIG 1351 14.06.16 17:55 Сейчас в теме
(0) добрый день. где можно скачать внешнюю компоненту ROM-Asterisk.dl ?
14. CeHbKA 300 15.06.16 10:20 Сейчас в теме
(13) Rustig, привет
компонента вшита в конфигурацию + в шапке есть ссылка на сайт разработчика компоненты
16. user718181 26.09.18 10:06 Сейчас в теме
Что за "профессионал" писал эту обработку? Ошибка на ошибке. ПодключитьОбработчикОжидания("вТелефонияКлиент.Автоподключение",30,Ложь); в глобальном модулe не работает.
18. CeHbKA 300 26.09.18 13:39 Сейчас в теме
(16) писал я. 5 лет назад.

Из всех скачавших, ошибка на ошибке, только у вас.
Если не нравится - сделайте сами.
Если можете сами - зачем вам чужое?

P.S. вежливость - залог успеха
P.P.S. не думал, что подобные вещи до сих пор актуальны
P.P.P.S. удачи вам в нелёгкой работе, дальше будет ещё "веселее" :)
19. user718181 26.09.18 14:13 Сейчас в теме
(18) Самому и пришлось писать, потому - что в том виде, как это выложено - это не взлетит
20. RustIG 1351 26.09.18 14:47 Сейчас в теме
(19) возьмите стержень кода, остальное доделаете, будьте Профи!
17. user718181 26.09.18 10:40 Сейчас в теме
ОтключитьОбработчикОжидания("ПереподключитьТелефонию") - в модуле управляемого приложения это что вообще? Даже процедуры такой нет в конфе
22. maksimov1c 6 11.06.19 17:49 Сейчас в теме
Почему он не отрабатывает Если глТелефония.Подключено=1 Тогда изначально глТелефония - это наша dll, после того как отладчиком смотришь "глТелефония.Подключено" , глТелефония стает пустой.
23. maksimov1c 6 11.06.19 20:15 Сейчас в теме
	ТекущийРежим = глТелефония.РежимПрослушивания;
	// корректируем принимаемый параметр
	Режим = ?(Режим<0,0,Режим);
	Режим = ?(Режим>1,1,Режим);
	Если Режим - ТекущийРежим > 0 Тогда
		глТелефония.РежимПрослушивания(Режим);
	КонецЕсли;
	Возврат глТелефония.РежимПрослушивания;
Показать


Зависает dll зарег
24. maipochta 16.10.19 14:26 Сейчас в теме
Библиотека инициализируется на клиенте, т.е. клиент обязательно на Windows, а сервер 1с можно на Linux использовать? Или все только на Windows?
Оставьте свое сообщение