|
Почему не работает ОбновитьОтображениеДанных() на УФ? |
☑ |
0
ШангриЛа
08.06.13
✎
23:03
|
В обработке в форме написан код:
Реквизит1 - поле выбора элемента справочника. Меняется наименование элемента, в форме в поле выбора остается прежнее наименование.
&НаКлиенте
Процедура ЗаписатьПроверивБлокировку(Команда)
ЗаписатьПроверивБлокировкуНаСерере();
Элементы.Реквизит1.ОбновитьТекстРедактирования();
ЭтаФорма.ОбновитьОтображениеДанных();
КонецПроцедуры
Процедура ЗаписатьПроверивБлокировкуНаСерере()
ОтчетОбъект = РеквизитФормыВЗначение("Объект");
ОтчетОбъект.ИзменитьПроверка(Объект.Реквизит1);
ЗначениеВРеквизитФормы(ОтчетОбъект,"Объект");
КонецПроцедуры
В модуле объекта:
Процедура ИзменитьПроверка(Ссылка) Экспорт
Элементбъект = Ссылка.ПолучитьОбъект();
Если Элементбъект.Заблокирован() Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Поле = "Реквизит1";
Сообщение.УстановитьДанные(ЭтотОбъект);
Сообщение.Сообщить();
Иначе
Элементбъект.Наименование = НовоеНаименование;
Элементбъект.Записать();
КонецЕсли;
КонецПроцедуры
|
|
1
ШангриЛа
08.06.13
✎
23:04
|
УправляемаяФорма.ОбновитьОтображениеДанных (ManagedForm.RefreshDataRepresentation)
УправляемаяФорма (ManagedForm)
ОбновитьОтображениеДанных (RefreshDataRepresentation)
Синтаксис:
ОбновитьОтображениеДанных()
Описание:
В принудительном порядке обновляет содержание элементов управления.
Полезен при изменении значений реквизитов формы вне формы, в тот момент, когда форма отображается на экране.
Доступность:
Тонкий клиент, веб-клиент, толстый клиент.
Примечание:
В веб-клиенте обновление элементов управления происходит не сразу, а после окончания выполнения кода на встроенном языке.
|
|
2
ШангриЛа
08.06.13
✎
23:08
|
Вот так надо
&НаКлиенте
Процедура ЗаписатьПроверивБлокировку(Команда)
ЗаписатьПроверивБлокировкуНаСерере();
ОтобразитьИзменениеДанных(Объект.Реквизит1,ВидИзмененияДанных.Изменение);
КонецПроцедуры
|
|
3
Dethmont
09.06.13
✎
00:08
|
Или
&НаКлиенте
Процедура ЗаписатьПроверивБлокировку(Команда)
ЗаписатьПроверивБлокировкуНаСерере();
ЭтаФорма.Прочитать();
КонецПроцедуры
Процедура ЗаписатьПроверивБлокировкуНаСерере()
ОтчетОбъект = РеквизитФормыВЗначение("Объект");
ОтчетОбъект.ИзменитьПроверка(Объект.Реквизит1);
ЗначениеВРеквизитФормы(ОтчетОбъект,"Объект");
КонецПроцедуры
|
|
4
Мимохожий Однако
09.06.13
✎
09:12
|
Попробуй не использовать в названии реквизита "Объект"
|
|