Интеграция 1С и АТС ОКТЕЛЛ #670331


#0 by Alex_MA
Всем здравствуйте! Задача: Менеджер звонит по SIP телефону (сигнал идет через сервер ОКТЕЛЛ), сервер ОКТЕЛЛ посылает данные в 1С. Каким образом создать документ в текущем сеансе пользователя ? Есть у кого нибудь какие мысли по решению такой задачи ? За советы премного благодарен. Спасибо за внимание.
#1 by 1Cv8_accepted
Если какая-нибудь типовая конфигурация, то есть документ "Событие". Создавать при помощи COM-автоматизации, как и любой другой документ из внешнего приложения.
#2 by MaxisUssr
Недавно занимался подобным. Купили панель телефонии со своей компонентой, которая при событиях в Астериске генерила ВнешнееСобытие, которое в свою очередь успешно обрабатывалось в 1С (также была возможность создать документ "Событие", но я сделал регистр для звонков - это удобнее для составления отчетов)
#3 by Alex_MA
дело в том, что сигнал идет изначально не из программы 1С,  в от сервера ОКТЕЛЛ, поэтому нужно как то "попасть" в нужный сеанс пользователя и перед его "носом" создать документ "Собятие"
#4 by Alex_MA
+для дальнейшего его заполнения
#5 by MaxisUssr
Этот сервер ОКТЕЛЛ внешнее событие генерит? (1С это событие видит?)
#6 by Alex_MA
Трубка(менеджер) -> ОКТЕЛЛ -> Звонок клиенту и сигнал в 1С
#7 by Alex_MA
Конечно можно заделать через модуль внешнего соединения, но  как отобразить у конкретного менеджера создание документа ?
#8 by MaxisUssr
Судя по описанию (все события генерятся) проблему не понимаю
#9 by Alex_MA
каким образом откроется новый документ у менеджера ?
#10 by Alex_MA
ОКТЕЛЛ (стучимся в 1С) -> создаем документ "Событие" - Не проблема. Дальше как показать документ ? Можно конечно так: Запущено регл. задание, которое открывает последний сделанный звонок конкретным менеджером - но мне не нравится, м.б. есть какие другие варианты ?
#11 by MaxisUssr
Я бы сделал панель телефонии. Подсмотреть ее внешний вид можно у MIKO или Asterisk. В ней отображать все текущие звонки.
#12 by Alex_MA
в том то и дело, мне панель телефонии не подойдет. Звонок идет с трубки SIP телефона,а не с панели
#13 by MaxisUssr
Т.е. никакого "внешнего события" не возникает - тебе вручную (через COM) приходится создавать документ? Ну все равно - через тот же COM можно попробовать запустить метод "Оповестить" с параметром, равным ссылке на документ, и панель телефонии уже примет это оповещение своим методом "ОбработкаОповещения" и откроет документ, переданный в параметре
#14 by Alex_MA
оповестить работает ведь в рамках одного сеанса
#15 by Alex_MA
тогда получается все сводится к следующему: 1. какая то сторонняя программа подсоединилась к 1С, что то туда записала 2. Как только записала, в сеансе конкретного пользователя - что то случилось, например Hello World (Без использования регламентных заданий и подключить обработчик ожидания)
#16 by MaxisUssr
А если заюзать метод формы ВнешнееСобытие - ничего он хорошего не ловит после звонка?
#17 by Alex_MA
Подскажите пожалуйста сработает ли таким образом внешнее событие ? Допустим я написал внешнюю компоненту, при каждом запуске 1С она происходит ее подключение. Менеджер выполняет звонок с телефона, сигнал идет через ОКТЕЛЛ, который в свою очередь подключается к экспортной функции модуля внешнего соединения и передает туда какие то данные, а так же, например, вызывает какую либо функцию внешней компоненты, а она в свою очередь инициализирует ОбработкаВнешнегоСобытия именно у того менеджера который выполняет звонок ?
#18 by ИС-2
ничего не знаю про октелл, но можно сделать - в промежуточную базу выгружать данные об активных звонках и через COM подключение 1C опрашивать о их наличии
#19 by Alex_MA
хочу без регламентных функций сделать Краткая схема такая:
#20 by zladenuw
а в октелл, ты знаешь какой менеджер принял звонок ? если да. то можно ведь вызвать внешние событие 1с. передать туда ключ менеджера который обработал звонок. а уже через обработчик ожидание у пользователя открываешь ему документ.
#21 by Alex_MA
регламентные функции и обработчики ожидания - это разрыв по времени.
#22 by zladenuw
почему ? делаешь оповестить пользователя по внешнему событию. если это Уф то можно передать ссылку на документ и пользователь может его сам открыть
#23 by Alex_MA
Т.е. внешнее событие не в рамках одного сеанса ?
#24 by Jonny_Khomich
вообще на форуме (r.oktell.ru) был кусок кода как делать связь с 1с.
#25 by Alex_MA
если вы про это: то это не решает проблемы а вот тут люди каким то образом решили проблему. ЦИТАТА Для того чтобы получить карточку клиента при входящем звонке нужно сделать так, чтобы во время звонка сервер Asterisk дернул каким-нибудь образом 1С: Предприятие, да еще и клиентский сеанс того пользователя, чей телефон в данный момент зазвонил.   КОНЕЦИТАТЫ
#26 by Jonny_Khomich
вот надо обращаться к Илье Соколову, человек знающий, я на него работал. Есть у него проекты (внедрял до меня), где 1ска выдаёт карточку контрагента при входящем звонке в Oktell.
#27 by Alex_MA
вот этот момент и интересует, как при входящем или исходящем звонке идентифицируется нужный сеанс где нужно что то сделать...
#28 by Jonny_Khomich
вся работа через com-объект, я этим не занимался, настраивал карточку звонка стандартными решениями октелла.
#29 by Alex_MA
У пользователя постоянно висит какая-то обработка. На внешнее событие формы этой обработки приходит массив данных из сервера 1С. По приходу массива происходит обработка программными средствами 1С. Каким образом можно осуществить внешнее событие ?
#30 by smotritel
реклама:
#31 by MaxisUssr
Если отправлять событие через Внешнюю Компоненту - в инете есть темы на форумах, поищи по фразе "как отправить внешнее событие 1с". Может поможет.
#32 by MaxisUssr
ExternalEvent
#33 by Alex_MA
мне консоль в 1С не нужна. Звонок будет с трубки телефона.
#34 by Alex_MA
уже скачал один проект на VS2010, подключил компоненту для тестов. Пока что работает в рамках одного сеанса.
#35 by MaxisUssr
Получается, что внешнее событие генерится в винде - естественно оно перехватывается только теми сеансами 1С, которые находятся на том же компе...
#36 by smotritel
"консоль" там необязательна, её можно не использовать. p.s. по ссылке вообще-то можно демо-конфигурацию скачать. она не особо и закрыта. просто для серьезной работы нужен ещё плагин к Октеллу и сценарии для него же описанные в нём же - без них конфа не сильно полезна. но с точки зрения работы с событиями компоненты - ты там что-то сможешь посмотреть.
#37 by Alex_MA
я имею ввиду в рамках одного сеанса 1С
#38 by MaxisUssr
Я к тому, что нужно чтобы некая внешняя компонента, установленная на каждом компьютере, мониторила сервер Октелл и уже по прошествии некоего события отсылала "транзитом" это событие в 1С
#39 by Волесвет
эммм, из октелла не вытащить данные кто кому и сколько звонил ? и нафига это в 1с?
#40 by Alex_MA
например есть компонента icq для 1С а 1С работает много пользователей - каким образом реализована отправка сообщения конкретному пользователю ?
#41 by Alex_MA
Каким образом утилита отдает данные в нужный список получателей ? Т.е. как она выдает внешннее событие для всех? Опишу подробнее: У меня написана внешнаяя компонента, она выполняет деление двух чисел, если мы делим на 0, тогда вызывается внешнее событие в 1С Вот реализация внешнего события во внешней компоненте, если деление на 0 тогда вызывается процедура ExternalEvent - ОбработкаВнешнегоСоединения, которая у меня в модуле управляемого приложения. public int Go(int Param1, int Param2) { try { } } 1. Открыл 1 сеанс и обработку, которая выполняет подкоючение ВК и выполняет деление при нажатии x/0 (деление на ноль) - вызывается обработка внешнего события - все ОК. 2. Открываем еще сеанс и ту же обработку, которая выполняет подкоючение ВК. При выполнении действия в сеансе №1 деления на 0, ОбработкаВнешнегоСобытия в сеансе №2 не вызывается. Почему ?
#42 by Alex_MA
кому интересно завершение дискуссии:
#43 by Torquader
А может проблему решать немного по-другому? Внешняя компонента по TCP-IP общается с сервером телефонии, когда приходит звонок, она посылает сообщение всем клиентам, и у них на форме в 1С светится информация о входящем звонке - кто-то из менеджеров нажимает кнопку принять, и звонок приходит на его рабочее место ? Думаю, что в таком случае не будет ситуации, когда телефон менеджера звонит, а он ответить не может.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С