Каталог решений - Шкала в строке состояния

Шкала в строке состояния

Шкала в строке состояния

В наличии

Простая шкала, не требующая дополнительных форм и элементов управления

Категория:

Описание

Шкала прогресса нужна там, где есть массовая обработка данных. Ранее всегда просто выводил в строку статуса номер текущего объекта и количество объектов для обработки. Немного подумав, придумал вот это, просто вставьте процедуру в общий модуль и вызывайте оттуда (код простой, думаю, что разжевывать его не нужно):

Процедура ШкалаВСтрокеСостояния(ТекЗапись, Записей, ПоказыватьПроцент = Истина, ПоказыватьПозицию = Истина, СвойТекстВКонце = "") Экспорт
	Текст = СокрЛП(СвойТекстВКонце);
	Если НЕ Текст = "" Тогда Текст = " " + Текст; КонецЕсли;
	Точки = "....................................................................................................";
	Черточки = "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!";
	Процент = ТекЗапись/Записей * 100;
	Если ПоказыватьПроцент = Истина Тогда
		ПроцентТекст = Формат(Процент, "ЧДЦ=1; ЧН=0,0");
	Иначе
		ПроцентТекст = "";
	КонецЕсли;
	Если ПоказыватьПозицию = Истина Тогда
		Позиция = Формат(ТекЗапись, "ЧН=0; ЧГ=") + "/" + Формат(Записей, "ЧН=0; ЧГ=");
	Иначе
		Позиция = "";
	КонецЕсли;
	Шкала = Лев(Лев(Черточки, Цел(Процент)) + Точки, 100);
	Если ПоказыватьПозицию И ПоказыватьПроцент Тогда
		Состояние(Шкала + " (" + ПроцентТекст + "% - " + Позиция + ")" + Текст);
	ИначеЕсли ПоказыватьПозицию Тогда
		Состояние(Шкала + " (" + Позиция + ")" + Текст);
	ИначеЕсли ПоказыватьПроцент Тогда
		Состояние(Шкала + " (" + ПроцентТекст + "%)" + Текст);
	Иначе
		Состояние(Шкала + Текст);
	КонецЕсли;
КонецПроцедуры
has been added to your cart:
Оформление заказа