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