ОформлениеЯчейки.Гиперссылка

Свойства · Hyperlink

Тип: Булево. Истина - отображает значение ячейки табличного поля как гиперссылку. При выборе ячейки с установленным свойством будет порождаться событие Выбор.

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

ОформлениеЯчейки.Гиперссылка (CellAppearance.Hyperlink)

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

Гиперссылка (Hyperlink)

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

Использование:
Чтение и запись.
Описание:
Тип: Булево.
Истина - отображает значение ячейки табличного поля как гиперссылку. При выборе ячейки с установленным свойством будет порождаться событие Выбор.
Доступность:

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

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

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

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

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

Выделить количество, не меняя данные товара

Вместо голого числа выводим понятный текст Осталось: 3. Данные своей книги остаются числом 3; оформление не становится способом записи связанной колонки.

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

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

Подготовка

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

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

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

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

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

Процедура ПроверитьОформлениеЯчейки(Элемент) Экспорт
    Таблица = ЭтаФорма.ЭлементыФормы.ТаблицаТоваров;
    Текущая = Таблица.ТекущаяСтрока;
    Если Текущая = Неопределено Тогда
        Сообщить("Сначала выберите свою книгу или ручку");
        Возврат;
    КонецЕсли;
    Оформление = Таблица.ОформлениеСтроки(Текущая);
    Если Оформление = Неопределено Тогда
        ВызватьИсключение "Не получено оформление собственной строки";
    КонецЕсли;
    Ячейка = Оформление.Ячейки["Количество"];
    ИсходноеКоличество = Оформление.ДанныеСтроки.Количество;
    Сообщить(Ячейка.Имя = "Количество");
    Сообщить(Ячейка.Значение = ИсходноеКоличество);
    Ячейка.Видимость = Истина;
    Ячейка.Выравнивание = ГоризонтальноеПоложение.Право;
    Ячейка.АвтоВысотаЯчейки = Истина;
    Ячейка.ВысотаЯчейки = 2;
    Ячейка.ТолькоПросмотр = Истина;
    Ячейка.ОтметкаНезаполненного = Ложь;
    Ячейка.Гиперссылка = Ложь;
    Ячейка.ЦветТекста = Новый Цвет(24, 40, 60);
    Ячейка.ЦветФона = Новый Цвет(235, 244, 255);
    Ячейка.Шрифт = Новый Шрифт(Ячейка.Шрифт, , 12, Истина);
    Ячейка.ОтображатьКартинку = Ложь;
    Ячейка.ОтображатьФлажок = Ложь;
    Ячейка.УстановитьТекст("Осталось: " + Строка(ИсходноеКоличество));
    Сообщить(Ячейка.ОтображатьТекст);
    Сообщить(Ячейка.Текст = "Осталось: " + Строка(ИсходноеКоличество));
    Сообщить(Оформление.ДанныеСтроки.Количество = ИсходноеКоличество);
    Сообщить(Товары.Итог("Количество") = 4);
КонецПроцедуры

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

  1. Ячейки индексируются именем существующей колонки. Количество создана в этом же модуле; Имя только читается.

  2. Значение только читаем: у связанной с данными колонки оно недоступно для записи. УстановитьТекст меняет представление, а не число в строке.

  3. УстановитьТекст автоматически включает ОтображатьТекст. Остальные каналы изображения выключены явно.

  4. АвтоВысотаЯчейки включает расчёт высоты; ВысотаЯчейки = 2 ограничивает её двумя строками текста, не двумя пикселями.

  5. ОтметкаНезаполненного = Ложь скрывает визуальную отметку, не делает данные заполненными. ТолькоПросмотр ограничивает редактор этой ячейки, не права пользователя.

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

  1. При первоначально выбранной книге: шесть Истина; текст Осталось: 3. Для ручки — Осталось: 1.

  2. Итог Количество остаётся 4. При перерисовке оформление может пересчитаться.

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

Показано понятное представление числа с проверкой неизменности исходных данных.

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

  1. Для устойчивого оформления используйте событие ПриВыводеСтроки; этот пример исследует оформление текущей строки.

  2. Ограничение АвтоВысотаЯчейки для предопределённой таблицы Ганта здесь не применяется: это собственная таблица значений.

  3. Гиперссылка выключена: обработчик Выбор и переходы в рабочие объекты не требуются.

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

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

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

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

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