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