СоздатьSMS (БСП)

Автор: 1С
ОбщийМодуль.УправлениеКонтактнойИнформациейКлиент
БСП

Создать sms. Создает письмо по контактной информации.

// Создает письмо по контактной информации.
//
// Параметры:
//  ЗначенияПолей                - Строка, Структура, Соответствие, СписокЗначений - Контактная информация.
//  Представление                - Строка - Представление. Используется, если невозможно определить представление из параметра.
//                                           ЗначенияПолей (отсутствие поля Представление).
//  ОжидаемыйВид                 - СправочникСсылка.ВидыКонтактнойИнформации, ПеречислениеСсылка.ТипыКонтактнойИнформации,
//                                  Структура - Используется для определения типа, если его невозможно вычислить по полю
//                                              ЗначенияПолей.
//  ИсточникКонтактнойИнформации - ЛюбаяСсылка - Объект который является источником контактной информации.
//
Процедура СоздатьSMS(Знач ЗначенияПолей, Знач Представление = "", ОжидаемыйВид = Неопределено, ИсточникКонтактнойИнформации = "") Экспорт
	
	Если Не ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ОтправкаSMS") Тогда
		ВызватьИсключение НСтр("ru = 'Отправка SMS недоступна.'");
	КонецЕсли;
	
	КонтактнаяИнформация = УправлениеКонтактнойИнформациейСлужебныйВызовСервера.ПривестиКонтактнуюИнформациюXML(
		Новый Структура("ЗначенияПолей, Представление, ВидКонтактнойИнформации", ЗначенияПолей, Представление, ОжидаемыйВид));
		
	ТипИнформации = КонтактнаяИнформация.ТипКонтактнойИнформации;
	Если ТипИнформации <> ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Телефон") Тогда
		ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Нельзя отправитьSMS по контактной информацию с типом ""%1""'"), ТипИнформации);
	КонецЕсли;
	
	Если ЗначенияПолей = "" И ПустаяСтрока(Представление) Тогда
		ПоказатьПредупреждение(,НСтр("ru = 'Для отправки SMS необходимо ввести номер телефона.'"));
		Возврат;
	КонецЕсли;
	
	XMLДанные = КонтактнаяИнформация.ДанныеXML;
	Если ЗначениеЗаполнено(XMLДанные) Тогда
		НомерПолучателя = УправлениеКонтактнойИнформациейСлужебныйВызовСервера.СтрокаСоставаКонтактнойИнформации(XMLДанные);
	КонецЕсли;
	Если НЕ ЗначениеЗаполнено(НомерПолучателя) Тогда
		НомерПолучателя = СокрЛП(Представление);
	КонецЕсли;
	
	#Если МобильныйКлиент Тогда
		SMS = Новый SMSСообщение();
		SMS.Получатели.Добавить(НомерПолучателя);
		СредстваТелефонии.ПослатьSMS(SMS, Истина);
		Возврат;
	#КонецЕсли
	
	СведенияОПолучателе = Новый Структура();
	СведенияОПолучателе.Вставить("Телефон",                      НомерПолучателя);
	СведенияОПолучателе.Вставить("Представление",                Строка(ИсточникКонтактнойИнформации));
	СведенияОПолучателе.Вставить("ИсточникКонтактнойИнформации", ИсточникКонтактнойИнформации);
	
	НомераПолучателей = Новый Массив;
	НомераПолучателей.Добавить(СведенияОПолучателе);
	
	МодульОтправкаSMSКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ОтправкаSMSКлиент");
	МодульОтправкаSMSКлиент.ОтправитьSMS(НомераПолучателей, "", Новый Структура("ПеревестиВТранслит", Ложь));
	
КонецПроцедуры

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

Рекомендации

Похожие публикации

СоздатьШаблон (БСП)

СоздатьИОтправитьСообщениеSMS (БСП)

Сообщение с открытием только что созданного документа

СоздатьПрофильБезопасности (БСП)

СоздатьВзаимодействиеИлиПредмет (БСП)

TurboConf ИР адаптер 2.50