Прием и отправка СМС из любой конфигурации 1С Предприятие 8.1,8.2 через usb-модем


Прием и отправка СМС из любой конфигурации 1С Предприятие 8.1,8.2 через usb-модем (внешняя обработка, конфигурация —  обычное/управляемое приложение)

     Процесс приема и отправки СМС-сообщений из программы 1С Предприятие сопряжен с определенными трудностями. Вашему вниманию предлагается один из простых и быстрых вариантов решения данной проблемы.  Обработка «СМС для 1С» предназначена для приема и отправки СМС-сообщений из любых конфигураций 1С Предприятие 8.1, 8.2 с использованием USB-модема, без какого-то либо изменения самих конфигураций. Отправка сообщений возможна на международные и короткие номера в кодировках UCS2/GSM 7-bit default alphabet, в режиме FLASH (всплывающие СМС), с подтверждением о доставке и с указанием времени хранения недоставленных СМС-сообщений на сервере оператора сотовой связи.

    Интеграция данной обработки в конфигурацию не составит особого труда даже для начинающего программиста 1С. Обработку можно условно представить как некую загружаемую библиотеку, содержащую в себе функции приема/отправки сообщений. Пример загрузки «библиотеки» и последующего вызова функций приема/отправки СМС-сообщений наглядно продемонстрирован в теле самой обработки. Для работы обработки требуется наличие установленного в операционной системе ActiveX компонента MSCOMM32.OCX. Работоспособность обработки гарантируется в линейке операционных систем от Windows XP до Windows 2008 Server R2 x64 (в том числе с установленным терминальным сервером).  Поддерживаемые USB-модемы: Huawei E1550, E160G, E175; ZTE MF626, MF627. Поддержка других модемов и телефонов не гарантируется, но возможна с высокой степенью вероятности.
    Обработка бесплатна, не имеет ограничений по функционалу. Каждое отправляемое сообщение дополняется рекламным блоком, который может быть отключен на условиях, приведенных в обработке в разделе «Информация».
    В скором будущем планируется выпуск пакета сопроводительной документации и закрытого модуля для интеграции в любые конфигурации 1С Предприятие 8.1, 8.2.
Обновление от 22.09.2011: тотальная ревизия кода для работы в режиме управляемого приложения,  улучшена диагностика ошибок
Обновление от 27.09.2011: добавлены файлы конфигураций для интеграции с конфигурациями пользователей

68 Comments

  1. smsfor1c

    Прием и отправка СМС из любой конфигурации 1С Предприятие 8.1,8.2 через usb-модем (внешняя обработка, конфигурация — обычное/управляемое приложение)

    Перейти к публикации

    Reply
  2. Angeros

    А как понять вот эту надпись?

    ActiveX компонент MSCOMM32.OCX не лицензирован для использования!

    Reply
  3. smsfor1c

    Поcмотри здесь

    google

    Reply
  4. CaSH_2004

    Вобщем интересно, но ничего не получилось

    Поначалу мучался с «ActiveX компонент MSCOMM32.OCX не лицензирован для использования!»

    сделал как тут http://forum.cta.ru/forum_posts.asp?TID=493

    потом как тут http://forum.infostart.ru/forum9/topic5917/, потом решил перезагрузится и надпись ушла

    Обработка тупо молчит, отключил инет по LAN запустил инет с модема, пишет:

    {ВнешняяОбработка.СМСдля1С(1969)}: Ошибка при установке значения атрибута контекста (PortOpen): Произошла исключительная ситуация (MSComm): The device is not open

    Отлючил инет с модема, отключил инет с LAN — молчит

    Включил инет с LAN, отключил с модема — молчит

    Может когда молчит что то и отправляет, но ничего не приходит

    Reply
  5. CaSH_2004

    Кстати пробую через AnyDATA CDMA USB Modem от SkyLink

    Может в нем загвоздка?

    Reply
  6. smsfor1c
    CaSH_2004 пишет:

    Обработка тупо молчит

    Это значит, что функция отправки(приема) СМС вернула код ошибки… Инет кстати не нужен ни с LANа, ни с модема для отправки сообщений. Отправка СМС происходит подобно отправке с обычного телефона согласно тарифа SIM-карты.

    Сообщение «{ВнешняяОбработка.СМСдля1С(1969)}: Ошибка при установке значения атрибута контекста (PortOpen): Произошла исключительная ситуация (MSComm): The device is not open» говорит о том, что модем занят.

    Думаю что дело действительно в модеме (возможно в тонкостях общения модема и обработки). Сейчас смотрю, что за зверек это такой AnyDATA CDMA USB Modem. Готов с твоей помощью прикрутить его к обработке… Попозже свяжусь с тобой, если ты не против.

    Reply
  7. smsfor1c
    CaSH_2004 пишет:

    Кстати пробую через AnyDATA CDMA USB Modem от SkyLink

    Может в нем загвоздка?

    В нем и только в нем! Вопрос тщательно изучил, заявляю однозначно: поддержки CDMA-модемов в обработке не будет. Неблагодарная задача. Извини, погорячился малость в предыдущем посте насчет прикрутки…

    Reply
  8. leraks

    А пароль на общий модуль можешь дать?? Нужен для понимания что и как там происходит)

    Reply
  9. 2509kra

    А кто-нибудь прикручивал mscomm32.ocx к windows x64? Объясните как пожалуйста или дайте ссылку где рыть. Ругается в 7, что нельзя использовать в 64 системе…

    Reply
  10. smsfor1c
    2509kra пишет:

    А кто-нибудь прикручивал mscomm32.ocx к windows x64? Объясните как пожалуйста или дайте ссылку где рыть. Ругается в 7, что нельзя использовать в 64 системе…

    Попробуй глянуть здесь: google

    Дай знать, помогло или нет.

    Reply
  11. v.a.ryag

    щас скачаю, очень нужно, очень надеюсь что взлетит) тока вот на 8.2

    Reply
  12. v.a.ryag

    не могу в 8.2 открыть… пишет что файл не может быть открыт данной версией программы. Мож кто подскажет чегО?

    Reply
  13. smsfor1c
    v.a.ryag пишет:

    не могу в 8.2 открыть… пишет что файл не может быть открыт данной версией программы. Мож кто подскажет чегО?

    Вариант 1: скачай обработку для 8.2 из публикации (она там есть)

    Вариант 2: открой обработку через конфигуратор и скажи да в ответ на предложение о конвертации

    Успехов!

    Reply
  14. v.a.ryag

    спасибо, не увидел второй файл, сейчас попробую)

    Reply
  15. v.a.ryag

    а ещё кстати не скажите, можно ли как то вычислить физическо местонахождение usb-модема или сим-карты с которой отправка будет идти? ато мне надо чтоб все анонимно, точнее без палева так сказать)

    Reply
  16. v.a.ryag

    скачал второй файл для 8.2.. Но он такой же как если для 8.1 через конфигуратор пересохранить.. У меня самописная конфа, в управляемом приложении в режиме предприятия если её открыть как внешнюю открывается пустая форма.. а если в конфу добавить, то пишет ошибку «»Не обнаружена обработка «»СМСдля1С»» по заданному пути»»».. я так модуль глянул у формы, там справочник надо… подскажите как поступить? создавать справочник и перечисление (вроде тоже там нужно) или можно иначе в конфу добавить?

    Reply
  17. smsfor1c

    v.a.ryag,

    Спасибо за подробное описание проблемы. Ничего удивительного в поведении обработки, так как управляемое приложение это совсем другая опера. Сейчас внешняя обработка в режиме управляемого приложения находится у меня в режиме обкатки, скоро, надеюсь,выпущу в свет. Малость опередил ты меня. Наберись немного терпения.

    Reply
  18. v.a.ryag

    smsfor1c, да я читал о проблемах неуправляемых форм в управляемом приложении… Жду)) а по поводу возможности вычислить модем или симку не в курсе?)

    Reply
  19. v.a.ryag

    запустил в обычном режиме, все как у CaSH_2004.. в качестве модема подключил телефон.. зарегистрировал мскомм32, залицензировал.. надписи, смс тоже нет… Наверно дело в модеме.. но какой тогда нужно чтоб СТОПУДОВО всё работало? ой, как мне это нужно))

    Reply
  20. v.a.ryag

    Ну что как продвигается заточка под управляемое приложение?)

    Reply
  21. smsfor1c

    v.a.ryag,

    осталось добить работу через web и в клиент-серверном варианте. С файловым вариантом работы тонкого клиента все OK. Надеюсь, что добью и надеюсь, что скоро… Информацию по модемам смотри в описании.

    Reply
  22. smsfor1c

    v.a.ryag,

    Заточил обработку для WEB-клиента + IIS 7.0 на Windows 7 x64. На Windows 2008 Server R2 x64 надеюсь пойдет без проблем. Осталось вкрутить рога клиент-серверу…

    Reply
  23. sumixam

    ждем обработку по управляемое приложение…

    Reply
  24. smsfor1c

    (22) sumixam, клиент-сервер сдался, практически все готово. Сейчас готовлю сопроводиловку, чтобы меньше было вопросов у пользователей. Еще день-два где-то до публикации. На следующей неделе будут готовы конфигурации.

    Reply
  25. sumixam

    респект и уважуха, у меня конфа на управляемом приложении могу протестить твою конфу

    Reply
  26. v.a.ryag

    Очень ждём!)

    Reply
  27. Master07

    Очень сильно ждём!))))))

    Reply
  28. genkostya003

    круто, респект и уважуха, у меня конфа на управляемом приложении могу протестить твою конфу

    Reply
  29. Арамзамзам

    идея отличная, жаль я не могу скачать, точне мне ненужно, ибу мну инет через спутник, а мобильная связь в Тайге не пашет.

    Reply
  30. cerg110

    а планируется ли сделать через интернет соединение компа?

    Reply
  31. smsfor1c

    (29) cerg110, да. в скором времени, как только определюсь с провайдером

    Reply
  32. smok1986

    полезная штуковина. спасибо!

    Reply
  33. runnerrus

    Хорошая идея и исполнение добротное. Спасибо!

    Reply
  34. Бонни

    Спасибо, нужная вещь!

    Reply
  35. vint2008

    За идею +

    Reply
  36. Бонни

    Выдаёт: CMS ERROR: 500

    Reply
  37. Бонни

    От чего зависит? В режиме отладки выдаётся :

    ATQ0V1E0

    OK

    AT+CGSN

    354638043971158

    OK

    AT+CMGF=0

    OK

    AT+CMGS=26

    >

    0011000B919730377457F60008170C041F04400438043204350442

    MODEM COMMAND ERROR:

    +CMS ERROR: 500

    Соответственно, смс не улетает никуда.

    Reply
  38. smsfor1c

    (36) Бонни, такая диагностика идет при плохом приеме сигнала базовой станции (при отсутствии регистрации в сети). Убедись, что с отправкой через родной софт все ОК, потом дальше думать будем.

    Reply
  39. Бонни

    На запрос с родного софта *100# (баланс) ответ возвращается.Сигнал 3 из 5. Правильно ли я понимаю, что проблема именно в железе/выбранном тарифе?

    Reply
  40. Бонни

    Забыла сказать, модем Huawei 1550.

    Reply
  41. smsfor1c

    (38) Бонни, хоть из твоего поста не очень понятно, уходят СМС с родного софта или нет, попробую предположить, что все-таки уходят. Тогда тариф исключаем, Е1550 тоже вопросов не вызывает. С другой симки пробовала?

    Reply
  42. Бонни

    Сегодня попробую, после обеда отпишусь. Есть предположение, что у текущего тарифа (Мегафон, модем — мегафоновский) заблокированы СМС и звонки (т.к. используется только для интернета). Поищу др. модем с др. сим-картой.

    Reply
  43. Бонни

    C модема TELEOFIS RX101 USB GPRS сваливается сразу (с проверенной SIM-картой).

    ATQ0V1E0

    MODEM COMMAND TIMEOUT

    Осталось протестировать на последнем модеме, который есть в наличии….

    Reply
  44. smsfor1c
    Бонни пишет:

    Сегодня попробую, после обеда отпишусь. Есть предположение, что у текущего тарифа (Мегафон, моде новский) заблокированы СМС и звонки (т.к. используется только для интернета). Поищу др. моде й.

    Не сдавайся так быстро. Разлочить Е1550 не проблема, поставить симку с другим тарифом, думаю тоже.

    Reply
  45. Бонни

    Протестировали на обычной SIM (со снятым!!!! паролем) через huawei 1550 (всё Мегафон). Работает!!!

    Походу, у модемовской сим-карты из комплекта действительно заблочены звонки и смс.

    Извините, если замучала вопросами).

    С TELEOFIS непонятно, почему не работает.

    Reply
  46. Бонни

    smsfor1c, проделали еще 1 тест: подключили nokia по шнуру через PC Suite. Режим телефона «PC Suite». СМС отправляются так же гениально!) Спасибище!

    Reply
  47. yus12

    Я так и не понял, бобавили возможность с управляемой формой или нет. Если да то какова реализация, где должен стоять модем, на сервере или на клиенте?

    Reply
  48. smsfor1c

    обработка и конфигурация для 8.2 идут с управляемой формой дополнительно. Модем должен быть воткнут в сервер. Не сомневайся, пробуй. Там все тип-топ.

    Reply
  49. yus12

    а если необходимо наоборот, чтобы модем был подключен к клинской машине

    Reply
  50. smsfor1c

    Хммм… Я реализовал самый навороченный и интересный вариант, а оказывается еще и простые востребованы… На первый взгляд абсолютно не должно быть никаких проблем с самостоятельной переделкой на предложенный тобой вариант. Если уж совсем не будет получаться, пиши в ЛС, помогу чем смогу. Есть еще более простой вариант — воспользоватья неуправляемой (обычной) формой, если конечно некритично в плане привязки к твоему проекту.

    Reply
  51. Jetoo

    Не слишком дорого 3000р?

    Reply
  52. madmpro

    (9)

    Правильная регистрация MSCOMM32.OCX

    32-bit OS:

    Копируем «mscomm32.ocx» в папку system32(C:windowssystem32).

    запускаем «regsvr32.exe c:windowssystem32mscomm32.ocx».

    64-bit OS:

    Копируем «mscomm32.ocx» в папку sysWOW64(C:windowssysWOW64).

    Запускаем «regsvr32.exe c:windowssysWOW64mscomm32.ocx».

    Все операции выполняются от имени Администратора.

    Reply
  53. v.a.ryag

    видимо интерес к обработке плавно пропадает, а жаль

    Reply
  54. aldo

    Добрый день. Хорошая обработка, сообщения отправляются, но не принимаются. Пишет «Новых сообщений нет!».

    Модем MF626.

    P.S.кажется нашел в чем трабл. Вы опрашиваете память сим карты на наличие СМС через AT+CPMS=»SM», а у меня получилось вытащить СМС только из памяти модема через AT+CPMS=»ME». Каким образом задается где хранятся СМС? Подскажите пожалуйста, как настраивается способ (место) хранения СМС, через АТ последовательность или это зависит от конкретного устройства?

    Reply
  55. Stas_Gromov

    Автор, я скачал твою обработку, к сожалению, не заработала 🙁 Модем ZTE MF626, от Пчелайна. Если приложение от него вообще не запускать, сразу выдаёт Ошибка отправки СМС, если запустить этот их Мобильный офис — уже дольше думает, но такая же ошибка в конце, а если подключится — выдает что порт занят. В чём может быть проблема?

    Reply
  56. 4ur

    клиент озадачил отправкой СМС с акционными предложениями, нашел сначала http://infostart.ru/public/148419/, но эта обработка вроде попроще, правда надо будет еще допилить, т.к. номера телефонов надо будет брать из справочника. Сначала проверим. как работает

    Reply
  57. 4ur

    Интересно будет ли работать в Украине данная обработка?

    Reply
  58. 4ur

    Настройка лицензии для MSCOMM32.OCX оказалась достаточно хлопотной, с новыми версиями вообще решить проблему не удалось, только со старой версией заработало. Только вот множественных рассылок организовать не удалось, т.к. после второй-третьей СМС дальше такая отправка тормозилась на уровне провайдера и модем уходил в тайм-аут и приходилось его перезагружать. Наверно ограничения на уровне оператора…

    Reply
  59. tomilin84

    64-bit OS:

    Копируем «mscomm32.ocx» в папку sysWOW64(C:windowssysWOW64).

    Запускаем «regsvr32.exe c:windowssysWOW64mscomm32.ocx».

    Все операции выполняются от имени Администратора.

    сделал.

    еще описал Приложение СОМ+

    но все равно ругается «Класс не зарегистрирован»

    что надо еще сделать?

    надо ли перезапускать сервер?

    Reply
  60. pavelru4

    Скажите пасс от модуля объекта плз.Или кинте в личку код модуля. Не могу использовать на работе так как начальник говорит что мол незнаеш что в модуле нефик юзать вдруг что та там нетуда уходить будет.И не убидиш его( Спасибо!

    Reply
  61. civ_pnz

    Здравствуйте! Нужен пароль от модуля. Заранее спасибо!

    Reply
  62. UJF

    а голосом звонить из 1с реально? сделать что-то типа Oktell Sip -GSM ?

    Reply
  63. 2757028

    Добрый день. У меня вылетает ошибка

    {ВнешняяОбработка.СМСдля1С.МодульОбъекта(1577)}: Ошибка при получении значения атрибута контекста (Input): Произошла исключительная ситуация (MSComm): Error reading comm device

    Ошибка отправки СМС-сообщения!

    Базу загрузил 1cv82.cf

    модем Huawei E3372 Мегафон …

    Номер порта определяет корректно.

    Что может быть ???

    Спасибо за ответ.

    Reply
  64. kadet-bl

    Как сделать так, чтобы USB модем установить на сервере а СМС могли отсылать пользователи 1с ?

    Reply
  65. vepsergey

    Здравствуйте,дайте пожалуйста пароль от модуля.

    Reply
  66. andrej198422

    Добрый день подскажите как можно получить пароль от модуля. Спасибо

    Reply
  67. dic45

    (8) если актуально, то для 64 разрядной версии сервера 1С переименовал ее в dll потом

    опируем «mscomm32.dll» в папку sysWOW64(C:windowssysWOW64).

    Запускаем «regsvr32.exe c:windowssysWOW64mscomm32.dll».

    потом ее регистрируеш в ком+ (инструкцию можно найти в сети) по фразе «Запуск x32 COM-объектов из x64 приложения»

    полно с картинками, я почему то не мог в win2008 зарегистрировать в COM+ именно с расширением mscomm32.ocx, поэтому переименовывал

    но все равно выдавало вот такую ошибку даже после регистрации библиотеки в СОМ+

    Ошибка при установке значения атрибута контекста (CommPort): Произошла исключительная ситуация (MSComm): Invalid port number

    ну рыл еще пару дней и в буржунете нашел таки, что то про номер порта http://www.comm64.com/commforum/show_topic.php?topic_id=178

    видит до 15 порта. Короче долго мучался, но все взлетело, у меня как назло стоял модем на 21 порту, переставил в другой USB порт, стал 10 как не странно заработало. То ли у меня какая то старая версия этой библиотеки попалась в руки. Завтра поновее найду и потестю.

    PS:

    где то в инструкции если найдешь поиском что то вроде (ну я нашел пример регистрации в СОМ для comcntr.dll, вроде если обертку назовешь V8_ComConnector) то и в коде Объект = новый COMОбъект(«V8_ComConnector»); и что то про разные платформы и тыпы

    у меня код иницализации порта модема как был для 32 разрядной которая просто работает при регистрации dll в system32/

    так и не поменялся для использования в 64 разрядной: СерверMSComm = Новый COMОбъект(«MSCommLib.MSComm.1»);

    в общем если сервер 1С 64 разрядный (не ОС а именно 1С) то однозначно регать бибилиотеку в каталоге C:windowssysWOW64 и потом ее регистрировать в COM+

    (это повтор поста, из другой ветки примера-обработки как работать с GSM-модемом)

    Reply
  68. proger.1c

    Ошибка при получении значения атрибута контекста (Input)

    Huawei E3272

    подскажите в чем дело

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *