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