Проверить статусы доставки 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
///////////////////////////////////////////////////////////////////////////////////////////////////////