Тип: ОтображениеГиперссылкиЯчейки. Определяет, будет ли отображаться гиперссылка в ячейке таблицы. Значение по умолчанию - Авто.
Полное описание, параметры и ограничения
ПолеФормы.ОтображениеГиперссылкиЯчейки (FormField.CellHyperlinkRepresentation)
ПолеФормы (FormField)
ОтображениеГиперссылкиЯчейки (CellHyperlinkRepresentation)
Доступен, начиная с версии 8.5.1.
Использование:
Чтение и запись.
Описание:
Тип: ОтображениеГиперссылкиЯчейки.
Определяет, будет ли отображаться гиперссылка в ячейке таблицы.
Значение по умолчанию - Авто.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Примечание:
Если установлено значение Авто, поведение зависит от интерфейса и может быть переопределено через свойство таблицы ОтображениеГиперссылокЯчеек.
Использование в версии:
Доступен, начиная с версии 8.5.1.
Методическая информация
Практические примеры
Показывать ссылку названия всегда или при наведении на строку
В собственной таблице включаем современное ОтображениеГиперссылкиЯчейки.Отображать и отдельно меняем ВариантОтображенияГиперссылкиЯчейки. Событие Выбор читает строку из локального реквизита и показывает карточку внутри той же формы.
Где и как запускать
Полный модуль общей управляемой формы УчебныеЯчейкиТаблицы85. Собственный пустой стенд 8.5.1.1343, интерфейс Версия 8.5, тонкий или толстый клиент Windows. Три строки ТаблицаЗначений представлены данными формы; заполнение и связывание события на сервере, выбор и режим ссылки на клиенте.
Подготовка
Создайте отдельную новую пустую учебную базу платформы 8.5.1.1343. Имя конфигурации в корне дерева — УчебнаяКонфигурацияЯчеек85, язык встроенного языка Русский, ОсновнойРежимЗапуска=УправляемоеПриложение, режим совместимости Не использовать.
В свойствах корня конфигурации задайте РежимСовместимостиИнтерфейса=Версия8_5. Это точное имя метаданных и значение нативного перечисления, а не свойство ОсновнойИнтерфейс. У значения Версия8_5 пользовательское переключение режима недоступно. Обновите только свой учебный стенд и запустите тонкий или толстый управляемый клиент Windows.
В Общие → Общие формы создайте управляемую форму УчебныеЯчейкиТаблицы85. Для каждого урока используйте отдельную копию формы или отдельный пустой стенд и только полный модуль выбранного урока. Не объединяйте модули двух уроков.
В форме создайте реквизит Книги с типом ТаблицаЗначений. Под ним создайте колонки Название типа Строка длиной 100, Количество типа Число длиной 6 с точностью 0, Статус типа Строка длиной 50. Эти имена обязательно совпадают с кодом. Таблица не связана со справочниками, документами, регистрами или внешними данными.
Перетащите Книги на форму как таблицу с тремя колонками. Саму таблицу назовите ТаблицаКниг, ПутьКДанным=Книги. Имена её полей-колонок задайте КнигиНазвание, КнигиКоличество, КнигиСтатус; пути соответственно Книги.Название, Книги.Количество, Книги.Статус. Заголовки — Название, Количество, Статус.
Создайте строковый реквизит СостояниеУрока длиной 300 и поле ввода ПолеСостоянияУрока с ПутьКДанным=СостояниеУрока, ТолькоПросмотр=Истина. АвтоматическоеСохранениеДанныхВНастройках формы оставьте НеИспользовать. На форме только локальные несохраняемые учебные данные.
Событие ПриСозданииНаСервере назначьте одноимённой процедуре полного модуля. Сервер создаёт в реквизите формы ровно три строки: Книга/3/Доступно, Тетрадь/4/Проверить, Блокнот/0/Ожидается. Пользователь не должен вводить или загружать строки: таблица переводится в ТолькоПросмотр и МножественныйВыбор=Ложь.
Для запуска создайте общую команду ОткрытьУчебныеЯчейки85 без параметра и включите её в командный интерфейс собственной учебной подсистемы УчебныеЯчейки85. Полный модуль команды:
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
ОткрытьФорму("ОбщаяФорма.УчебныеЯчейкиТаблицы85");
КонецПроцедуры
Разрешите эти собственные метаданные в учебной роли и выполните команду в своём учебном разделе.Код только читает активный интерфейс через ТекущийВариантИнтерфейсаКлиентскогоПриложения() и отказывается от опыта при другом варианте. Он не изменяет настройки интерфейса текущего сеанса, пользователя или рабочей базы.
Запуск в 1С не выполнялся. Нативная сверка типов, сигнатур, перечислений и контекстов — статическая проверка. Видимые ссылки, наведение, круги и овалы требуют ручного выполнения на указанном стенде с его активной темой и масштабом.
Создайте в форме строковый реквизит КарточкаКниги длиной 300 и поле ПолеКарточкиКниги с ПутьКДанным=КарточкаКниги, ТолькоПросмотр=Истина. Оно выводит только название, количество и статус выбранной строки локальной таблицы.
Создайте команду ПереключитьПоказСсылки, действие — одноимённая клиентская процедура, ИзменяетСохраняемыеДанные=Ложь. Разместите её кнопку с заголовком Переключить показ ссылки. Другие команды этого урока не нужны.
Событие Выбор таблицы вручную не назначайте второму обработчику: ПриСозданииНаСервере устанавливает его через УстановитьДействие("Выбор", "ПоказатьКарточкуПоВыбору"). Колонке Название явно назначается singular ОтображениеГиперссылкиЯчейки.Отображать; plural свойство таблицы ОтображениеГиперссылокЯчеек код не меняет.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если ТекущийВариантИнтерфейсаКлиентскогоПриложения() <> ВариантИнтерфейсаКлиентскогоПриложения.Версия8_5 Тогда
ВызватьИсключение "Урок требует интерфейс Версия 8.5; настройте свой учебный стенд";
КонецЕсли;
ЭтаФорма.Книги.Очистить();
ДобавитьСвоюКнигу("Книга", 3, "Доступно");
ДобавитьСвоюКнигу("Тетрадь", 4, "Проверить");
ДобавитьСвоюКнигу("Блокнот", 0, "Ожидается");
Элементы.ТаблицаКниг.ТолькоПросмотр = Истина;
Элементы.ТаблицаКниг.МножественныйВыбор = Ложь;
Элементы.КнигиНазвание.ОтображениеГиперссылкиЯчейки = ОтображениеГиперссылкиЯчейки.Отображать;
Элементы.КнигиНазвание.ВариантОтображенияГиперссылкиЯчейки = ВариантОтображенияГиперссылкиЯчейки.Всегда;
Элементы.ТаблицаКниг.УстановитьДействие("Выбор", "ПоказатьКарточкуПоВыбору");
ЭтаФорма.КарточкаКниги = "";
ЭтаФорма.СостояниеУрока = "Ссылка названия: всегда. Выберите название клавишей Enter или двойным щелчком";
КонецПроцедуры
&НаСервере
Процедура ДобавитьСвоюКнигу(Знач Название, Знач Количество, Знач Статус)
НоваяКнига = ЭтаФорма.Книги.Добавить();
НоваяКнига.Название = Название;
НоваяКнига.Количество = Количество;
НоваяКнига.Статус = Статус;
КонецПроцедуры
&НаКлиенте
Процедура ПереключитьПоказСсылки(Команда)
ДоПереключения = СигнатураСвоихКниг();
Если Элементы.КнигиНазвание.ВариантОтображенияГиперссылкиЯчейки = ВариантОтображенияГиперссылкиЯчейки.Всегда Тогда
Элементы.КнигиНазвание.ВариантОтображенияГиперссылкиЯчейки = ВариантОтображенияГиперссылкиЯчейки.ПриНаведенииНаСтроку;
ЭтаФорма.СостояниеУрока = "Ссылка названия: при наведении на строку";
Иначе
Элементы.КнигиНазвание.ВариантОтображенияГиперссылкиЯчейки = ВариантОтображенияГиперссылкиЯчейки.Всегда;
ЭтаФорма.СостояниеУрока = "Ссылка названия: всегда";
КонецЕсли;
Если СигнатураСвоихКниг() <> ДоПереключения Тогда
ВызватьИсключение "Переключение вида ссылки изменило локальные данные";
КонецЕсли;
ЭтаФорма.СостояниеУрока = ЭтаФорма.СостояниеУрока + ". Значения трёх книг не изменились";
КонецПроцедуры
&НаКлиенте
Процедура ПоказатьКарточкуПоВыбору(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Если Поле <> Элементы.КнигиНазвание Тогда
Возврат;
КонецЕсли;
Если ВыбраннаяСтрока = Неопределено Тогда
ЭтаФорма.КарточкаКниги = "Нет собственной выбранной строки";
Возврат;
КонецЕсли;
Книга = Элемент.ДанныеСтроки(ВыбраннаяСтрока);
Если Книга = Неопределено Тогда
ЭтаФорма.КарточкаКниги = "Данные собственной строки недоступны";
Возврат;
КонецЕсли;
Если ТипЗнч(Книга) <> Тип("ДанныеФормыЭлементКоллекции") Тогда
ВызватьИсключение "В таблице должны быть собственные строки реквизита Книги";
КонецЕсли;
ЭтаФорма.КарточкаКниги = СтрШаблон("%1. Количество: %2. Статус: %3", Книга.Название, Книга.Количество, Книга.Статус);
КонецПроцедуры
&НаКлиенте
Функция СигнатураСвоихКниг()
Значения = Новый Массив;
Для Каждого Книга Из ЭтаФорма.Книги Цикл
Значения.Добавить(СтрШаблон("%1=%2=%3", Книга.Название, Книга.Количество, Книга.Статус));
КонецЦикла;
Возврат СтрСоединить(Значения, ";");
КонецФункции
Разбор по шагам
Откройте собственную форму. Сервер проверяет имя стенда и текущий интерфейс Версия8_5, создаёт три локальные строки и делает таблицу доступной только для просмотра.
У колонки КнигиНазвание задаётся ОтображениеГиперссылкиЯчейки=Отображать. Это наличие ссылки. ВариантОтображенияГиперссылкиЯчейки=Всегда отвечает за то, в каком состоянии строки она видна; два перечисления имеют разные имена и назначение.
В начальном состоянии название должно выглядеть как ссылка независимо от положения курсора. Зафиксируйте наблюдение на активной теме своего клиента; статический тест не подтверждает внешний вид.
Нажмите Переключить показ ссылки. Теперь ПриНаведенииНаСтроку: выведите курсор из таблицы, затем наведите на каждую строку. Сравните отображение названия до наведения и на наведённой строке.
Установите активную ячейку Название у Тетрадь и нажмите Enter либо выполните двойной щелчок. Эти действия вызывают событие Выбор по нативному описанию таблицы. Одиночный щелчок по визуальной ссылке проверяйте отдельно: урок не приписывает новому свойству гарантию такого события.
Поле события должно быть именно КнигиНазвание. ВыбраннаяСтрока передаётся в Элемент.ДанныеСтроки без предположения о числовом индексе или типе ключа. После проверки Неопределено и типа строки карточка получает данные Тетрадь/4/Проверить.
Повторите выбор названия Блокнот: карточка должна показать количество 0 и Ожидается. Выбор в колонке Количество или Статус пропускается; предыдущая карточка сохраняется.
Переключите показ обратно на Всегда. В обеих командах сравниваются сигнатуры трёх строк до и после изменения свойства; текст состояния сообщает сохранность значений только после этого сравнения. Закройте свою форму после опыта.
Как проверить результат
При Enter/двойном щелчке на названии Тетрадь: Тетрадь. Количество: 4. Статус: Проверить. Для Блокнот: Блокнот. Количество: 0. Статус: Ожидается. Никакой навигационный URL, документ или другая форма не открываются.
После переключения СостояниеУрока показывает соответствующий режим и фразу Значения трёх книг не изменились. Количество строк и значения Книга/3, Тетрадь/4, Блокнот/0 остаются прежними.
Ручная визуальная проверка различает Всегда и ПриНаведенииНаСтроку на активном интерфейсе Версия 8.5. Если вид не меняется, зафиксируйте результат, тему и режим; успех статических тестов не заменяет эту проверку.
Ожидаемый результат
Наличие гиперссылки колонки и её вид при наведении настроены разными современными свойствами. Выбор проходит документированный маршрут таблица → реальные данные локальной строки → собственная карточка в той же форме.
На что обратить внимание
ВариантОтображенияГиперссылкиЯчейки применяется только в интерфейсе Версия 8.5. Не выдавайте настройку свойства в другом интерфейсе за проверку его видимого эффекта.
ОтображениеГиперссылкиЯчейки — singular свойство поля с enum Авто/НеОтображать/Отображать. ОтображениеГиперссылокЯчеек — plural свойство таблицы с другим enum. Его Авто для обычной локальной таблицы трактуется как НеОтображать; здесь колонка получает явное Отображать.
ГиперссылкаЯчейки не рекомендуется с 8.5.1. Урок использует современное свойство ОтображениеГиперссылкиЯчейки и не смешивает его с историческим булевым флагом.
Нативное описание Выбор гарантирует событие при Enter/двойном щелчке. ВариантОтображенияГиперссылкиЯчейки описывает вид ссылки, не произвольную команду или переход в интернет. Поведение одиночного щелчка требует отдельного ручного наблюдения.
ДанныеСтроки доступен на клиенте, а УстановитьДействие таблицы — на сервере. Идентификатор ВыбраннаяСтрока не равен номеру строки массива; код не передаёт его в Получить(индекс).
СтандартнаяОбработка=Ложь не отменяет уже возникшее действие события; она отключает стандартную обработку, чтобы пример не пытался редактировать локальные данные. Видимый результат и срабатывание UI требуют собственного запуска в 1С.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Добавить понятную подсказку и отключить ссылки ячеек
Кнопка подсказки объясняет происхождение двух собственных строк. Настройка ссылок таблицы действует на колонки с режимом Авто, но не является обработчиком открытия карточки.
Где и как запускать
Модуль новой управляемой формы учебной внешней обработки. Код содержит готовые процедуры с директивами; вставляйте на уровне модуля, не внутрь другого обработчика. Каждую задачу запускайте в отдельной копии формы.
Подготовка
В учебной базе: Файл → Новый → Внешняя обработка. Создайте управляемую форму и назначьте её основной. Дайте обработке имя УчебнаяТаблица.
Не добавляйте вручную реквизит Товары и одноимённые элементы: код создаст их при открытии. Модуль формы для этой задачи должен быть пустым.
В свойствах формы → События свяжите ПриСозданииНаСервере с одноимённой процедурой. Сохраните отдельную учебную EPF и откройте через Файл → Открыть.
Данные Книга/Ручка создаются в памяти формы. Справочники, документы и регистры вашей конфигурации не читаются и не записываются.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
НовыеРеквизиты = Новый Массив;
НовыеРеквизиты.Добавить(Новый РеквизитФормы("Товары", Новый ОписаниеТипов("ТаблицаЗначений")));
НовыеРеквизиты.Добавить(Новый РеквизитФормы("Код", Новый ОписаниеТипов("Строка"), "Товары", "Код"));
НовыеРеквизиты.Добавить(Новый РеквизитФормы("Наименование", Новый ОписаниеТипов("Строка"), "Товары", "Название"));
НовыеРеквизиты.Добавить(Новый РеквизитФормы("Количество", Новый ОписаниеТипов("Число",
Новый КвалификаторыЧисла(9, 0, ДопустимыйЗнак.Неотрицательный)), "Товары", "Количество"));
ЭтаФорма.ИзменитьРеквизиты(НовыеРеквизиты);
Данные = Новый ТаблицаЗначений;
Данные.Колонки.Добавить("Код", Новый ОписаниеТипов("Строка"));
Данные.Колонки.Добавить("Наименование", Новый ОписаниеТипов("Строка"));
Данные.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число",
Новый КвалификаторыЧисла(9, 0, ДопустимыйЗнак.Неотрицательный)));
СтрокаТовара = Данные.Добавить();
СтрокаТовара.Код = "A-01";
СтрокаТовара.Наименование = "Книга";
СтрокаТовара.Количество = 3;
СтрокаТовара = Данные.Добавить();
СтрокаТовара.Код = "B-02";
СтрокаТовара.Наименование = "Ручка";
СтрокаТовара.Количество = 1;
ЭтаФорма.ЗначениеВРеквизитФормы(Данные, "Товары");
Таблица = ЭтаФорма.Элементы.Добавить("ТаблицаТоваров", Тип("ТаблицаФормы"));
Таблица.ПутьКДанным = "Товары";
Таблица.Заголовок = "Учебные товары";
Таблица.Шапка = Истина;
Таблица.АвтоВводНезаполненного = Ложь;
Таблица.АвтоВводНовойСтроки = Ложь;
Для Каждого ИмяКолонки Из СтрРазделить("Код,Наименование,Количество", ",") Цикл
Колонка = Элементы.Добавить("Товары" + ИмяКолонки, Тип("ПолеФормы"), Таблица);
Колонка.Вид = ВидПоляФормы.ПолеВвода;
Колонка.ПутьКДанным = "Товары." + ИмяКолонки;
Колонка.Заголовок = ИмяКолонки;
КонецЦикла;
Таблица.Подсказка = "Книга и ручка созданы в памяти учебной формы";
Таблица.ОтображениеПодсказки = ОтображениеПодсказки.Кнопка;
Расширенная = Таблица.РасширеннаяПодсказка;
Если Расширенная = Неопределено Тогда
ВызватьИсключение "Не получено описание собственной расширенной подсказки";
КонецЕсли;
Расширенная.Заголовок = "Данные не читаются из справочника: A-01 — Книга, 3; B-02 — Ручка, 1. Изменения относятся только к открытой учебной форме.";
Таблица.ОтображениеГиперссылокЯчеек = ОтображениеГиперссылокЯчеек.НеОтображать;
Элементы.ТоварыНаименование.ОтображениеГиперссылкиЯчейки = ОтображениеГиперссылкиЯчейки.Авто;
Сообщить(Таблица.ОтображениеПодсказки = ОтображениеПодсказки.Кнопка);
Сообщить(Таблица.ОтображениеГиперссылокЯчеек = ОтображениеГиперссылокЯчеек.НеОтображать);
Сообщить(Элементы.ТоварыНаименование.ОтображениеГиперссылкиЯчейки = ОтображениеГиперссылкиЯчейки.Авто);
Сообщить(СтрНайти(Расширенная.Заголовок, "Данные не читаются из справочника") = 1);
КонецПроцедуры
Разбор по шагам
Обычная Подсказка содержит короткое объяснение, РасширеннаяПодсказка — отдельное описание декорации.
РасширеннаяПодсказка readonly как ссылка на описание: не присваиваем новый объект таблице. Меняем разрешённый Заголовок существующего описания.
ОтображениеПодсказки=Кнопка выбирает способ показа; внешний вид зависит от интерфейса клиента.
ОтображениеГиперссылокЯчеек и ОтображениеГиперссылкиЯчейки — разные перечисления таблицы и конкретной колонки.
Колонка наименования имеет Авто, поэтому таблица НеОтображать управляет её отображением. Данные остаются строками, не ссылками справочника.
Как проверить результат
Четыре сравнения Истина.
После открытия найдите кнопку подсказки и проверьте текст. Названия книги и ручки не должны превращаться в автоматические ссылки карточек этим кодом.
Ожидаемый результат
Подготовлена осмысленная подсказка и разобрано наследование режима ссылок ячеек.
На что обратить внимание
В другой колонке явный режим вместо Авто может иметь собственное поведение.
Настройка гиперссылочного вида не создаёт код открытия объекта или запрос к справочнику.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.