Звоним по телефону из 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
114
.7z 93,16Kb 114 Скачать

См. также

Комментарии
1. Альберт Кадымов (sword444) 145 15.03.12 19:45 Сейчас в теме
(1) поставлю + за идею, буду пробовать
2. Иван Дижа (IDija) 142 16.03.12 12:41 Сейчас в теме
(0) C чем связано ограничение по конфигурациям. В УТ могу же использовать?
3. sound sound (sound) 520 16.03.12 12:47 Сейчас в теме
Тоже баловался только астериксом. За развитие идеи авансом плюсану.
4. Сергей (Sybr) 218 16.03.12 12:49 Сейчас в теме
Хм...Лучше запускать скайп с командной строкой соответствующей. Хотя конечно +
5. Юрий (madkat) 16.03.12 12:55 Сейчас в теме
Молодец, за идею и за то что не забросил и начал реализовывать конечно жму руку.
6. Ловыгин Антон (wunderland) 192 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) 192 16.03.12 13:29 Сейчас в теме
(3) sound, я одно время работал с *, правда не в контексте 1С, за ссылку спасибо, но это немного другое направление - не тянуть же для этого E1+плата+сервер.
Хотя для дальнейшего развития проекта вполне возможно
(4) Sybr, это немного другая задача - для этого должен быть всегда подключен интернет, и номера в базе должны быть скайповские, но как вариант...
9. sound sound (sound) 520 16.03.12 13:45 Сейчас в теме
(8) Да не, это все понятно, что это разные вещи, но по сути-то одни и те же хотелки (собственно звонки) реализованы абсолютно разными подходами. Просто вспомнилось что-то и решил ссылкой поделиться. Там, кстати, и еще один проект оказывается есть, называется originator, не знал.
10. г. Казань Рустем Гумеров (Rustig) 784 16.03.12 14:14 Сейчас в теме
можно ли с помощью этой разработки отправлять, например, счета из 1С по факсу?
11. г. Казань Рустем Гумеров (Rustig) 784 16.03.12 14:17 Сейчас в теме
печатать счета из 1С в ПДФ и отправлять по электронной почте я уже умею, хотелось бы теперь дополнительно на факс отправлять
12. Алексей Новиков (Новиков) 286 16.03.12 15:58 Сейчас в теме
В принципе уже можно и фидошную ноду таким макаром на 1С'е написать :)
13. Ловыгин Антон (wunderland) 192 16.03.12 16:20 Сейчас в теме
(10) Rustig, пока точно нельзя :)
Я в этом направлении никогда не копал, и пока не планирую. Но если взять библиотеку от VentaFax или от чего другого наверное можно будет.... Но там же еще, как я понимаю нужно подготовить, что отправлять - превратить отчет(печатную форму) в картинку или PDF.
Я планирую для проекта такое развитие:
1) Закончить нормально работу с модемом. Не только набирать номера, но и говорить через гарнитуру.
2) Звонки на мобильный через gsm-шлюз.
3) СМС через gsm-шлюз(или моб.тел.) и сайты операторов
4) Сценарии с использованием этих вариантов: обзвон, рассылка....
5) SIP
6) Skyp
14. Ловыгин Антон (wunderland) 192 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) 192 16.03.12 18:01 Сейчас в теме
(15) petunov, Спасибо, обязательно попробую. Особенно интересно записать последовательность команд, как в моём файле подготовки, а то он у меня долго отрабатівае....
17. Ay Bv (Flashill) 16.03.12 22:36 Сейчас в теме
Меня очень интересует следующее развитие идеи:
Звонит заказчик. Программа определяет номер телефона, крупными буквами высвечивает на экране:
- все что заказчик покупал
- другие товары которые приобретали другие клиенты (если они приобретали то же, что и звонящий)
- чем недавно интересовался заказчик, с кем он переговаривал и т.п.

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