Прием и отправка СМС из любой конфигурации 1С Предприятие 8.1,8.2 через usb-модем (внешняя обработка, конфигурация - обычное/управляемое приложение)
Скачать файл
ВНИМАНИЕ:
Файлы из Базы знаний - это исходный код разработки.
Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы.
Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных.
Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Процесс приема и отправки СМС-сообщений из программы 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: добавлены файлы конфигураций для интеграции с конфигурациями пользователей
Клиенту на номер телефона уходит СМС с четырехзначным случайным цифровым кодом. Клиент сообщает код продавцу, если код подходит, только тогда применяется скидка или бонусная программа. Вместо SMS можно направлять входящий звонок на телефон покупателя, последние четыре цифры и будут являться кодом подтверждения.
Бесплатное расширение, предназначенное для отправки SMS-рассылок из 1С по событиям проведения платежных документов, по кнопке из "Заказа клиента", а так же рассылки сообщений о задолженности контактным лицам партнеров (контрагентов) с использованием сервиса рассылки смс - SMS.RU. Шаблоны сообщений хранятся в справочнике. Для работы необходимо подключение расширения с отключенным безопасным режимом.
Расширение конфигурации Розница 2.3 для включения автоматического формирования документа "Информационная рассылка" (SMS, E-Mail) при начислении бонусов регламентным заданием по правилу расчета бонусных баллов.
Вобщем интересно, но ничего не получилось
Поначалу мучался с "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, отключил с модема - молчит
Может когда молчит что то и отправляет, но ничего не приходит
Это значит, что функция отправки(приема) СМС вернула код ошибки... Инет кстати не нужен ни с LANа, ни с модема для отправки сообщений. Отправка СМС происходит подобно отправке с обычного телефона согласно тарифа SIM-карты.
Сообщение "{ВнешняяОбработка.СМСдля1С(1969)}: Ошибка при установке значения атрибута контекста (PortOpen): Произошла исключительная ситуация (MSComm): The device is not open" говорит о том, что модем занят.
Думаю что дело действительно в модеме (возможно в тонкостях общения модема и обработки). Сейчас смотрю, что за зверек это такой AnyDATA CDMA USB Modem. Готов с твоей помощью прикрутить его к обработке... Попозже свяжусь с тобой, если ты не против.
CaSH_2004 пишет:
Кстати пробую через AnyDATA CDMA USB Modem от SkyLink
Может в нем загвоздка?
В нем и только в нем! Вопрос тщательно изучил, заявляю однозначно: поддержки CDMA-модемов в обработке не будет. Неблагодарная задача. Извини, погорячился малость в предыдущем посте насчет прикрутки...
А кто-нибудь прикручивал mscomm32.ocx к windows x64? Объясните как пожалуйста или дайте ссылку где рыть. Ругается в 7, что нельзя использовать в 64 системе...
(8) если актуально, то для 64 разрядной версии сервера 1С переименовал ее в dll потом
опируем "mscomm32.dll" в папку sysWOW64(C:\windows\sysWOW64\).
Запускаем "regsvr32.exe c:\windows\sysWOW64\mscomm32.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:\windows\sysWOW64\ и потом ее регистрировать в COM+
(это повтор поста, из другой ветки примера-обработки как работать с GSM-модемом)
2509kra пишет:
А кто-нибудь прикручивал mscomm32.ocx к windows x64? Объясните как пожалуйста или дайте ссылку где рыть. Ругается в 7, что нельзя использовать в 64 системе...
Попробуй глянуть здесь: google Дай знать, помогло или нет.
v.a.ryag пишет:
не могу в 8.2 открыть... пишет что файл не может быть открыт данной версией программы. Мож кто подскажет чегО?
Вариант 1: скачай обработку для 8.2 из публикации (она там есть)
Вариант 2: открой обработку через конфигуратор и скажи да в ответ на предложение о конвертации
Успехов!
а ещё кстати не скажите, можно ли как то вычислить физическо местонахождение usb-модема или сим-карты с которой отправка будет идти? ато мне надо чтоб все анонимно, точнее без палева так сказать)
скачал второй файл для 8.2.. Но он такой же как если для 8.1 через конфигуратор пересохранить.. У меня самописная конфа, в управляемом приложении в режиме предприятия если её открыть как внешнюю открывается пустая форма.. а если в конфу добавить, то пишет ошибку ""Не обнаружена обработка ""СМСдля1С"" по заданному пути""".. я так модуль глянул у формы, там справочник надо... подскажите как поступить? создавать справочник и перечисление (вроде тоже там нужно) или можно иначе в конфу добавить?
v.a.ryag, Спасибо за подробное описание проблемы. Ничего удивительного в поведении обработки, так как управляемое приложение это совсем другая опера. Сейчас внешняя обработка в режиме управляемого приложения находится у меня в режиме обкатки, скоро, надеюсь,выпущу в свет. Малость опередил ты меня. Наберись немного терпения.
запустил в обычном режиме, все как у CaSH_2004.. в качестве модема подключил телефон.. зарегистрировал мскомм32, залицензировал.. надписи, смс тоже нет... Наверно дело в модеме.. но какой тогда нужно чтоб СТОПУДОВО всё работало? ой, как мне это нужно))
v.a.ryag, осталось добить работу через web и в клиент-серверном варианте. С файловым вариантом работы тонкого клиента все OK. Надеюсь, что добью и надеюсь, что скоро... Информацию по модемам смотри в описании.
v.a.ryag, Заточил обработку для WEB-клиента + IIS 7.0 на Windows 7 x64. На Windows 2008 Server R2 x64 надеюсь пойдет без проблем. Осталось вкрутить рога клиент-серверу...
(22) sumixam, клиент-сервер сдался, практически все готово. Сейчас готовлю сопроводиловку, чтобы меньше было вопросов у пользователей. Еще день-два где-то до публикации. На следующей неделе будут готовы конфигурации.
От чего зависит? В режиме отладки выдаётся :
ATQ0V1E0
OK
AT+CGSN
354638043971158
OK
AT+CMGF=0
OK
AT+CMGS=26
>
0011000B919730377457F60008170C041F04400438043204350442
MODEM COMMAND ERROR:
+CMS ERROR: 500
(36) Бонни, такая диагностика идет при плохом приеме сигнала базовой станции (при отсутствии регистрации в сети). Убедись, что с отправкой через родной софт все ОК, потом дальше думать будем.
(38) Бонни, хоть из твоего поста не очень понятно, уходят СМС с родного софта или нет, попробую предположить, что все-таки уходят. Тогда тариф исключаем, Е1550 тоже вопросов не вызывает. С другой симки пробовала?
Сегодня попробую, после обеда отпишусь. Есть предположение, что у текущего тарифа (Мегафон, модем - мегафоновский) заблокированы СМС и звонки (т.к. используется только для интернета). Поищу др. модем с др. сим-картой.
Сегодня попробую, после обеда отпишусь. Есть предположение, что у текущего тарифа (Мегафон, моде новский) заблокированы СМС и звонки (т.к. используется только для интернета). Поищу др. моде й.
Не сдавайся так быстро. Разлочить Е1550 не проблема, поставить симку с другим тарифом, думаю тоже.
Протестировали на обычной SIM (со снятым!!!! паролем) через huawei 1550 (всё Мегафон). Работает!!!
Походу, у модемовской сим-карты из комплекта действительно заблочены звонки и смс.
Извините, если замучала вопросами).
С TELEOFIS непонятно, почему не работает.
Хммм... Я реализовал самый навороченный и интересный вариант, а оказывается еще и простые востребованы... На первый взгляд абсолютно не должно быть никаких проблем с самостоятельной переделкой на предложенный тобой вариант. Если уж совсем не будет получаться, пиши в ЛС, помогу чем смогу. Есть еще более простой вариант - воспользоватья неуправляемой (обычной) формой, если конечно некритично в плане привязки к твоему проекту.
Добрый день. Хорошая обработка, сообщения отправляются, но не принимаются. Пишет "Новых сообщений нет!".
Модем MF626.
P.S.кажется нашел в чем трабл. Вы опрашиваете память сим карты на наличие СМС через AT+CPMS="SM", а у меня получилось вытащить СМС только из памяти модема через AT+CPMS="ME". Каким образом задается где хранятся СМС? Подскажите пожалуйста, как настраивается способ (место) хранения СМС, через АТ последовательность или это зависит от конкретного устройства?
Автор, я скачал твою обработку, к сожалению, не заработала :( Модем ZTE MF626, от Пчелайна. Если приложение от него вообще не запускать, сразу выдаёт Ошибка отправки СМС, если запустить этот их Мобильный офис - уже дольше думает, но такая же ошибка в конце, а если подключится - выдает что порт занят. В чём может быть проблема?
клиент озадачил отправкой СМС с акционными предложениями, нашел сначала http://infostart.ru/public/148419/, но эта обработка вроде попроще, правда надо будет еще допилить, т.к. номера телефонов надо будет брать из справочника. Сначала проверим. как работает
Настройка лицензии для MSCOMM32.OCX оказалась достаточно хлопотной, с новыми версиями вообще решить проблему не удалось, только со старой версией заработало. Только вот множественных рассылок организовать не удалось, т.к. после второй-третьей СМС дальше такая отправка тормозилась на уровне провайдера и модем уходил в тайм-аут и приходилось его перезагружать. Наверно ограничения на уровне оператора...
Скажите пасс от модуля объекта плз.Или кинте в личку код модуля. Не могу использовать на работе так как начальник говорит что мол незнаеш что в модуле нефик юзать вдруг что та там нетуда уходить будет.И не убидиш его( Спасибо!
{ВнешняяОбработка.СМСдля1С.МодульОбъекта(1577)}: Ошибка при получении значения атрибута контекста (Input): Произошла исключительная ситуация (MSComm): Error reading comm device
Ошибка отправки СМС-сообщения!
Базу загрузил 1cv82.cf
модем Huawei E3372 Мегафон ...
Номер порта определяет корректно.