Как изменить высоту многострочного поля при редактировании текста?

1. fixin 4288 05.05.25 18:45 Сейчас в теме
При изменении меняю высоту текста, отображается нормально.
Хочу менять при редактировании. Попробовал вызывать из события Автоподбор, но если меняется высота, введенный текст сбрасывается. Это как-то можно победить?

&НаКлиенте
Процедура НаименованиеПриИзменении(Элемент)
	ОбновитьВысоту();
КонецПроцедуры

&НаКлиенте
Процедура ОписаниеПриИзменении(Элемент)     
	ОбновитьВысоту();
КонецПроцедуры    

&НаКлиенте
Процедура ОбновитьВысоту()            
	ОбновитьВысотуПоля("Наименование", Объект.Наименование);        
	ОбновитьВысотуПоля("Описание", Объект.Описание);
КонецПроцедуры    

&НаКлиенте
Процедура ОбновитьВысотуПоля(ИмяПоля, ТекстПоля)        
	К = 0.8;
	ЧС = СтрЧислоСтрок(ТекстПоля);
	ЧС = Мин(ЧС, 10);
	ЧС = Макс(ЧС, 1);
	БС_ЗадачиКС.ПрисвоитьБезопасно(Элементы[ИмяПоля].Высота, Окр(ЧС * К));
КонецПроцедуры

&НаКлиенте
Процедура ОписаниеАвтоПодбор(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка)
	//ОбновитьВысотуПоля("Описание", Текст);
КонецПроцедуры

&НаКлиенте
Процедура НаименованиеАвтоПодбор(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка)
	//ОбновитьВысотуПоля("Наименование", Текст);
КонецПроцедуры

Показать
Прикрепленные файлы:
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Vadim-SH 06.05.25 07:37 Сейчас в теме
(1) Может событие ИзменениеТекстаРедактирования подойдет?
Ну или восстановить текст после изменения размера?
3. fixin 4288 06.05.25 09:44 Сейчас в теме
(2) попробую изменение. Текст восстановить не вариант, потому что теряется позиция ввода.
4. user1936660 06.05.25 11:40 Сейчас в теме
(3)
попробую
Попробуй, что уж. Оба обработчика обладают одной и той же особенностью, описанной в синтакс-помощнике, который гении не читают.
5. fixin 4288 06.05.25 11:42 Сейчас в теме
6. user1936660 06.05.25 11:44 Сейчас в теме
(5) описанной в синтакс-помощнике
9. Sashares 33 06.05.25 17:21 Сейчас в теме
(6) Так он же его не читает. Интрига...
7. KirillHome 5 06.05.25 12:12 Сейчас в теме
(3) событие "ИзменениеТекстаРедактирования" - нормально работает, если у поля свойство "ОбновлениеТекстаРедактирования" установить, к примеру, в "Не использовать".
8. user1936660 06.05.25 14:33 Сейчас в теме
(7)
установить, к примеру
А объяснить причину - почему оно так себя ведет, сможешь?
10. KirillHome 5 06.05.25 17:35 Сейчас в теме
(8) Попробую угадать :)))

Далее - с ИТС
7.7.4.2. Обновление отображаемых данных
При работе с полем ввода следует помнить об особенности, связанной с изменением данных формы или ее (формы) структуры во время работы с данными поля ввода. Особенность заключается в нежелательном обновлении данных в поле ввода, которое происходит при выполнении следующих условий:

● В поле ввода находятся данные, которые не зафиксированы в реквизите формы, связанного с полем ввода. Например, при вводе текста.

● В это время срабатывает обработчик ожидания или внешнего события.

● В обработчике события изменяются данные формы или состав элементов формы.

В описанном случае текст, отображаемый полем ввода, будет заменен представлением тех данных, которые получены в данных формы после завершения контекстного вызова. Изменить такое поведение можно несколькими способами.

Свойство ОбновлениеТекстаРедактирования

Если в вышеописанной ситуации необходимо заблокировать изменение только одного (или небольшого количества) поля ввода, то такую блокировку можно установить с помощью свойства поля ввода ОбновлениеТекстаРедактирования. Если установить это свойство в значение ПриИзмененииЗначения, то содержимое поля ввода будет обновляться только в том случае, когда в связанный реквизит формы будет помещено значение, отличающееся от текущего значения реквизита. Если свойство ОбновлениеТекстаРедактирования поля ввода установить в значение Никогда, то текст в поле ввода не будет изменяться даже при изменении значения связанного реквизита.
Показать
11. user1936660 06.05.25 22:25 Сейчас в теме
(10)
угадать
Направление верное, в этом наборе выражений даже присутствуют оба слова, описывающих изначальную причину. Однако, для полного устранения проблемы формы, изменять один из аспектов поведения отдельного поля ввода недостаточно. Необходимо обходить источник возникновения проблемы. Думай дальше.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот