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

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

Рассчитать процент выгрузки. Увеличение счетчика выгруженных объектов и расчет процента выгрузки. Только для РИБ.

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

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

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

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

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

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

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

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

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

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

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

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

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

TurboConf 6 - расширение Конфигуратора 1С