Переключить прозрачность и понять, когда цвет фона не используется

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

Кнопка меняет только признак прозрачности собственного элемента. Значение ЦветФона сохраняется, но при прозрачности не используется для отображения.

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

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

Подготовка

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

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

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

  4. На обычной форме добавьте числовой реквизит УчебнаяСкидка, длина 3, точность 0, неотрицательный. Это собственное значение формы, не реквизит заказа.

  5. Добавьте элемент Полоса регулирования, имя УчебнаяПолоса. В свойстве Данные выберите УчебнаяСкидка. Не создавайте ПолеФормы управляемого клиента.

  6. Для уроков с горизонтальной полосой сделайте элемент шире, чем выше. Для вертикального урока — выше, чем шире. Размеры меняйте в редакторе обычной формы.

  7. Начальная скидка 10 задаётся при открытии. Исходная сумма вычисляется из собственных 3 книг по 250, расчёт выводится только в сообщения.

  8. Работа и вид в 1С не проверены. Примеры не записывают документы, справочники, файлы или настройки и не вызывают сеть.

Процедура ПриОткрытии()
    УчебнаяСкидка = 10;
    Полоса = ЭтаФорма.ЭлементыФормы.УчебнаяПолоса;
    Полоса.МинимальноеЗначение = 0;
    Полоса.МаксимальноеЗначение = 30;
    Полоса.Шаг = 1;
    Полоса.БольшойШаг = 5;
    Полоса.Ориентация = Ориентация.Горизонтально;
    Полоса.ПрозрачныйФон = Ложь;
    Полоса.ЦветФона = Новый Цвет(242, 246, 250);
    Кнопка = ЭтаФорма.ЭлементыФормы.УчебнаяКоманда;
    Кнопка.Заголовок = "Выполнить учебный шаг";
    Кнопка.УстановитьДействие("Нажатие", Новый Действие("ВыполнитьУчебныйШаг"));
КонецПроцедуры

Процедура ВыполнитьУчебныйШаг(Элемент) Экспорт
    Полоса = ЭтаФорма.ЭлементыФормы.УчебнаяПолоса;
    Если ТипЗнч(УчебнаяСкидка) <> Тип("Число") Тогда
        ВызватьИсключение "Учебная скидка должна быть числом";
    КонецЕсли;
    Если УчебнаяСкидка < 0 ИЛИ УчебнаяСкидка > 30 Тогда
        ВызватьИсключение "Допустима учебная скидка от 0 до 30";
    КонецЕсли;
    ИсходнаяСумма = 3 * 250;
    СуммаСкидки = Окр(ИсходнаяСумма * УчебнаяСкидка / 100, 2);
    КОплате = ИсходнаяСумма - СуммаСкидки;
    Сообщить(ИсходнаяСумма = 750);
    Сообщить(СуммаСкидки >= 0 И СуммаСкидки <= 225);
    Сообщить(КОплате >= 525 И КОплате <= 750);
    Сообщить(КОплате + СуммаСкидки = ИсходнаяСумма);
    Сообщить(СтрШаблон("Скидка: %1 процентов; сумма скидки: %2; к оплате: %3", УчебнаяСкидка, СуммаСкидки, КОплате));
    Полоса.ПрозрачныйФон = Не Полоса.ПрозрачныйФон;
    Сообщить(Полоса.ЦветФона = Новый Цвет(242, 246, 250));
    Если Полоса.ПрозрачныйФон Тогда
        Сообщить("Прозрачность включена; заданный ЦветФона сейчас не используется");
    Иначе
        Сообщить("Прозрачность выключена; заданный ЦветФона может отображаться");
    КонецЕсли;
КонецПроцедуры

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

  1. Начальный элемент непрозрачный и имеет собственный светлый фон.

  2. Перед переключением выполняется обычный проверяемый расчёт скидки; значение процента не инвертируется.

  3. Не меняет только ПрозрачныйФон. ЦветФона остаётся тем же объектом цвета.

  4. Справка прямо указывает: при Истина ЦветФона не используется. Равенство свойства цвету ещё не доказывает видимый оттенок.

  5. Повторное нажатие возвращает непрозрачный режим без записи настроек в базу.

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

  1. Каждый раз ожидаются пять Истина, расчёт и диагностическая строка режима. Первое нажатие включает прозрачность, второе выключает.

  2. Сравните поле с фоном формы вручную. Скидка и арифметика не должны изменяться от переключения.

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

Разница между сохранённой настройкой и фактическим применением цвета показана на переключаемом элементе.

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

  1. Не требуйте исчезновения значения ЦветФона после включения прозрачности.

  2. Прозрачность интерфейса не означает отсутствие или сокрытие числовых данных.

  3. Системная тема и подложка влияют на визуальное сравнение; запуск не проверен.

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

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

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

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

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