Оповещение по SMS через GSM-модем из 1С

Публикация № 158209

Обмен - SMS рассылки

10
Данная обработка и исполняемый файл позволяют организовать SMS-рассылку клиентам через любой USB-модем (Мегафон, Билайн, МТС). Сам пишу службу доставки для одной из сетей быстрого питания и решил использовать такой способ SMS-оповещения клиентов.

При запуске исполняемый файл GSM_SMS.exe считывает номер COM-порта модема из файла option.ini. Этот номер нужно туда записать самостоятельно, посмотрев в списке оборудования COM-порт вашего модема. Затем программа считывает файл sms.txt, в котором хранится номер телефона и текст сообщения. Формат файла: #79121234567;Текст сообщения. Пока не работает с текстом сообщения больше 60 символов, работаю над этой проблемой. После отправки сообщения программа сразу закрывается. Мы увидим только окошко "Отправка сообщения" на доли секунды. Таким образом в 1С нам нужно просто сформировать текстовый файл sms.txt, описанного выше формата (Файл.Записать("C:\sms.txt",КодировкаТекста.ANSI) необходимо прописать кодировку ANSI, т.к. по умолчанию 1С сохраняет в кодировке UTF-8) и запустить файл GSM_SMS.exe на выполнение (ЗапуститьПриложение("C:\GSM_SMS.exe")). Файлы option.ini и sms.txt размещайте в одном каталоге с файлом GSM_SMS.exe.

Встречал на этом сайте несколько платных вариантов SMS-рассылки из 1С, решил сделать попроще, но бесплатную:)

10

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

Наименование Файл Версия Размер
Архив исполняемого файла
.zip 221,21Kb
25.10.12
89
.zip 221,21Kb 89 Скачать
Пример обработки на управляемых формах
.epf 6,02Kb
25.10.12
40
.epf 6,02Kb 40 Скачать

См. также

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. Dimasik2007 404 25.10.12 23:39 Сейчас в теме
Поднимаем сервис на smsd (работает под windows), подключаем модем и расшариваем папку по сети.
Любое ПО пишет в файл в эту папку в формате

телефон
текст...

и смс-ка уходит. Просто и бесплатно)
3. DenisCh 26.10.12 08:50 Сейчас в теме
(1) Dimasik2007, прямо таки бесплатно? И за модем платить не надо?
4. tvixeg 512 26.10.12 14:39 Сейчас в теме
(3) DenisCh, стоимость смс в любом случае зависит от выбранного тарифа, как будто бы ты ее с телефона отправил
6. wolfsoft 2422 31.10.12 10:43 Сейчас в теме
(1) Dimasik2007, вот бы кто подробную статью про этот способ написал... ;)
2. tvixeg 512 26.10.12 08:49 Сейчас в теме
Служба постоянно висит и мониторит эту папку на наличие нового текстового файла?
5. tvixeg 512 26.10.12 14:41 Сейчас в теме
нужен тарифный план с дешевыми смс
7. CagoBHuK 31 01.11.12 09:49 Сейчас в теме
Чем отличается от других подобных разработок?
9. tvixeg 512 05.12.12 08:12 Сейчас в теме
(7) CagoBHuK, (8) eugen91, какой другой ? не нашел тут другой бесплатной написал
8. eugen91 04.12.12 20:17 Сейчас в теме
Присоединяюсь к предыдущему комментарию. В чем преимущество над любой другой подобной обработкой ?
11. dk666dk 32 04.02.13 08:59 Сейчас в теме
добрый день, попытался воспользоватся вашей обработкой из 1С при отправке пишет что файл не найден и висит окно причем с портом 16 а в ини файле я прописал другой, а если просто запустить этот файлик то смски уходят
12. tvixeg 512 04.02.13 09:25 Сейчас в теме
(11) dk666dk, по умолчанию стоит Com-порт 16. Если у вашего модема другой Com-порт, то его номер надо прописать в option.ini. Вот код:
assignfile(f1,'option.ini');
reset(f1);
readln(f1,stroka1);
seCom.Value:=StrToInt(stroka1);
13. tvixeg 512 04.02.13 09:29 Сейчас в теме
(11) dk666dk, а тут он считывает файл sms.txt должен лежать там же где и GSM_SMS.exe
assignfile(f,'sms.txt');
reset(f);

while not eof(f) do
begin
readln(f,stroka);
nomer:=Pos('#',stroka);
stroka:=Copy(stroka,nomer+1,length(stroka));
nomer:=Pos(';',stroka);
str_nomer:=Copy(stroka,1,nomer-1);
str_message:=Copy(stroka,nomer+1,length(stroka));
// ShowMessage(str_message);
end;
LabeledEdit2.Enabled := False;
LabeledEdit2.Text := '';
LabeledEdit1.Text := str_nomer;
Memo1.Text := str_message;
//ShowModal;
Result.Number := LabeledEdit1.Text;
Result.Text := Memo1.Text;
14. dk666dk 32 04.02.13 10:03 Сейчас в теме
ну я закинул все файлы в одном месте и порт прописал, а проблема именно когда из 1С вызываешь этот GSM_SMS.exe а если просто его запускаешь он все нормально отправляет.
15. tvixeg 512 04.02.13 10:28 Сейчас в теме
(14) dk666dk, может у тебя семерка, контроль учетных записей какой нить стоит
16. tvixeg 512 04.02.13 10:29 Сейчас в теме
(14) dk666dk, а лучше назначь своему модему 16 com порт
17. tvixeg 512 04.02.13 10:36 Сейчас в теме
(14) dk666dk, просто там из 1с-ки все прямо на диск С записывается и все файлы должны быть прямо в корне диска С. Может прав нету туда записывать из 1с.
18. dk666dk 32 04.02.13 10:49 Сейчас в теме
права есть т.к. файл с смсками сздается без проблем, вот такая ерунда выходит при запуске (в файле)
Прикрепленные файлы:
19. tvixeg 512 04.02.13 11:04 Сейчас в теме
ну это ж не моя обработка. у меня на управляемых формах. Может ты сначала запускаешь программу а потом уже файл записываешь? т.к пишет что файл не найден
21. dk666dk 32 04.02.13 11:10 Сейчас в теме
(19) пробовал чисто вашу из управляемой формы тоже самое
20. dk666dk 32 04.02.13 11:07 Сейчас в теме
взял вашу да чуть переделал в обычную форму и код подправил:
Файл=Новый ТекстовыйДокумент;
Если Рез.Количество()<>0 Тогда
Для каждого стр из рез Цикл
Если СтрДлина(СокрЛП(стр.Представление))<>11 Тогда
Сообщить("У клиента "+Строка(стр.клиент)+" неверный номер телефон");
Иначе
Файл.ВставитьСтроку(1,"#"+Строка(стр.Представление)+";"+текстсообщения);
Файл.Записать("C:\temp\sms.txt",КодировкаТекста.ANSI);
Файл = неопределено;
КонецЕсли;
КонецЦикла;
КонецЕсли;
ЗапуститьПриложение("C:\temp\GSM_SMS.exe");
пробовал на прямую на диск С писать и в каталоге, права на каталог раздал всеравно тоже самое
22. tvixeg 512 04.02.13 11:11 Сейчас в теме
23. tvixeg 512 04.02.13 11:22 Сейчас в теме
могу еще исходники этой программы на delphi выложить если надо.
24. dk666dk 32 04.02.13 11:28 Сейчас в теме
(23) скиньте если не сложно на почту dk666dk@gmail.com
25. tvixeg 512 04.02.13 11:32 Сейчас в теме
26. dk666dk 32 04.02.13 12:11 Сейчас в теме
27. tvixeg 512 04.02.13 12:17 Сейчас в теме
еще раз отправил если не дойдет другой адрес напиши не gmail.
28. tvixeg 512 04.02.13 12:18 Сейчас в теме
This is the mail system at host yandex.ru.

I'm sorry to have to inform you that your message could not
be delivered to one or more recipients. It's attached below.

Please, do not reply to this message.


<dk666dk@gmail.com>: host gmail-smtp-in.l.google.com[2a00:1450:4010:c04::1a]
said: 552-5.7.0 Our system detected an illegal attachment on your message.
Please 552-5.7.0 visit
http://support.google.com/mail/bin/answer.py?answer=6590 to 552 5.7.0
review our attachment guidelines. oq7si7403823lab.72 - gsmtp (in reply to
end of DATA command)
29. dk666dk 32 04.02.13 14:15 Сейчас в теме
(28) все я получил ..спс погляжу на досуге :)
31. UJF 31.08.15 14:44 Сейчас в теме
Добрый день, а есть ли возможность управлять голосовым звонком с GSM модема ? например получать из модема и отправлять в сип и наоборот?
насколько я понимаю голос с пк успешно передается из 1с в сип протокол , а можем ли мы получить этот голос из модема ?
Оставьте свое сообщение