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

30.10.13

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
tel.cf
.cf 183,74Kb
229
229 Скачать (1 SM) Купить за 1 850 руб.

Решение сделано на основе внешней компоненты 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 интеграция телефония

См. также

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

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

9700 руб.

10.11.2015    43333    35    1    

19

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

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

30000 руб.

02.11.2015    112823    101    88    

185

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

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

12000 руб.

20.03.2019    23092    54    0    

37

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

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

9600 руб.

08.05.2020    27610    31    74    

42

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

Внешняя компонента выполнена по технологии Native API для 1С 8.х, обеспечивает доступ к программным АТС Asterisk (FreePBX, Elastix) через AMI интерфейс. Через него можно управлять многими функциями Asterisk (определение номеров, перевод звонков, набор телефона и т. д.)

2400 руб.

04.05.2018    47146    124    66    

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

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

А по поводу плюса - от Вас и не надо ;)
7. Жолтокнижниг 259 31.10.13 09:44 Сейчас в теме
а что нового по сравнению с панелью от simplit, очередная гуёвая переработка?
user718181; +1 1 Ответить
8. CeHbKA 305 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 305 06.06.14 09:12 Сейчас в теме
(9) oleg.rizvanov, ого-го! Нифигасебе :)
Вот это новость :)
Возможно, стоит пересобрать эту обработку под ROM-Asterisk-Native?

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

Спасибо!
11. necsoft 21 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 305 13.05.16 09:51 Сейчас в теме
(11) necsoft, видимо объединили так :)
Посмотрите отладчиком, что из себя представляет значение глТелефония во время ошибки
15. alex_tmn 09.12.16 13:22 Сейчас в теме
(11)Доброго дня, подскажите, не нашли ли вы решение вашей проблемы?
В моей конфигурации аналогичная проблема
21. maksimov1c 7 11.06.19 17:37 Сейчас в теме
(11)Доброго дня удалось решить проблему? тоже самое зависает и все
13. RustIG 1833 14.06.16 17:55 Сейчас в теме
(0) добрый день. где можно скачать внешнюю компоненту ROM-Asterisk.dl ?
14. CeHbKA 305 15.06.16 10:20 Сейчас в теме
(13) Rustig, привет
компонента вшита в конфигурацию + в шапке есть ссылка на сайт разработчика компоненты
16. user718181 26.09.18 10:06 Сейчас в теме
Что за "профессионал" писал эту обработку? Ошибка на ошибке. ПодключитьОбработчикОжидания("вТелефонияКлиент.Автоподключение",30,Ложь); в глобальном модулe не работает.
18. CeHbKA 305 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 1833 26.09.18 14:47 Сейчас в теме
(19) возьмите стержень кода, остальное доделаете, будьте Профи!
17. user718181 26.09.18 10:40 Сейчас в теме
ОтключитьОбработчикОжидания("ПереподключитьТелефонию") - в модуле управляемого приложения это что вообще? Даже процедуры такой нет в конфе
22. maksimov1c 7 11.06.19 17:49 Сейчас в теме
Почему он не отрабатывает Если глТелефония.Подключено=1 Тогда изначально глТелефония - это наша dll, после того как отладчиком смотришь "глТелефония.Подключено" , глТелефония стает пустой.
23. maksimov1c 7 11.06.19 20:15 Сейчас в теме
	ТекущийРежим = глТелефония.РежимПрослушивания;
	// корректируем принимаемый параметр
	Режим = ?(Режим<0,0,Режим);
	Режим = ?(Режим>1,1,Режим);
	Если Режим - ТекущийРежим > 0 Тогда
		глТелефония.РежимПрослушивания(Режим);
	КонецЕсли;
	Возврат глТелефония.РежимПрослушивания;
Показать


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