ПроверитьСтатусыДоставкиSMS (БСП)

Автор: 1С
ОбщийМодуль.Взаимодействия
БСП

Проверить статусы доставки sms. Проверяет статусы доставки для отправленных SMS.

// Проверяет статусы доставки для отправленных SMS. 
//
// Параметры:
//  СообщениеSMS  - ДокументОбъект.СообщениеSMS - документ, для которого проверяется статус доставки SMS.
//  Модифицированность  - Булево - признак модифицированности документа.
//
Процедура ПроверитьСтатусыДоставкиSMS(СообщениеSMS, Модифицированность) Экспорт
	
	Запрос = Новый Запрос;
	Запрос.Текст = "
	|ВЫБРАТЬ
	|	СообщениеSMSАдресаты.НомерСтроки,
	|	СообщениеSMSАдресаты.ИдентификаторСообщения,
	|	СообщениеSMSАдресаты.СостояниеСообщения
	|ИЗ
	|	Документ.СообщениеSMS.Адресаты КАК СообщениеSMSАдресаты
	|ГДЕ
	|	СообщениеSMSАдресаты.Ссылка = &СообщениеSMS
	|	И СообщениеSMSАдресаты.ИдентификаторСообщения <> """"
	|	И (СообщениеSMSАдресаты.СостояниеСообщения = ЗНАЧЕНИЕ(Перечисление.СостоянияСообщенияSMS.ОтправляетсяПровайдером)
	|			ИЛИ СообщениеSMSАдресаты.СостояниеСообщения = ЗНАЧЕНИЕ(Перечисление.СостоянияСообщенияSMS.ОтправленоПровайдером)
	|			ИЛИ СообщениеSMSАдресаты.СостояниеСообщения = ЗНАЧЕНИЕ(Перечисление.СостоянияСообщенияSMS.ОшибкаПолученияСтатусаУПровайдера))";
	
	Запрос.УстановитьПараметр("СообщениеSMS", СообщениеSMS.Ссылка);
	
	ЕстьИзменения = Ложь;
	Выборка = Запрос.Выполнить().Выбрать();
	Пока Выборка.Следующий() Цикл
		
		СостояниеСообщения = СостояниеСообщенияSMSСогласноСтатусуДоставки(ОтправкаSMS.СтатусДоставки(Выборка.ИдентификаторСообщения));
		
		Если СостояниеСообщения <> Выборка.СостояниеСообщения Тогда
			СообщениеSMS.Адресаты[Выборка.НомерСтроки - 1].СостояниеСообщения = СостояниеСообщения;
			ЕстьИзменения = Истина;
		КонецЕсли;
		
	КонецЦикла;
	
	Если ЕстьИзменения Тогда
		СообщениеSMS.Состояние = СостояниеДокументаСообщениеSMS(СообщениеSMS);
		Модифицированность = Истина;
	КонецЕсли;
	
КонецПроцедуры

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

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

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

СтатусДоставки (БСП)

Обновлятор-1С: групповое (пакетное) обновление и обслуживание всех баз за один раз