Тип: Шрифт. Содержит шрифт.
Полное описание, параметры и ограничения
Расширение дополнения элемента формы для отображения состояния просмотра.Шрифт (Form item addition extension for view status.Font)
Расширение дополнения элемента формы для отображения состояния просмотра (Form item addition extension for view status)
Шрифт (Font)
Не применяется в интерфейсе «Версия 8.5»
Доступен, начиная с версии 8.3.5.
Использование:
Чтение и запись.
Описание:
Тип: Шрифт.
Содержит шрифт.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент.
Изменение свойства на клиенте требует обращения к серверу.
Использование в версии:
Доступен, начиная с версии 8.3.5.
Использование в интерфейсе:
Не применяется в интерфейсе «Версия 8.5»
Методическая информация
Практические примеры
Разделить шрифт текста и заголовка состояния просмотра
Собственному автоматическому дополнению задаём два разных шрифта и цвет заголовка. Проверяем их описание и отдельно сохранность учебных данных.
Где и как запускать
Модуль новой управляемой формы учебной внешней обработки. Код содержит готовые процедуры с директивами; вставляйте на уровне модуля, не внутрь другого обработчика. Каждую задачу запускайте в отдельной копии формы.
Подготовка
В отдельной учебной базе 8.5.1.1343 создайте внешнюю обработку УчебноеСостояниеТаблицы с пустой управляемой основной формой. Используйте тонкий клиент Windows.
В свойствах формы → События назначьте ПриСозданииНаСервере. Полный код вставляйте на уровне модуля; каждую задачу выполняйте в отдельной копии формы.
Не добавляйте вручную реквизит Товары, колонки и кнопки: весь собственный набор создаётся кодом. Сохраните свою EPF и откройте её в учебной базе.
Две учебные строки — A-01 Книга, количество 3; B-02 Ручка, количество 1. Они существуют в памяти формы, а не в справочниках базы.
Элемент состояния не создаётся конструктором: таблица возвращает автоматически сформированное дополнение через ОтображениеСостоянияПросмотра.
После открытия введите Книга в строку поиска над таблицей, осмотрите состояние под таблицей, затем очистите поиск. Кнопка сравнивает исходную коллекцию независимо от фильтра отображения.
Запуск и вид в 1С не проверены. Урок не записывает базу и не устанавливает пользовательские настройки. Точный текст стандартного состояния зависит от клиента.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
НовыеРеквизиты = Новый Массив;
НовыеРеквизиты.Добавить(Новый РеквизитФормы("Товары", Новый ОписаниеТипов("ТаблицаЗначений")));
НовыеРеквизиты.Добавить(Новый РеквизитФормы("Код", Новый ОписаниеТипов("Строка"), "Товары", "Код"));
НовыеРеквизиты.Добавить(Новый РеквизитФормы("Наименование", Новый ОписаниеТипов("Строка"), "Товары", "Название"));
НовыеРеквизиты.Добавить(Новый РеквизитФормы("Количество", Новый ОписаниеТипов("Число",
Новый КвалификаторыЧисла(9, 0, ДопустимыйЗнак.Неотрицательный)), "Товары", "Количество"));
ЭтаФорма.ИзменитьРеквизиты(НовыеРеквизиты);
Данные = Новый ТаблицаЗначений;
Данные.Колонки.Добавить("Код", Новый ОписаниеТипов("Строка"));
Данные.Колонки.Добавить("Наименование", Новый ОписаниеТипов("Строка"));
Данные.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число",
Новый КвалификаторыЧисла(9, 0, ДопустимыйЗнак.Неотрицательный)));
СтрокаТовара = Данные.Добавить();
СтрокаТовара.Код = "A-01";
СтрокаТовара.Наименование = "Книга";
СтрокаТовара.Количество = 3;
СтрокаТовара = Данные.Добавить();
СтрокаТовара.Код = "B-02";
СтрокаТовара.Наименование = "Ручка";
СтрокаТовара.Количество = 1;
ЭтаФорма.ЗначениеВРеквизитФормы(Данные, "Товары");
Таблица = ЭтаФорма.Элементы.Добавить("ТаблицаТоваров", Тип("ТаблицаФормы"));
Таблица.ПутьКДанным = "Товары";
Таблица.Заголовок = "Учебные товары";
Таблица.Шапка = Истина;
Таблица.АвтоВводНезаполненного = Ложь;
Таблица.АвтоВводНовойСтроки = Ложь;
Для Каждого ИмяКолонки Из СтрРазделить("Код,Наименование,Количество", ",") Цикл
Колонка = Элементы.Добавить("Товары" + ИмяКолонки, Тип("ПолеФормы"), Таблица);
Колонка.Вид = ВидПоляФормы.ПолеВвода;
Колонка.ПутьКДанным = "Товары." + ИмяКолонки;
Колонка.Заголовок = ИмяКолонки;
КонецЦикла;
Таблица.ТолькоПросмотр = Истина;
Таблица.ПоложениеСтрокиПоиска = ПоложениеСтрокиПоиска.Верх;
Таблица.ПоложениеСостоянияПросмотра = ПоложениеСостоянияПросмотра.Низ;
Состояние = Таблица.ОтображениеСостоянияПросмотра;
Если Состояние = Неопределено Тогда
ВызватьИсключение "Учебная таблица не предоставила дополнение состояния просмотра";
КонецЕсли;
Состояние.Видимость = Истина;
Состояние.Шрифт = Новый Шрифт("Arial", 11, Ложь);
Состояние.ШрифтЗаголовка = Новый Шрифт("Arial", 12, Истина);
Состояние.ЦветТекста = Новый Цвет(25, 40, 55);
Состояние.ЦветТекстаЗаголовка = Новый Цвет(10, 45, 75);
КомандаДействия = ЭтаФорма.Команды.Добавить("УчебноеДействие");
КомандаДействия.Действие = "УчебноеДействие";
КомандаДействия.Заголовок = "Проверить исходные две строки";
КомандаДействия.Подсказка = "Действие только над данными учебной формы";
КомандаДействия.ИзменяетСохраняемыеДанные = Ложь;
Кнопка = Элементы.Добавить("КнопкаУчебноеДействие", Тип("КнопкаФормы"));
Кнопка.ИмяКоманды = КомандаДействия.Имя;
Кнопка.Заголовок = КомандаДействия.Заголовок;
КонецПроцедуры
&НаКлиенте
Процедура УчебноеДействие(Команда)
Таблица = Элементы.ТаблицаТоваров;
Состояние = Таблица.ОтображениеСостоянияПросмотра;
Если Состояние = Неопределено Тогда
ВызватьИсключение "Дополнение состояния недоступно в этом клиенте";
КонецЕсли;
Сообщить(Товары.Количество() = 2);
Сообщить(Товары.Итог("Количество") = 4);
Сообщить(Товары[0].Наименование = "Книга" И Товары[0].Количество = 3);
Сообщить(Товары[1].Наименование = "Ручка" И Товары[1].Количество = 1);
Сообщить("Состояние UI: " + Состояние.Имя);
Сообщить(Состояние.Шрифт.Размер = 11 И Не Состояние.Шрифт.Полужирный);
Сообщить(Состояние.ШрифтЗаголовка.Размер = 12 И Состояние.ШрифтЗаголовка.Полужирный);
КонецПроцедуры
Разбор по шагам
Сначала создаётся таблица, затем из её свойства читается настоящее дополнение состояния просмотра.
Для основного текста создаём обычный Arial 11, для заголовка — полужирный Arial 12. Значения Шрифт присваиваются целиком.
ЦветТекста и ЦветТекстаЗаголовка относятся к разным частям дополнения; они не меняют наименования двух товаров.
Выполните собственный поиск по Книга и очистите его. Если выбранный клиент не показывает заголовок в данном состоянии, не считайте заданный шрифт доказательством его видимости.
Кнопка подтверждает описание обоих шрифтов и исходные две строки. Проверка описания объекта не является автоматической визуальной проверкой.
Как проверить результат
Ожидаются шесть Истина до и после поиска. Исходные количества остаются 3 и 1, сумма 4.
Осмотрите читаемость текста состояния в своём клиенте. Arial должен быть доступен на машине; при подстановке другого шрифта геометрия может отличаться.
Ожидаемый результат
Разные части настоящего дополнения получают собственные шрифты, не влияя на набор данных таблицы.
На что обратить внимание
Не присваивайте Состояние.Шрифт.Размер: свойства значения Шрифт неизменяемые; используйте новый Шрифт.
Размещение заголовка и стандартные подписи состояния определяются платформой и клиентом, не этим расчётом.
Методы НажатьНаЭлементСостоянияПросмотра и УдалитьЭлементСостоянияПросмотра относятся к тестируемому дополнению автоматизации, а не этому объекту.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.