ОформлениеЯчейки.ЗначениеФлажка

Свойства · CheckValue

Тип: Число, Булево. Содержит значение флажка, отображаемого в колонке. Если колонка, отображающая данное значение связана с данными, то данное свойство доступно только для чтения.

Полное описание, параметры и ограничения

ОформлениеЯчейки.ЗначениеФлажка (CellAppearance.CheckValue)

ОформлениеЯчейки (CellAppearance)

ЗначениеФлажка (CheckValue)

Доступен, начиная с версии 8.0.

Использование:
Чтение и запись.
Описание:
Тип: Число, Булево.
Содержит значение флажка, отображаемого в колонке. Если колонка, отображающая данное значение связана с данными, то данное свойство доступно только для чтения.
Доступность:

Толстый клиент.

Использование в версии:

Доступен, начиная с версии 8.0.

Методическая информация

Практические примеры

Различить флажок оформления и булево значение строки

Собственная колонка Выбран хранит Ложь. Объект оформления по очереди показывает установленный, снятый и неопределённый флажки; бизнес-значение не меняется.

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

Полный модуль своей обычной формы; толстый клиент. Оформление текущей строки, не обработчик управляемой формы.

Подготовка

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

  2. Добавьте реквизит Товары (ТаблицаЗначений), табличное поле ТаблицаТоваров с Данные = Товары и обычную кнопку УчебнаяКоманда вне таблицы.

  3. Событие ПриОткрытии свяжите с одноимённой процедурой. Нажатие кнопки вручную не назначайте: оно устанавливается объектом Действие. Экспортная процедура ПроверитьОформлениеЯчейки(Элемент) получает кнопку формы; это не событие редактора ячейки.

  4. Каждый урок — полный модуль отдельной копии этой формы. Колонки и две строки создаются заново только в своём реквизите. Код нельзя переносить в рабочую таблицу без адаптации.

Процедура ПриОткрытии()
    Товары = Новый ТаблицаЗначений;
    Товары.Колонки.Добавить("Код", Новый ОписаниеТипов("Строка"));
    Товары.Колонки.Добавить("Наименование", Новый ОписаниеТипов("Строка"));
    Товары.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число"));
    Товары.Колонки.Добавить("Выбран", Новый ОписаниеТипов("Булево"));
    Книга = Товары.Добавить();
    Книга.Код = "A-01";
    Книга.Наименование = "Книга";
    Книга.Количество = 3;
    Книга.Выбран = Ложь;
    Ручка = Товары.Добавить();
    Ручка.Код = "B-02";
    Ручка.Наименование = "Ручка";
    Ручка.Количество = 1;
    Ручка.Выбран = Ложь;
    Таблица = ЭтаФорма.ЭлементыФормы.ТаблицаТоваров;
    Таблица.СоздатьКолонки();
    Таблица.АвтоВводНовойСтроки = Ложь;
    Если Товары.Количество() <> 2 Тогда
        ВызватьИсключение "Ожидались два собственных учебных товара";
    КонецЕсли;
    Таблица.ТекущаяСтрока = Товары[0];
    Кнопка = ЭтаФорма.ЭлементыФормы.УчебнаяКоманда;
    Кнопка.УстановитьДействие("Нажатие", Новый Действие("ПроверитьОформлениеЯчейки"));
КонецПроцедуры

Процедура ПроверитьОформлениеЯчейки(Элемент) Экспорт
    Таблица = ЭтаФорма.ЭлементыФормы.ТаблицаТоваров;
    Текущая = Таблица.ТекущаяСтрока;
    Если Текущая = Неопределено Тогда
        Сообщить("Сначала выберите свою книгу или ручку");
        Возврат;
    КонецЕсли;
    Оформление = Таблица.ОформлениеСтроки(Текущая);
    Если Оформление = Неопределено Тогда
        ВызватьИсключение "Не получено оформление собственной строки";
    КонецЕсли;
    Ячейка = Оформление.Ячейки["Выбран"];
    ИсходныйВыбор = Оформление.ДанныеСтроки.Выбран;
    Сообщить(Ячейка.ЗначениеФлажка = ИсходныйВыбор);
    Ячейка.ОтображатьТекст = Ложь;
    Ячейка.ОтображатьКартинку = Ложь;
    Ячейка.ТолькоПросмотр = Истина;
    Ячейка.УстановитьФлажок(Истина);
    Сообщить(Ячейка.ОтображатьФлажок И Ячейка.Флажок = Истина);
    Ячейка.УстановитьФлажок(Ложь);
    Сообщить(Ячейка.Флажок = Ложь);
    Ячейка.Флажок = 2;
    Ячейка.ОтображатьФлажок = Истина;
    Сообщить(Ячейка.Флажок = 2);
    Сообщить(Оформление.ДанныеСтроки.Выбран = ИсходныйВыбор);
    Сообщить(Товары[0].Выбран = Ложь И Товары[1].Выбран = Ложь);
КонецПроцедуры

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

  1. ЗначениеФлажка у связанной колонки читается, не присваивается. Отдельное свойство Флажок управляет изображением.

  2. УстановитьФлажок устанавливает Флажок и автоматически включает ОтображатьФлажок; два первых состояния проверяются непосредственно после вызова.

  3. По локальной справке числовой флажок 0 означает снят, 1 установлен, 2 не определён. Булево допускает только два состояния.

  4. Три установки выполнены подряд в одной команде, поэтому экран может показать только итоговое третье состояние; сравнения проверяют промежуточные значения.

  5. Для реального выбора товара изменяют данные строки и проверяют бизнес-правила. Этот урок намеренно не выбирает товар через оформление.

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

  1. Шесть Истина. В конце Флажок = 2, но обе строки всё ещё хранят Выбран = Ложь.

  2. Откройте форму заново: новый собственный набор снова содержит книгу и ручку без отметок.

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

Видимое состояние флажка не перепутано с сохранённым логическим значением.

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

  1. Не переносите числовую трёхсостоянию модель на произвольное булево поле.

  2. Оформление может измениться после перерисовки; пример не обещает последовательную анимацию трёх состояний.

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

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

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

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

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