0
mvlad
29.05.14
✎
18:37
|
Есть реквизит формы ФИО строкового типа.
На форме имеется поле ввода ФИО, которое связано с этим реквизитом.
У этого поля ввода описан обработчик события ПриИзменении()
Когда вручную я меняю на форме текст в этом поле, то обработчик ПриИзменении() отрабатывает нормально.
А вот когда я программно меняю сам реквизит и хочу, чтобы отработал обработчик ПриИзменении(), то он при обработке не видит моего нового текста.
Код такой:
&НаКлиенте
Процедура ФИОПриИзменении(Элемент)
НекийОбщийМодуль.ОбработатьФИО(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура МеняемФИО()
ФИО = "новое значение"; // меняю реквизит формы
ФИОПриИзменении(Элементы.ФИО); // вызываю обработчик
КонецПроцедуры
Суть проблемы в том, что у элемента формы ФИО есть поле ТекстРедактирования, в котором хранится значение самого текста реквизита и которое НЕ меняется, когда я программно меняю реквизит формы, связанный с этим элементом. А при вызове:
НекийОбщийМодуль.ОбработатьФИО(Элемент);
передается именно элемент, а не реквизит и там внутри этой процедуры берется значение Элемент.ТекстРедактирования.
Как же всё-таки программно изменить это злополучное поле ТекстРедактирования?
|
|