Тип: Булево. Указывает необходимость вычисления высоты ячейки. При этом свойство ВысотаЯчейки указывает максимальную высоту ячейки. Свойство становится доступным только для чтения, если поле является колонкой предопределенной таблицы поля диаграммы Ганта (в случае записи возникает исключение).
Полное описание, параметры и ограничения
ОформлениеЯчейки.АвтоВысотаЯчейки (CellAppearance.AutoCellHeight)
ОформлениеЯчейки (CellAppearance)
АвтоВысотаЯчейки (AutoCellHeight)
Доступен, начиная с версии 8.0.
Использование:
Чтение и запись.
Описание:
Тип: Булево.
Указывает необходимость вычисления высоты ячейки. При этом свойство ВысотаЯчейки указывает максимальную высоту ячейки.
Свойство становится доступным только для чтения, если поле является колонкой предопределенной таблицы поля диаграммы Ганта (в случае записи возникает исключение).
Доступность:
Толстый клиент.
Использование в версии:
Доступен, начиная с версии 8.0.
Описание изменено в версии 8.3.21.
Методическая информация
Практические примеры
Выделить количество, не меняя данные товара
Вместо голого числа выводим понятный текст Осталось: 3. Данные своей книги остаются числом 3; оформление не становится способом записи связанной колонки.
Где и как запускать
Полный модуль своей обычной формы; толстый клиент. Оформление текущей строки, не обработчик управляемой формы.
Подготовка
Создайте отдельную внешнюю обработку с обычной формой в учебной базе. Запускайте толстым клиентом с обычными формами.
Добавьте реквизит Товары (ТаблицаЗначений), табличное поле ТаблицаТоваров с Данные = Товары и обычную кнопку УчебнаяКоманда вне таблицы.
Событие ПриОткрытии свяжите с одноимённой процедурой. Нажатие кнопки вручную не назначайте: оно устанавливается объектом Действие. Экспортная процедура ПроверитьОформлениеЯчейки(Элемент) получает кнопку формы; это не событие редактора ячейки.
Каждый урок — полный модуль отдельной копии этой формы. Колонки и две строки создаются заново только в своём реквизите. Код нельзя переносить в рабочую таблицу без адаптации.
Процедура ПриОткрытии()
Товары = Новый ТаблицаЗначений;
Товары.Колонки.Добавить("Код", Новый ОписаниеТипов("Строка"));
Товары.Колонки.Добавить("Наименование", Новый ОписаниеТипов("Строка"));
Товары.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число"));
Товары.Колонки.Добавить("Выбран", Новый ОписаниеТипов("Булево"));
Книга = Товары.Добавить();
Книга.Код = "A-01";
Книга.Наименование = "Книга";
Книга.Количество = 3;
Книга.Выбран = Ложь;
Ручка = Товары.Добавить();
Ручка.Код = "B-02";
Ручка.Наименование = "Ручка";
Ручка.Количество = 1;
Ручка.Выбран = Ложь;
Таблица = ЭтаФорма.ЭлементыФормы.ТаблицаТоваров;
Таблица.СоздатьКолонки();
Таблица.АвтоВводНовойСтроки = Ложь;
Если Товары.Количество() <> 2 Тогда
ВызватьИсключение "Ожидались два собственных учебных товара";
КонецЕсли;
Таблица.ТекущаяСтрока = Товары[0];
Кнопка = ЭтаФорма.ЭлементыФормы.УчебнаяКоманда;
Кнопка.УстановитьДействие("Нажатие", Новый Действие("ПроверитьОформлениеЯчейки"));
КонецПроцедуры
Процедура ПроверитьОформлениеЯчейки(Элемент) Экспорт
Таблица = ЭтаФорма.ЭлементыФормы.ТаблицаТоваров;
Текущая = Таблица.ТекущаяСтрока;
Если Текущая = Неопределено Тогда
Сообщить("Сначала выберите свою книгу или ручку");
Возврат;
КонецЕсли;
Оформление = Таблица.ОформлениеСтроки(Текущая);
Если Оформление = Неопределено Тогда
ВызватьИсключение "Не получено оформление собственной строки";
КонецЕсли;
Ячейка = Оформление.Ячейки["Количество"];
ИсходноеКоличество = Оформление.ДанныеСтроки.Количество;
Сообщить(Ячейка.Имя = "Количество");
Сообщить(Ячейка.Значение = ИсходноеКоличество);
Ячейка.Видимость = Истина;
Ячейка.Выравнивание = ГоризонтальноеПоложение.Право;
Ячейка.АвтоВысотаЯчейки = Истина;
Ячейка.ВысотаЯчейки = 2;
Ячейка.ТолькоПросмотр = Истина;
Ячейка.ОтметкаНезаполненного = Ложь;
Ячейка.Гиперссылка = Ложь;
Ячейка.ЦветТекста = Новый Цвет(24, 40, 60);
Ячейка.ЦветФона = Новый Цвет(235, 244, 255);
Ячейка.Шрифт = Новый Шрифт(Ячейка.Шрифт, , 12, Истина);
Ячейка.ОтображатьКартинку = Ложь;
Ячейка.ОтображатьФлажок = Ложь;
Ячейка.УстановитьТекст("Осталось: " + Строка(ИсходноеКоличество));
Сообщить(Ячейка.ОтображатьТекст);
Сообщить(Ячейка.Текст = "Осталось: " + Строка(ИсходноеКоличество));
Сообщить(Оформление.ДанныеСтроки.Количество = ИсходноеКоличество);
Сообщить(Товары.Итог("Количество") = 4);
КонецПроцедурыРазбор по шагам
Ячейки индексируются именем существующей колонки. Количество создана в этом же модуле; Имя только читается.
Значение только читаем: у связанной с данными колонки оно недоступно для записи. УстановитьТекст меняет представление, а не число в строке.
УстановитьТекст автоматически включает ОтображатьТекст. Остальные каналы изображения выключены явно.
АвтоВысотаЯчейки включает расчёт высоты; ВысотаЯчейки = 2 ограничивает её двумя строками текста, не двумя пикселями.
ОтметкаНезаполненного = Ложь скрывает визуальную отметку, не делает данные заполненными. ТолькоПросмотр ограничивает редактор этой ячейки, не права пользователя.
Как проверить результат
При первоначально выбранной книге: шесть Истина; текст Осталось: 3. Для ручки — Осталось: 1.
Итог Количество остаётся 4. При перерисовке оформление может пересчитаться.
Ожидаемый результат
Показано понятное представление числа с проверкой неизменности исходных данных.
На что обратить внимание
Для устойчивого оформления используйте событие ПриВыводеСтроки; этот пример исследует оформление текущей строки.
Ограничение АвтоВысотаЯчейки для предопределённой таблицы Ганта здесь не применяется: это собственная таблица значений.
Гиперссылка выключена: обработчик Выбор и переходы в рабочие объекты не требуются.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.