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

Данная обработка и исполняемый файл позволяют организовать 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С, решил сделать попроще, но бесплатную:)

29 Comments

  1. Dimasik2007

    Поднимаем сервис на smsd (работает под windows), подключаем модем и расшариваем папку по сети.

    Любое ПО пишет в файл в эту папку в формате

    телефон

    текст…

    и смс-ка уходит. Просто и бесплатно)

    Reply
  2. tvixeg

    Служба постоянно висит и мониторит эту папку на наличие нового текстового файла?

    Reply
  3. DenisCh

    (1) Dimasik2007, прямо таки бесплатно? И за модем платить не надо?

    Reply
  4. tvixeg

    (3) DenisCh, стоимость смс в любом случае зависит от выбранного тарифа, как будто бы ты ее с телефона отправил

    Reply
  5. tvixeg

    нужен тарифный план с дешевыми смс

    Reply
  6. wolfsoft

    (1) Dimasik2007, вот бы кто подробную статью про этот способ написал… 😉

    Reply
  7. CagoBHuK

    Чем отличается от других подобных разработок?

    Reply
  8. eugen91

    Присоединяюсь к предыдущему комментарию. В чем преимущество над любой другой подобной обработкой ?

    Reply
  9. tvixeg

    (7) CagoBHuK, (8) eugen91, какой другой ? не нашел тут другой бесплатной написал

    Reply
  10. dk666dk

    добрый день, попытался воспользоватся вашей обработкой из 1С при отправке пишет что файл не найден и висит окно причем с портом 16 а в ини файле я прописал другой, а если просто запустить этот файлик то смски уходят

    Reply
  11. tvixeg

    (11) dk666dk, по умолчанию стоит Com-порт 16. Если у вашего модема другой Com-порт, то его номер надо прописать в option.ini. Вот код:

    assignfile(f1,’option.ini’);

    reset(f1);

    readln(f1,stroka1);

    seCom.Value:=StrToInt(stroka1);

    Reply
  12. tvixeg

    (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;

    Reply
  13. dk666dk

    ну я закинул все файлы в одном месте и порт прописал, а проблема именно когда из 1С вызываешь этот GSM_SMS.exe а если просто его запускаешь он все нормально отправляет.

    Reply
  14. tvixeg

    (14) dk666dk, может у тебя семерка, контроль учетных записей какой нить стоит

    Reply
  15. tvixeg

    (14) dk666dk, а лучше назначь своему модему 16 com порт

    Reply
  16. tvixeg

    (14) dk666dk, просто там из 1с-ки все прямо на диск С записывается и все файлы должны быть прямо в корне диска С. Может прав нету туда записывать из 1с.

    Reply
  17. dk666dk

    права есть т.к. файл с смсками сздается без проблем, вот такая ерунда выходит при запуске (в файле)

    Reply
  18. tvixeg

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

    Reply
  19. dk666dk

    взял вашу да чуть переделал в обычную форму и код подправил:

    Файл=Новый ТекстовыйДокумент;

    Если Рез.Количество()<>0 Тогда

    Для каждого стр из рез Цикл

    Если СтрДлина(СокрЛП(стр.Представление))<>11 Тогда

    Сообщить(«У клиента «+Строка(стр.клиент)+» неверный номер телефон»);

    Иначе

    Файл.ВставитьСтроку(1,»#»+Строка(стр.Представление)+»;»+текстсообщения);

    Файл.Записать(«C: empsms.txt»,КодировкаТекста.ANSI);

    Файл = неопределено;

    КонецЕсли;

    КонецЦикла;

    КонецЕсли;

    ЗапуститьПриложение(«C: empGSM_SMS.exe»);

    пробовал на прямую на диск С писать и в каталоге, права на каталог раздал всеравно тоже самое

    Reply
  20. dk666dk

    (19) пробовал чисто вашу из управляемой формы тоже самое

    Reply
  21. tvixeg

    option.ini еще закинь в C: emp

    Reply
  22. tvixeg

    могу еще исходники этой программы на delphi выложить если надо.

    Reply
  23. dk666dk

    (23) скиньте если не сложно на почту dk666dk@gmail.com

    Reply
  24. tvixeg

    (24) dk666dk, отправил

    Reply
  25. dk666dk

    (25) что то нет письма

    Reply
  26. tvixeg

    еще раз отправил если не дойдет другой адрес напиши не gmail.

    Reply
  27. tvixeg

    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)

    Reply
  28. dk666dk

    (28) все я получил ..спс погляжу на досуге 🙂

    Reply
  29. UJF

    Добрый день, а есть ли возможность управлять голосовым звонком с GSM модема ? например получать из модема и отправлять в сип и наоборот?

    насколько я понимаю голос с пк успешно передается из 1с в сип протокол , а можем ли мы получить этот голос из модема ?

    Reply

Leave a Comment

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