Один собственный флажок задаёт учебное «Включать доставку». Кнопка инвертирует Булево и показывает новое состояние.
Где и как запускать
Полный модуль собственной обычной формы внешней обработки. Только толстый клиент с обычными формами; действие кнопки — экспортная процедура с первым параметром Элемент, инициировавшим Нажатие.
Подготовка
Создайте отдельную внешнюю обработку с обычной формой. Нужен толстый клиент в режиме обычных форм; рабочая база не используется.
Добавьте обычную кнопку УчебнаяКоманда. ПриОткрытии формы свяжите с одноимённой процедурой из полного модуля; Нажатие кнопки вручную не назначайте.
Кнопка получает собственное Действие в коде. Каждый урок заменяет полный модуль отдельной копии формы; никаких записей документов или настроек нет.
Добавьте реквизит УчебнаяДоставка (Булево) и Флажок с именем УчебныйФлажок. В свойстве Данные укажите УчебнаяДоставка.
Процедура ПриОткрытии()
УчебнаяДоставка = Ложь;
Флажок = ЭтаФорма.ЭлементыФормы.УчебныйФлажок;
Флажок.ТриСостояния = Ложь;
Флажок.Доступность = Истина;
Флажок.Заголовок = "Включать учебную доставку";
Флажок.Подсказка = "Меняется только собственное Булево формы";
Флажок.ПоложениеЗаголовка = ПоложениеЗаголовка.ЗаголовокСправа;
Флажок.ГоризонтальноеПоложение = ГоризонтальноеПоложение.Лево;
Флажок.ВертикальноеПоложение = ВертикальноеПоложение.Центр;
Флажок.ПрозрачныйФон = Ложь;
Флажок.ЦветФона = Новый Цвет(244, 248, 252);
Флажок.ЦветТекста = Новый Цвет(24, 40, 60);
Флажок.ЦветФонаПоля = Новый Цвет(255, 255, 255);
Флажок.ЦветТекстаПоля = Новый Цвет(30, 110, 80);
Флажок.ЦветРамки = Новый Цвет(160, 176, 192);
Флажок.Рамка = Новый Рамка(ТипРамки.Одинарная);
Флажок.Шрифт = Новый Шрифт(Флажок.Шрифт, , 11, Ложь);
Кнопка = ЭтаФорма.ЭлементыФормы.УчебнаяКоманда;
Кнопка.Заголовок = "Выполнить учебный шаг";
Кнопка.УстановитьДействие("Нажатие", Новый Действие("ВыполнитьУчебныйШаг"));
КонецПроцедуры
Процедура ВыполнитьУчебныйШаг(Элемент) Экспорт
УчебнаяДоставка = Не УчебнаяДоставка;
Сообщить(УчебнаяДоставка);
Сообщить(ТипЗнч(УчебнаяДоставка) = Тип("Булево"));
Флажок = ЭтаФорма.ЭлементыФормы.УчебныйФлажок;
Сообщить(Флажок.Доступность И Не Флажок.ТриСостояния);
Сообщить(Флажок.Шрифт.Размер = 11);
КонецПроцедурыРазбор по шагам
Связанный реквизит имеет тип Булево; ТриСостояния выключено, поэтому пример не смешивает число и логический признак.
Не инвертирует именно значение реквизита. Изображение галочки обновляется через связь Данные.
ЦветТекста оформляет подпись, ЦветТекстаПоля — галочку. ЦветФона и ЦветФонаПоля относятся к разным областям.
ПоложениеЗаголовка выбирает сторону подписи; вертикальное и горизонтальное положение уточняют расположение текста.
Шрифт сохраняет прежнее имя и меняет размер; никаких заказов или настроек доставки код не записывает.
Как проверить результат
Первое нажатие: четыре Истина. Второе: Ложь, затем три Истина.
Измените флажок мышью и нажмите кнопку: значение должно инвертироваться относительно вашего выбора.
Ожидаемый результат
Реальный флажок изменяет собственный логический реквизит формы.
На что обратить внимание
Доступность элемента не заменяет проверку прав на сервере.
Видимые цвета зависят от темы и клиента; пиксельное отображение не проверялось.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.