Сообщить прогресс. Регистрирует информацию о ходе выполнения длительной операции.
// Регистрирует информацию о ходе выполнения длительной операции.
// Во избежание избыточного потребления памяти и ее утечек при выполнении одной длительной операции
// не следует сообщать прогресс более 100 раз.
//
// Для того чтобы выводить ход выполнения длительной операции для пользователя, следует установить
// свойство ВыводитьПрогрессВыполнения в Истина (см. ДлительныеОперацииКлиент.ПараметрыОжидания).
// Его также можно получать отдельно при помощи функции ДлительныеОперации.ПрочитатьПрогресс.
//
// Параметры:
// Процент - Число - процент выполнения.
// Текст - Строка - информация о текущей операции.
// ДополнительныеПараметры - Произвольный - любая дополнительная информация, которую необходимо передать на клиент.
// Значение должно быть простым (сериализуемым в XML-строку).
//
Процедура СообщитьПрогресс(Знач Процент = Неопределено, Знач Текст = Неопределено, Знач ДополнительныеПараметры = Неопределено) Экспорт
Если ПолучитьТекущийСеансИнформационнойБазы().ПолучитьФоновоеЗадание() = Неопределено Тогда
Возврат;
КонецЕсли;
ПередаваемоеЗначение = Новый Структура;
Если Процент <> Неопределено Тогда
ПередаваемоеЗначение.Вставить("Процент", Процент);
КонецЕсли;
Если Текст <> Неопределено Тогда
ПередаваемоеЗначение.Вставить("Текст", Текст);
КонецЕсли;
Если ДополнительныеПараметры <> Неопределено Тогда
ПередаваемоеЗначение.Вставить("ДополнительныеПараметры", ДополнительныеПараметры);
КонецЕсли;
ПередаваемыйТекст = ОбщегоНазначения.ЗначениеВСтрокуXML(ПередаваемоеЗначение);
Текст = "{" + СообщениеПрогресса() + "}" + ПередаваемыйТекст;
ОбщегоНазначения.СообщитьПользователю(Текст);
КонецПроцедуры
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////