Отправка СМС на русском

Опубликовано codeLocker в 9 Январь, 2008 - 13:38

В декабре я опубликовал материал, как отправлять СМС сообщения через подключенны (через ИК, Bluetooth, дата-кабель) к компьютеру мобильный телефон. В основе реализации была внешняя компонента для 1С: Предприятия 7.7. Но этот метод имел недостаток - отправлять сообщения можно было только латиницей. Сейчас расскажу, как можно обойти это ограничение.
Для начала необходимо проверить поддерживаемые режимы передачи данных телефона. Для этого служит такая команда:

AT+CSCS=?

После выполнения этой команды телефон должен вернуть что-то в этом роде:

+CSCS: ("GSM","PCCP437","CUSTOM","HEX")

Для проверки можно воспользоваться программой HyperTerminal, которая включена в стандартную поставку MS Windows.
На экспериментальном телефоне (Fly SL500i) ответ был таким:

AT+CSCS=?
+CSCS: "IRA", "GSM", "HEX", "PCCP437", "8859-1", "UCS2", "UCS2_0X81"

Нас интересует режим "UCS2", этот режим служит для передачи текста в юникоде.
Таким образом, последовательность команд должна быть такой:

AT+CMGF=1<enter>
AT+CSCS="UCS2"<enter>
AT+CSMP=17,167,0,8<enter>
AT+CMGS="80*********"<enter>
>041F044004380432043504420021^Z

Разберем команды.
AT+CMGF=1 - устанавливаем передачу SMS в текстовом режиме.
AT+CSCS="UCS2" , AT+CSMP=17,167,0,8 - устанавливаем схему кодирования в юникод.
AT+CMGS="80*********" - отправляем SMS на номер заключенный в кавычки, а затем само сообщение в юникоде.
Во внешней компоненте для 1С была добавлена, нова функция, которая позволяет кодировать кириллицу в юникод:

AnsiToUnicodeHex(Стр)
Стр - строка, которую необходимо перекодировать в UTF.
Возвращает перекодированную строку.


Внешний вид тестовой обработки

Скачать компоненту и пробную обработку можно щелкнув по этой ссылке.
искусственные цветы в напольной вазе

Очень помогла Ваша обработка,

Очень помогла Ваша обработка, спасибо больше.

dll - хороша(наверное). Но

dll - хороша(наверное).
Но очень хочу такую под 1Сv8.1

Да, компонента хороша, в 7.7

Да, компонента хороша, в 7.7 работает.
Но у меня потребность в аналогичном для 8.0.
По наивности пыталась подключить ее в восьмерке, нет, не дается.
Может объединиться и попросить автора? Для 8.Х

Раз уж возникла такая

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

Я прямо не ожидала, что

Я прямо не ожидала, что вообще возможно столь быстрое реагирование.
Да, есть потребность. Уже пробовала различными способами, что-то внешнее типа модема использовать не хочется, без телефонного аппарата красиво, но картинки не могу распознать автоматом с кодом.
А это работает, действительно и красиво, но в 7.7.
Думаю очень многие будут благодарны).

Здравствуйте! пользуемся

Здравствуйте! пользуемся вашей dll все замечательно. Но стала появлятся такая ошибка. Когда смс отправляется то возвращается “Ошибка при отправке смс” - проверяли смс сама при этом уходит и приходит на нужный номер телефона.
Увеличивали период ожидания ответа все равно не помогает.
Приходится удалять сом порт и заново его определять, после этого смс идут нормлаьно. Не подскажите в чем может быть проблема?

Классная компонента и под 8,1

Классная компонента и под 8,1 работает на УРА! Автору респект!

А можно узнать когда точно

А можно узнать когда точно будет для восьмёрки? Спасибо!

Спасибо, очень полезная

Спасибо, очень полезная компонента!
Очень ждем под 8-ку.

Испробовал компоненту под

Испробовал компоненту под 1с77. Использовал блютуз-соединение. Достаточно медленно отправляет (~20 секунд на отправку 1 смс). Это характеристики соединения? И вопрос: хочу использовать компоненту в коммерческом проекте, возможна ли доработка компоненты с Вашей стороны?

Задержку можно регулировать в

Задержку можно регулировать в исходниках компоненты, сейчас максимальная для более устойчивой работы.
Используйте на здоровье. Какая доработка Вас интересует?

А можно сделать чтобы работал

А можно сделать чтобы работал с GSM-модемами?

Мы установили DLL для

Мы установили DLL для восьмерки. С одного телефона Самсунг SGH E210 отправляет хорошо. Но на другом компьютере с одного телефона Самсунг более старой модели отправляет только латиницей, а с другого Самсунг SGH Е200 пишет ошибка отправки смс… Можете помочь в чем дело? Может настройки какие еще надо сделать в телефоне?

Пробовал отправить смс из

Пробовал отправить смс из 7.7. “Короткие” отправляются без проблем.
Если текст смс более 70-ти символов, выдает ошибку и смс не отправляется.
Это ограничение .dll?

Уважаемый codeLocker, а вы не

Уважаемый codeLocker,

а вы не пробовали реализовать возможность ПОУЧЕНИЯ СМС В 1С?

Нет, у меня в этом небыло

Нет, у меня в этом небыло необходимости.

А могли бы помочь?

А могли бы помочь?

Сейчас, я даже не догадываюсь

Сейчас, я даже не догадываюсь с какой стороны к этому подойти, а времени не хватает катастрофически.

А денег достаточно? Готов

А денег достаточно? Готов поделиться. :-)

Ваша компонента может

Ваша компонента может отправлять любые команды из стандартного наобора АТ команд (например AT^SCMS)

Может, по сути компонета

Может, по сути компонета отправляет данные на заданный COM-порт и получает ответ.

Синтаксис команды AT^SMCS

Синтаксис команды AT^SMCS (отправка конкатенированых сообщений) включает 5 параметров. При попытке отправить эту команду
через SMS.SendComm ваша компонента выдает ответ - "Слишком много параметров" - это я чего-то перепутал или .dll обрабатывает максимум 3 параметра как во всех остальных командах Вашего кода?

Спасибо за обработку v7.7.

Спасибо за обработку v7.7. Все замечательно.
Но очень хотелось бы отправку более 70 символов.
Возможно ли такое изменение.
Заранее благодарен.

Больше поддержкой этой

Больше поддержкой этой компоненты не занимаюсь. Извините.

Отправить комментарий

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <blockquote>
  • Строки и параграфы переносятся автоматически.

Подробнее о форматировании

КАПЧА
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.
CAPTCHA на основе изображений
Скопируйте буквы (соблюдая верхний и нижний регистры) с картинки.