При разработке управляемых форм в 1С часто возникает ситуация: для реквизита типа Строка включено свойство Многострочный режим = Да, однако на форме поле ввода все равно отображается маленьким и визуально занимает всего одну строку. Разберем по шагам, почему так происходит и как правильно настроить размеры элемента в конфигураторе и программном коде.
По умолчанию платформа 1С:Предприятие при включении свойства Многострочный режим сохраняет высоту элемента равной одной строке, если разработчик явно не указал иное или не настроил правила растягивания. Вместо того чтобы автоматически увеличивать высоту поля под объем текста, платформа просто добавляет вертикальную полосу прокрутки внутри однострочного элемента.
Рассмотрим основной и самый простой способ изменения визуального размера поля ввода непосредственно в панели свойств элемента формы:
Поле ввода.АвтоМаксимальнаяВысота и установим его в значение Ложь. Это снимет стандартное ограничение платформы на максимальный размер элемента.Высота укажем желаемое количество строк текста (например, установим значение 2, 3 или больше в зависимости от требований к интерфейсу).МаксимальнаяВысота равно 0.Проанализируем ситуацию, когда поле ввода находится внутри группы или страницы. Если родительские элементы заблокированы по высоте, поле ввода не сможет увеличиться, даже если задать значение свойства Высота.
РастягиватьПоВертикали в значение Да.РастягиватьПоВертикали должно быть установлено в Авто или Да, а свойство АвтоМаксимальнаяВысота — отключено (значение Ложь).Посмотрим на пример управления размерами элемента формы из кода. Настройку свойств поля можно выполнить динамически при открытии формы в обработчике ПриСозданииНаСервере:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
// Отключаем ограничение платформы по высоте
Элементы.ИмяПоляВвода.АвтоМаксимальнаяВысота = Ложь;
// Задаем явную высоту элемента в строках
Элементы.ИмяПоляВвода.Высота = 3;
// Разрешаем вертикальное растягивание
Элементы.ИмяПоляВвода.РастягиватьПоВертикали = Истина;
КонецПроцедуры
Если все свойства в конфигураторе установлены верно, но в режиме «1С:Предприятие» поле ввода по-прежнему остается маленьким, причиной могут быть сохраненные настройки интерфейса пользователя. Платформа запоминает персональные изменения формы, сделанные ранее, и превалирует над настройками из конфигуратора.
Для решения этой проблемы в пользовательском режиме открываем нужную форму, нажимаем кнопку Ещё в командной панели и выбираем пункт Установить стандартные настройки. После этого форма примет вид, полностью соответствующий текущим настройкам конфигуратора.