Решение сделано на основе внешней компоненты 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. на самую лучшую в мире разработку не претендую, вполне возможны косячки