Учебный счётчик тот же 0..4. Кнопка выполняет шаг и переключает горизонтальную и вертикальную ориентацию.
Где и как запускать
Полный модуль собственной обычной формы внешней обработки. Только толстый клиент с обычными формами; действие кнопки — экспортная процедура с первым параметром Элемент, инициировавшим Нажатие.
Подготовка
Создайте отдельную внешнюю обработку с обычной формой. Нужен толстый клиент в режиме обычных форм; рабочая база не используется.
Добавьте обычную кнопку УчебнаяКоманда. ПриОткрытии формы свяжите с одноимённой процедурой из полного модуля; Нажатие кнопки вручную не назначайте.
Кнопка получает собственное Действие в коде. Каждый урок заменяет полный модуль отдельной копии формы; никаких записей документов или настроек нет.
Добавьте реквизит УчебноОбработано (Число 1.0) и элемент Индикатор с именем УчебныйИндикатор. Его Данные свяжите с этим реквизитом.
Это ручной учебный счётчик четырёх шагов. Индикатор не выполняет загрузку и не наблюдает за фоновым заданием.
В редакторе сделайте индикатор достаточно высоким и широким для сравнения двух ориентаций.
Процедура ПриОткрытии()
УчебноОбработано = 0;
Индикатор = ЭтаФорма.ЭлементыФормы.УчебныйИндикатор;
Индикатор.МинимальноеЗначение = 0;
Индикатор.МаксимальноеЗначение = 4;
Индикатор.Шаг = 25;
Индикатор.ОтображатьПроценты = Истина;
Индикатор.Ориентация = Ориентация.Горизонтально;
Индикатор.СтильОтображения = РежимСглаживанияИндикатора.Плавный;
Индикатор.Рамка = Новый Рамка(ТипРамки.Одинарная);
Индикатор.ЦветРамки = Новый Цвет(160, 176, 192);
Индикатор.ЦветФона = Новый Цвет(244, 248, 252);
Индикатор.Шрифт = Новый Шрифт(Индикатор.Шрифт, , 11, Ложь);
Кнопка = ЭтаФорма.ЭлементыФормы.УчебнаяКоманда;
Кнопка.Заголовок = "Выполнить учебный шаг";
Кнопка.УстановитьДействие("Нажатие", Новый Действие("ВыполнитьУчебныйШаг"));
КонецПроцедуры
Процедура ВыполнитьУчебныйШаг(Элемент) Экспорт
Если УчебноОбработано < 4 Тогда
УчебноОбработано = УчебноОбработано + 1;
КонецЕсли;
Сообщить(СтрШаблон("Учебных шагов: %1 из 4; расчёт: %2 процентов", УчебноОбработано, УчебноОбработано * 25));
Сообщить(УчебноОбработано >= 0 И УчебноОбработано <= 4);
Индикатор = ЭтаФорма.ЭлементыФормы.УчебныйИндикатор;
Если Индикатор.Ориентация = Ориентация.Горизонтально Тогда
Индикатор.Ориентация = Ориентация.Вертикально;
Иначе
Индикатор.Ориентация = Ориентация.Горизонтально;
КонецЕсли;
Сообщить(Индикатор.Ориентация);
Сообщить(Индикатор.Шрифт.Размер = 11);
КонецПроцедурыРазбор по шагам
Плавный задаёт стиль заполнения, а не способ расчёта процента.
Фон, рамка и шрифт меняются на собственной форме; исходное имя шрифта сохраняется.
Ориентация меняет направление отображения без изменения диапазона 0..4.
После достижения 4 ориентация продолжает переключаться, но количество остаётся 4.
Как проверить результат
Первое нажатие: 1 из 4, Истина границ, Вертикально, Истина размера шрифта.
Второе: 2 из 4 и Горизонтально; после пятого шаг остаётся 4, ориентация меняется.
Ожидаемый результат
Изменение оформления отделено от собственного счётчика прогресса.
На что обратить внимание
Стиль отображения не ускоряет обработку.
Реальное отображение процентов и размеров зависит от клиента и темы.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.