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

Отправка 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 УП |  Дата:   Прочитано: 21374
 0 
Распечатать
Возможно, вас также заинтересует
10060 (0x0000274C): Попытка установить соединение была безуспешной 24
Установили новый терминальный сервер, на нем подняли 1С, терминальные пользователе неописуемо довольны, все просто летает :) И вот же надо было такому случиться, главному бухгалтеру не понравилось работать через терминал, а еще у нее свой ноутбук и
17 правил для составления оптимального ЗАПРОСа к данным базы 1С 50
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ
1C: Enterprise Development Tools 52
И вот случилось долгожданное: Вышел 1C: Enterprise Development Tools - это среда для разработки конфигурации в IDE Eclipse. С сайта 1С: « 1C:Enterprise Development Tools » – это инструмент нового поколения для разработчиков бизнес-приложений систем
COM-подключение к базе 7.7 из .NET, .NET Core 1
Инсталяция: dotnet add package sabatex.V1C77 или добавить через NUGET пакет sabatex.V1C77. Добавить пространство имен: using sabatex.V1C77; пример использованя: ---C# static void Main(string args) { // создаем строку соединен
Cодержимое указанного ниже веб-сайта в этом приложении блокируется... Aboutsecurity_1cv8c.exe 1
Проблема: После обновления на 1С:Бухгалтерию предприятия 3-й версии, при нажатии на закладку командного интерфейса 1С:предприятие, выскакивает ошибка: Aboutsecurity_1cv8c.exe или Aboutsecurity_1cv8.exe «Содержимое указанного ниже веб-узла в э
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.