Сравнить ориентацию и оформление своего индикатора

Учебные задачи

Учебный счётчик тот же 0..4. Кнопка выполняет шаг и переключает горизонтальную и вертикальную ориентацию.

Где и как запускать

Полный модуль собственной обычной формы внешней обработки. Только толстый клиент с обычными формами; действие кнопки — экспортная процедура с первым параметром Элемент, инициировавшим Нажатие.

Подготовка

  1. Создайте отдельную внешнюю обработку с обычной формой. Нужен толстый клиент в режиме обычных форм; рабочая база не используется.

  2. Добавьте обычную кнопку УчебнаяКоманда. ПриОткрытии формы свяжите с одноимённой процедурой из полного модуля; Нажатие кнопки вручную не назначайте.

  3. Кнопка получает собственное Действие в коде. Каждый урок заменяет полный модуль отдельной копии формы; никаких записей документов или настроек нет.

  4. Добавьте реквизит УчебноОбработано (Число 1.0) и элемент Индикатор с именем УчебныйИндикатор. Его Данные свяжите с этим реквизитом.

  5. Это ручной учебный счётчик четырёх шагов. Индикатор не выполняет загрузку и не наблюдает за фоновым заданием.

  6. В редакторе сделайте индикатор достаточно высоким и широким для сравнения двух ориентаций.

Процедура ПриОткрытии()
    УчебноОбработано = 0;
    Индикатор = ЭтаФорма.ЭлементыФормы.УчебныйИндикатор;
    Индикатор.МинимальноеЗначение = 0;
    Индикатор.МаксимальноеЗначение = 4;
    Индикатор.Шаг = 25;
    Индикатор.ОтображатьПроценты = Истина;
    Индикатор.Ориентация = Ориентация.Горизонтально;
    Индикатор.СтильОтображения = РежимСглаживанияИндикатора.Плавный;
    Индикатор.Рамка = Новый Рамка(ТипРамки.Одинарная);
    Индикатор.ЦветРамки = Новый Цвет(160, 176, 192);
    Индикатор.ЦветФона = Новый Цвет(244, 248, 252);
    Индикатор.Шрифт = Новый Шрифт(Индикатор.Шрифт, , 11, Ложь);
    Кнопка = ЭтаФорма.ЭлементыФормы.УчебнаяКоманда;
    Кнопка.Заголовок = "Выполнить учебный шаг";
    Кнопка.УстановитьДействие("Нажатие", Новый Действие("ВыполнитьУчебныйШаг"));
КонецПроцедуры

Процедура ВыполнитьУчебныйШаг(Элемент) Экспорт
    Если УчебноОбработано < 4 Тогда
        УчебноОбработано = УчебноОбработано + 1;
    КонецЕсли;
    Сообщить(СтрШаблон("Учебных шагов: %1 из 4; расчёт: %2 процентов", УчебноОбработано, УчебноОбработано * 25));
    Сообщить(УчебноОбработано >= 0 И УчебноОбработано <= 4);
    Индикатор = ЭтаФорма.ЭлементыФормы.УчебныйИндикатор;
    Если Индикатор.Ориентация = Ориентация.Горизонтально Тогда
        Индикатор.Ориентация = Ориентация.Вертикально;
    Иначе
        Индикатор.Ориентация = Ориентация.Горизонтально;
    КонецЕсли;
    Сообщить(Индикатор.Ориентация);
    Сообщить(Индикатор.Шрифт.Размер = 11);
КонецПроцедуры

Разбор по шагам

  1. Плавный задаёт стиль заполнения, а не способ расчёта процента.

  2. Фон, рамка и шрифт меняются на собственной форме; исходное имя шрифта сохраняется.

  3. Ориентация меняет направление отображения без изменения диапазона 0..4.

  4. После достижения 4 ориентация продолжает переключаться, но количество остаётся 4.

Как проверить результат

  1. Первое нажатие: 1 из 4, Истина границ, Вертикально, Истина размера шрифта.

  2. Второе: 2 из 4 и Горизонтально; после пятого шаг остаётся 4, ориентация меняется.

Ожидаемый результат

Изменение оформления отделено от собственного счётчика прогресса.

На что обратить внимание

  1. Стиль отображения не ускоряет обработку.

  2. Реальное отображение процентов и размеров зависит от клиента и темы.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.