gifts2017

Звоним по телефону из 1С

Опубликовал Ловыгин Антон (wunderland) в раздел Программирование - Внешние компоненты

В базах 1С различных конфигураций часто хранятся номера телефонов - контрагенты (контактные лица), сотрудники (соискатели) и т.д.
Можно воспользоваться этими данными для автоматизации набора номера.

Один из моих клиентов, большой чудак, как-то сказал мне: "Видишь, у меня тут в отчете есть номера телефонов? Хочу чтобы мышкой по нужному бяк-бяк, и он набрался...". Мне это показалось интересным, и начала инженерная мысль гонять тараканов в голове, заставляя их работать - искать варианты. Естественно, номер должен кто-то набрать, модем например. Можно конечно через АТС или SIP-сервер но это доп. проблемы и затраты... Вот и решил я через dll-ку для работы с COM-портом прикрутить модем. Из тестовой формы потом сделал что-то типа СофтФона (он на картинке справа), и форму управления (на картинке слева), на которой будут выбираться, собственно, телефоны, кому звонить. Сразу хочу сказать, что работа еще далека от завершения, и некоторые кнопки/галочки/поля могут либо не работать, либо выдавать ошибки, но сам я уже пользуюсь, ну и дописываю по мере возможности...

И так, в упаковку входят:

  1. vk_rs232.dll -  взял или здесь http://stranichko.org.ua/blog/programming/1c-vk-rs232-com-port-sources/ или http://www.kb.mista.ru/article.php?id=77 уже не помню
  2. СофтФон.epf - собственно, обработка, которая пользует модем
  3. Порт.txt - здесь хранится номер порта, сделал сперва так, а по-человечески пока времени не было
  4. Подготовка.cm - текстовый файл с набором команд модема для его настройки перед набором номера. Тут скажу пару слов - вообще задача стояла общаться через гарнитуру, подключенную к внешнему войсовому модему, так что без настройки было ну никак. Я ложу свой файл для примера, он заточен на конкретно мой модем, для другого может не подойти какая-то команда или регистр. Теоретически, для набора номера достаточно АТ, но дальше после набора лучше брать трубку а по модему давать отбой, если они включены последовательно, иначе при подъеме трубки модем начнет общаться. Так что настраивать скорее всего придется. При загрузке, и после каждого отбоя обработка выполняет подготовку, и находится в ожидании номера для набора.
  5. МенеджерКонтактов.epf  - форма, которая при запуске запускает СофтФон и отображает (пока что) справочник сотрудников. На первой закладке все сотрудники, как они есть в справочнике по папкам, на второй - по категориям, принадлежность к которым определяется в справочнике ФизЛица на закладке дополнительно (рис. 2)

Все эти файлы должны лежать в папке с конфигурацией, если база файловая, или в папке с bin, если серверная (только не бейте Embarassed 

сам знаю что криво). Клик*2 по ФИО сотрудника вызывает карточку физ.лица, а по номеру телефона - сразу идет набор. Если телефона в базе нет, набираем на СофтФоне мышкой или с клавиатуры.

Просто по этой работе в цене не сошлись с заказчиком, поэтому теперь стадия вялотекущей шизофрении разработки, а показать кому-то хочется.

Есть, конечно, и проблемки... Например подготовительные команды выполняются недостаточно быстро, секунду-полторы каждая, а где крутить не знаю? Где покрутить - время отклика модема или таймаут в dll-ке, если кто знает, подскажите пожалуйста, а то модемы, это не мой конек. Видел недавно на этом форуме публикацию по СОМ-порту но еще не добрался попробовать из нее библиотеку.

Короче, как-то так. Смотрите, строго не судите... 

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

Наименование Файл Версия Размер Кол. Скачив.
SP.7z
.7z 93,16Kb
15.03.12
111
.7z 93,16Kb 111 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Альберт Кадымов (sword444) 15.03.12 19:45
(1) поставлю + за идею, буду пробовать
2. Иван Дижа (IDija) 16.03.12 12:41
(0) C чем связано ограничение по конфигурациям. В УТ могу же использовать?
3. sound sound (sound) 16.03.12 12:47
Тоже баловался только астериксом. За развитие идеи авансом плюсану.
4. Сергей (Sybr) 16.03.12 12:49
Хм...Лучше запускать скайп с командной строкой соответствующей. Хотя конечно +
5. Юрий (madkat) 16.03.12 12:55
Молодец, за идею и за то что не забросил и начал реализовывать конечно жму руку.
6. Ловыгин Антон (wunderland) 16.03.12 13:13
(2) IDija, ограничений нет, а нюансы возможны :)
Начинал писать по под УПП - вроде все ОК, а под ЗиУП запустил, а там категория "Все" отсутствует.
Вот и крутить сразу нужно...
Форму менеджера можно модифицировать, сейчас там только ФизЛица, контрагентов туда добавить, представителей, банки, налоговые - у всех же есть телефоны...
7. Alex (petunov) 16.03.12 13:16
Идея,конечно,хороша, но не нова и уже давно реализована более элегантным способом.
Использовать внешнюю компоненту нет смысла - она предназначена, в первую очередь, для
чтения данных из COM-порта. Для управления модемом (набор номера, поднятие трубки и т.п.)
достаточно использовать FSO,который может работать с COM-портом как с текстовым файлом.
Ниже пример кода из 7-ки (разобраться и переделать под 8-ку,думаю, труда не составит):

fso=СоздатьОбъект("Scripting.FileSystemObject");
ff=fso.OpenTextFile("com3:",8,0);
ff.writeline("ATDT"+НомерТелефона+";");
Предупреждение("Идет набор номера...",6);
ff.writeline("ATZ");
SlavaVNL; MrFlanker; LADNN; BigB; wunderland; +5 Ответить 1
8. Ловыгин Антон (wunderland) 16.03.12 13:29
(3) sound, я одно время работал с *, правда не в контексте 1С, за ссылку спасибо, но это немного другое направление - не тянуть же для этого E1+плата+сервер.
Хотя для дальнейшего развития проекта вполне возможно
(4) Sybr, это немного другая задача - для этого должен быть всегда подключен интернет, и номера в базе должны быть скайповские, но как вариант...
9. sound sound (sound) 16.03.12 13:45
(8) Да не, это все понятно, что это разные вещи, но по сути-то одни и те же хотелки (собственно звонки) реализованы абсолютно разными подходами. Просто вспомнилось что-то и решил ссылкой поделиться. Там, кстати, и еще один проект оказывается есть, называется originator, не знал.
10. г. Казань Рустем Гумеров (Rustig) 16.03.12 14:14
можно ли с помощью этой разработки отправлять, например, счета из 1С по факсу?
11. г. Казань Рустем Гумеров (Rustig) 16.03.12 14:17
печатать счета из 1С в ПДФ и отправлять по электронной почте я уже умею, хотелось бы теперь дополнительно на факс отправлять
12. Алексей Новиков (Новиков) 16.03.12 15:58
В принципе уже можно и фидошную ноду таким макаром на 1С'е написать :)
13. Ловыгин Антон (wunderland) 16.03.12 16:20
(10) Rustig, пока точно нельзя :)
Я в этом направлении никогда не копал, и пока не планирую. Но если взять библиотеку от VentaFax или от чего другого наверное можно будет.... Но там же еще, как я понимаю нужно подготовить, что отправлять - превратить отчет(печатную форму) в картинку или PDF.
Я планирую для проекта такое развитие:
1) Закончить нормально работу с модемом. Не только набирать номера, но и говорить через гарнитуру.
2) Звонки на мобильный через gsm-шлюз.
3) СМС через gsm-шлюз(или моб.тел.) и сайты операторов
4) Сценарии с использованием этих вариантов: обзвон, рассылка....
5) SIP
6) Skyp
14. Ловыгин Антон (wunderland) 16.03.12 16:28
(7) petunov, знаю что так работают в unix/linux, типа echo atdt1234567>com3
а вот Ваш вариант, для меня новость, так что большое спасибо, обязательно посмотрю.
Но есть один момент - если работать через COM модем при входящем звонке сделает в 1С
событие, которое можно обработать, формочку всплыть или в журнал пропущенных записать....
15. Alex (petunov) 16.03.12 17:21
(14) http://www.forum.mista.ru/topic.php?id=134535
Тут можно почитать,как перехватывать событие входящего звонка.
16. Ловыгин Антон (wunderland) 16.03.12 18:01
(15) petunov, Спасибо, обязательно попробую. Особенно интересно записать последовательность команд, как в моём файле подготовки, а то он у меня долго отрабатівае....
17. Ay Bv (Flashill) 16.03.12 22:36
Меня очень интересует следующее развитие идеи:
Звонит заказчик. Программа определяет номер телефона, крупными буквами высвечивает на экране:
- все что заказчик покупал
- другие товары которые приобретали другие клиенты (если они приобретали то же, что и звонящий)
- чем недавно интересовался заказчик, с кем он переговаривал и т.п.

Таким образом менеджер по продажам всегда будет знать что ответить и что предложить.
Т.е. развитая CRM система. У нас стоит УПП + 1С: Рарус CRM, но либо мы задействовали не весь потенциал, либо потенциал кажущийся. Кто что посоветует?
18. Ловыгин Антон (wunderland) 17.03.12 14:36
(17) Flashill, все это вполне реально, но решается скорее всего только доработкой ...
19. Dimon (klel) 17.03.12 20:36
Спасибо ребята за идею =) хорошо когда что то новое появляется и идею идут :)
20. AlexBar (AlexBar) 18.03.12 17:30
Однозначно +1 за идею. Надеюсь развитие идеи не за горами и автор реализует все, что задумал. Что касается использования или не использования dll, то это личное дело автора. Я например использую передачи SMS через USB модем без дополнительных внешних компонент, все средствами 1С и windows библиотека com-порта. Мысль об отправке документов по фасу тоже очень интересная и вероятно имеет хорошие шансы на развитие.
21. olga pt (pt_olga) 19.03.12 13:29
22. Sergey Sergey (Sergey___) 19.03.12 15:12
Хотелось бы на SIP. Но все равно молодец. Ставлю +
24. Виталий Фантич (Boudybuilder) 19.03.12 16:38
Интересное решение!
Будем пробовать!
++++++++++++++++
25. Михаил Гомбоев (yoyoman) 20.03.12 04:25
Не понял, сейчас эта штука работает через GSM-модем или Dialup-модем?
26. Фаниль Хасанов (Fanil) 20.03.12 09:23
27. Ловыгин Антон (wunderland) 20.03.12 11:22
(25) yoyoman, пока - да...
Но комплект запланирован модульный, т.е. к менеджеру контактов(телефонной записной книжке, если точнее) подключаются Софт-телефоны. Сейчас выложен рабочий набросок именно для Dialup. В дальнейшем будет несколько модулей, а менеджер будет направлять вызов, в зависимости от .... (13) вот тут об этом пару слов...
28. Михаил Гомбоев (yoyoman) 20.03.12 11:37
(27) Большое спасибо за пояснение :) будем ждать дополнительные модули :)
29. Дандронтий Крузенштерн (dandrontiy) 20.03.12 11:42
Идея хороша. Но хотелось бы чтобы и со скайпом работало.
30. Максим Волков (maxlenium) 21.03.12 17:11
Не совсем понял назначение программы, но идея понравилась. Сейчас она только номера набирает? Или еще какой функционал работает?
31. Екатерина К (KEP) 22.03.12 07:00
И мне понравилось спасибо за идею и продвижение прогресса!
32. Гость 18.07.12 12:35
готов заплатить если нам установите и настроите чтоб все работало мой тел 89196209414 айрат эл ящик 333444@mail.ru
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа