РассчитатьПроцентВыгрузки (БСП)

Автор: 1С
ОбщийМодуль.ОбменДаннымиСервер
БСП

Рассчитать процент выгрузки. Рассчитывает процент выгрузки и записывает в виде сообщения пользователю.

// Рассчитывает процент выгрузки и записывает в виде сообщения пользователю.
//
// Параметры:
//  КоличествоВыгруженных       - Число - Количество выгруженных на данный момент объектов.
//  КоличествоОбъектовКВыгрузке - Число - Количество объектов к выгрузке.
//
Процедура РассчитатьПроцентВыгрузки(КоличествоВыгруженных, КоличествоОбъектовКВыгрузке) Экспорт
	
	// Сообщение о проценте выгрузки выдаем через каждые 100 объектов.
	Если КоличествоВыгруженных = 0 ИЛИ КоличествоВыгруженных / 100 <> Цел(КоличествоВыгруженных / 100) Тогда
		Возврат;
	КонецЕсли;
	
	Если КоличествоОбъектовКВыгрузке = 0 Или КоличествоВыгруженных > КоличествоОбъектовКВыгрузке Тогда
		ПроцентВыполнения = 95;
		Шаблон = НСтр("ru = 'Обработано: %1 объектов.'");
		Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Шаблон, Формат(КоличествоВыгруженных, "ЧН=0; ЧГ="));
	Иначе
		// 5% полосы резервируем под выгрузку по ссылкам, проценты по количеству считаем от 95.
		ПроцентВыполнения = Окр(Мин(КоличествоВыгруженных * 95 / КоличествоОбъектовКВыгрузке, 95));
		Шаблон = НСтр("ru = 'Обработано: %1 из %2 объектов.'");
		Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
			Шаблон,
			Формат(КоличествоВыгруженных, "ЧН=0; ЧГ="),
			Формат(КоличествоОбъектовКВыгрузке, "ЧН=0; ЧГ="));
	КонецЕсли;
	
	// Регистрация сообщения для чтения из клиентского сеанса.
	ДополнительныеПараметры = Новый Структура;
	ДополнительныеПараметры.Вставить("ОбменДанными", Истина);
	
	ДлительныеОперации.СообщитьПрогресс(ПроцентВыполнения, Текст, ДополнительныеПараметры);
КонецПроцедуры

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

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

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

РассчитатьПроцентВыгрузкиРИБ (БСП)

РассчитатьПроцентЗагрузки (БСП)

РассчитатьПроцентЗагрузкиРИБ (БСП)

Сколько процентов число от числа

РассчитанныеДатыЗапретаИзменения (БСП)

РассчитатьРассмотреноПоПапкам (БСП)

РассчитатьРассмотреноПоКонтактам (БСП)

РассчитатьРассмотреноПоПредметам (БСП)

ДатаЗапретаПоОписанию (БСП)

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