helpf.pro
Регистрация
 0 
Распечатать

1С 8.x : Отправка sms из 1C через МТС Коммуникатор

Есть сервис МТС Коммуникатор - удобный обмен SMS-сообщениями с Вашими сотрудниками, клиентами и партнерами. Так вот через него мы настроили отправку СМС клиентам компании из 1С:
Код 1C v 8.2 УП
 Если ПустаяСтрока(ТелефонКлиента) Тогда
Сообщить("Не определен телефон экспедитора загрузки");
Предупреждение("СМС не может быть отправлено");
Иначе

Адресат = ТелефонКлиента;
Адресат = СтрЗаменить(СтрЗаменить(Адресат, "(", ""), ")", "");
Адресат = СтрЗаменить(СтрЗаменить(СтрЗаменить(Адресат, ".", ""), "-", ""), " ", "");
Адресат = СтрЗаменить(Адресат, "+", "");

WinHttp = Новый COMОбъект("WinHttp.WinHttpRequest.5.1");
WinHttp.Option(2, "Windows-1251");
WinHttp.Open("POST", "http://mtscommunicator.ru/m2m/m2m_api.asmx/SendMessage", 0);

WinHttp.SetRequestHeader("Accept-Language", "ru");
WinHttp.SetRequestHeader("Accept-Charset","Windows-1251");
WinHttp.setRequestHeader("Content-Language", "ru");
WinHttp.setRequestHeader("Content-Charset", "Windows-1251");
WinHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

ПараметрыPOST = "msid=" + Адресат + "&message=" + ПодготовитьСообщение(ТекстСМС) + "&naming=USER&login=NUMERLOGIN&password=PASSWORD";

Ошибка = Ложь;
ИДСообщения = "";

Попытка

WinHttp.Send(ПараметрыPOST);

ИмяФайлаЗапроса = ПолучитьИмяВременногоФайла();

Текст = Новый ЗаписьТекста(ИмяФайлаЗапроса, КодировкаТекста.UTF8);
Текст.ЗаписатьСтроку(WinHttp.ResponseText());
Текст.Закрыть();

Ошибка = (WinHttp.Status <> 200);

Исключение
Ошибка = Истина;
КонецПопытки;

Если НЕ Ошибка Тогда

Попытка

XMLОтвет = Новый ЧтениеXML;
XMLОтвет.ОткрытьФайл(ИмяФайлаЗапроса);

Пока XMLОтвет.Прочитать() Цикл
Если XMLОтвет.ТипУзла = ТипУзлаXML.НачалоЭлемента И (XMLОтвет.Имя = "long") Тогда
XMLОтвет.Прочитать();
ИДСообщения = XMLОтвет.Значение;
Прервать;
КонецЕсли;
КонецЦикла;

Исключение
Ошибка = Истина;
КонецПопытки;

КонецЕсли;

Если Ошибка Тогда
Сообщить("Не удалось отправить СМС. Проверьте настройки подключения");
Предупреждение("СМС не было отправлено");
Иначе

ПоказатьОповещениеПользователя("Отправка СМС",, "СМС-сообщение отправлено ", БиблиотекаКартинок.СМС);

КонецЕсли;
КонецЕсли;

//Преобразование текста сообщения
Функция ПодготовитьСообщение(Сообщение)

ВрСообщение = "";

Для ТекСимвол = 1 По СтрДлина(Сообщение) Цикл
Если КодСимвола(Сред(Сообщение, ТекСимвол, 1)) = 10 Тогда
ВрСообщение = ВрСообщение + " ";
Иначе
ВрСообщение = ВрСообщение + Сред(Сообщение, ТекСимвол, 1);
КонецЕсли;
КонецЦикла;

Сообщение = ВрСообщение;
Сообщение = СтрЗаменить(Сообщение, "%", "%25");
Сообщение = СтрЗаменить(Сообщение, " ", "%20");
Сообщение = СтрЗаменить(Сообщение, "&", "%26");
Сообщение = СтрЗаменить(Сообщение, "#", "%23");
Сообщение = СтрЗаменить(Сообщение, "*", "%2A");
Сообщение = СтрЗаменить(Сообщение, "|", "%7C");
Сообщение = СтрЗаменить(Сообщение, "\", "%5C");
Сообщение = СтрЗаменить(Сообщение, "/", "%2F");
Сообщение = СтрЗаменить(Сообщение, "?", "%3F");
Сообщение = СтрЗаменить(Сообщение, "^", "%5E");

Возврат Сообщение;

КонецФункции

Разместил:   Версии: | 8.x | 8.2 УП |  Дата:   Прочитано: 10999
 0 
Распечатать
Возможно, вас также заинтересует
10060 (0x0000274C): Попытка установить соединение была безуспешной 0
Установили новый терминальный сервер, на нем подняли 1С, терминальные пользователе неописуемо довольны, все просто летает :) И вот же надо было такому случиться, главному бухгалтеру не понравилось работать через...
Excel файл как Внешний источник данных 4
Подключимся и загрузим из файла Excel данные в таблицу значений 1С. Сделать теперь это очень просто. 1. В конфигурации добавляет новый объект метаданных типа " Внешние источники данных" и назовем его просто " Excel" . ...
Google maps : вывод точек на карту и режим панорамы 2
В отличие от яндекс карт в GMaps можно использовать панорамы - за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С...
SMTP greeting failure: 421 SMTP connection broken (reply) 2
Опи­са­ние ошиб­ки: С сен­тяб­ря 2014 Ян­декс.Почта, Mail.ru пе­ре­шли на про­то­кол SSL, что сде­ла­ло их еще более без­опас­ны­ми. Чтобы и даль­ше ра­бо­тать с пись­ма­ми через 1С, Вам нужно из­ме­нить их на­строй­ки и...
V82.COMConnector.1: Не найдена лицензия COM-соединением 1
При подключении из одной базы к другой через COM внезапно стала появляться следующая ошибка: «V82.COMConnector.1: Не найдена лицензия COM-соединением», хотя никаких изменений на серверах не делалось. Релиз платформы был 8.2.13....
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.