Рассчитать процент загрузки. Рассчитывает процент загрузки и записывает в виде сообщения пользователю.
// Рассчитывает процент загрузки и записывает в виде сообщения пользователю.
//
// Параметры:
// КоличествоЗагруженных - Число - Количество загруженных на данный момент объектов.
// КоличествоОбъектовКЗагрузке - Число - Количество объектов к загрузке.
// РазмерФайлаСообщенияОбмена - Число - Размер файла сообщения обмена в мегабайтах.
//
Процедура РассчитатьПроцентЗагрузки(КоличествоЗагруженных, КоличествоОбъектовКЗагрузке, РазмерФайлаСообщенияОбмена) Экспорт
// Сообщение о проценте загрузки выдаем через каждые 10 объектов.
Если КоличествоЗагруженных = 0 ИЛИ КоличествоЗагруженных / 10 <> Цел(КоличествоЗагруженных / 10) Тогда
Возврат;
КонецЕсли;
Если КоличествоОбъектовКЗагрузке = 0 Тогда
// Возможно при загрузке через com соединение если на другой стороне не встроен прогресс-бар.
ПроцентВыполнения = 95;
Шаблон = НСтр("ru = 'Обработано %1 объектов.'");
Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Шаблон, Формат(КоличествоЗагруженных, "ЧН=0; ЧГ="));
Иначе
// 5% полосы резервируем под отложенное заполнение, проценты по количеству считаем от 95.
ПроцентВыполнения = Окр(Мин(КоличествоЗагруженных * 95 / КоличествоОбъектовКЗагрузке, 95));
Шаблон = НСтр("ru = 'Обработано: %1 из %2 объектов.'");
Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
Шаблон,
Формат(КоличествоЗагруженных, "ЧН=0; ЧГ="),
Формат(КоличествоОбъектовКЗагрузке, "ЧН=0; ЧГ="));
КонецЕсли;
// Дополняем размером файла.
Если РазмерФайлаСообщенияОбмена <> 0 Тогда
Шаблон = НСтр("ru = 'Размер сообщения %1 МБ'");
ТекстДополнение = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Шаблон, РазмерФайлаСообщенияОбмена);
Текст = Текст + " " + ТекстДополнение;
КонецЕсли;
// Регистрация сообщения для чтения из клиентского сеанса.
ДополнительныеПараметры = Новый Структура;
ДополнительныеПараметры.Вставить("ОбменДанными", Истина);
ДлительныеОперации.СообщитьПрогресс(ПроцентВыполнения, Текст, ДополнительныеПараметры);
КонецПроцедуры
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
РассчитатьПроцентЗагрузкиРИБ (БСП)
РассчитатьПроцентВыгрузки (БСП)
РассчитатьПроцентВыгрузкиРИБ (БСП)
Сколько процентов число от числа
РассчитанныеДатыЗапретаИзменения (БСП)
РассчитатьРассмотреноПоПапкам (БСП)
РассчитатьРассмотреноПоКонтактам (БСП)
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)