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