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