|
Обновить Текст | ☑ | ||
---|---|---|---|---|
0
nAPACEHAK
10.10.18
✎
13:56
|
Доброго
На форме есть реквизит1 тип мойсправочник и есть поле ввода. Поле1. Путь к данным - МойСправочник.МойТекст Если с формы выбираем - открыть Реквизит1, изменяем там МойТекст и сохраняем, то на форме как обновить данные Поле1? Если ИмяСобытия = "ЗаявкаИзменена" Тогда //ЭтаФорма.ОбновитьОтображениеДанных(); //ЭтаФорма.ОтобразитьИзменениеДанных(ЭтаФорма.Элементы.ТекстЗаявки, ВидИзмененияДанных.Изменение); //ЗначениеВДанныеФормы(Заявка, ЭтаФорма.Элементы.ТекстЗаявки); //ЭтаФорма.ОбновитьОтображениеДанных(); ЭтаФорма.Элементы.ТекстЗаявки.ОбновитьТекстРедактирования(); КонецЕсли; походу где то я заблудился. не обновляется Поле1 (( |
|||
1
Cyberhawk
10.10.18
✎
14:10
|
ОбновитьОтображениеДанных вроде только для самих реквизитов формы катит (т.е. для реквизитов "первого уровня")
|
|||
2
Cyberhawk
10.10.18
✎
14:10
|
Попробуй Прочитать()
|
|||
3
nAPACEHAK
10.10.18
✎
14:17
|
(2) в смысле в обработке оповещения ЭтаФорма.Прочитать ();
я так тоже пробовал {ВнешняяОбработка.ДСУ_ЗаявкаНаАвтомобиль.Форма.ФормаЗаявки.Форма(12)}: Метод объекта не обнаружен (Прочитать) ЭтаФорма.Прочитать (); |
|||
4
DrWatson
10.10.18
✎
14:18
|
Сделал кнопку. Там
ЭтаФорма.ОбновитьОтображениеДанных(); Всё работает. |
|||
5
nAPACEHAK
10.10.18
✎
14:29
|
(4) сделал кнопку
&НаКлиенте Процедура Команда1(Команда) ЭтаФорма.ОбновитьОтображениеДанных(); КонецПроцедуры всё работает Перенес в обработку оповещения &НаКлиенте Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник) Если ИмяСобытия = "ЗаявкаИзменена" Тогда ЭтаФорма.ОбновитьОтображениеДанных(); КонецЕсли; КонецПроцедуры Нифига не работает :( Хотя в обр.опов. по точке останова тормозится на обновить Где собака порылась? |
|||
6
Cool_Profi
10.10.18
✎
14:31
|
Попробуй через разовую обработку ожидания с задержкой на полсекунды
|
|||
7
nAPACEHAK
10.10.18
✎
14:33
|
блин. туплю (((
Оповестить () перед записью вызывалось |
|||
8
nAPACEHAK
10.10.18
✎
14:38
|
хотя нифига (((
|
|||
9
Cyberhawk
10.10.18
✎
14:47
|
(3) Основной реквизит формы есть?
|
|||
10
nAPACEHAK
10.10.18
✎
14:48
|
во. вроде победил. Пока задержку не поставил откуда то старые данные брались
&НаКлиенте Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник) Если ИмяСобытия = "ЗаявкаИзменена" Тогда ПодключитьОбработчикОжидания("ОбновитьДанныеНаФорме", 0.1, Истина); КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ОбновитьДанныеНаФорме() ЭтаФорма.ОбновитьОтображениеДанных(); КонецПроцедуры &НаКлиенте Процедура Команда1(Команда) ЭтаФорма.ОбновитьОтображениеДанных(); КонецПроцедуры Вот если без задержки а сразу - то данные не обновляются Только если честно так и не понял почему так. Может подскажет кто? |
|||
11
НЕА123
10.10.18
✎
14:50
|
Реквизит1 = Реквизит1
до обновить() |
|||
12
Cyberhawk
10.10.18
✎
14:59
|
С однократным обработчиком ожидания - это фича
|
|||
13
sitex
naïve
10.10.18
✎
15:08
|
(12) Что за фича такая ? поясните если не сложно.
|
|||
14
DrWatson
10.10.18
✎
15:10
|
(10) Ну, откуда он может брать эти данные. Их КЭШа, уж, наверное. Предполагаю, что пока они явно не придут с сервера, то так и будет использоваться строе значение.
Вот такой эксперимент: &НаКлиенте Процедура КомандаИзменитьПредставление(Команда) Сообщить(Реквизит1); ИзменитьПредставлениеНаСервере(Реквизит1); Сообщить(Реквизит1); КонецПроцедуры &НаСервереБезКонтекста Процедура ИзменитьПредставлениеНаСервере(СсылкаНаОбъект) Объект = СсылкаНаОбъект.ПолучитьОбъект(); Объект.Наименование = Объект.Наименование + "1"; Объект.Записать(); КонецПроцедуры Сколько раз не жми кнопку, сообщать будет всегда одно и тоже. Можно даже из обработки выйти, зайти - в поле формы и в сообщить будет старое значение. Только после явного перевыбора, оно поменяется. |
|||
15
Cool_Profi
10.10.18
✎
15:10
|
(13) Должно отдаться управление, чтобы оно передалось циклу обработки сообщений приложения.
Тут надо просто знать азы программирования в Windows |
|||
16
Cyberhawk
10.10.18
✎
15:20
|
(13) Когда какая-то неведомая куета происходит с формой на клиенте - не так как ожидаешь и вроде бы все должно быть нормально - то бывает полезно разбить исполнение клиенткого кода с помощью вот такого однократного обработчика ожидания
|
|||
17
sitex
naïve
10.10.18
✎
15:31
|
(15) Я просил более развернуто, если знаете. А не кому что надо знать и какие азы. такие происходит и не только в УФ но и на обычных формах, и было замечено даже в серверной части код, когда переменная уже должна быть с данными но их нет, а появляются только после секундной задержки.
|
|||
18
Cool_Profi
10.10.18
✎
15:33
|
(17) Для начала вот это прочитай
https://rsdn.org/article/baseserv/api32.xml |
|||
19
Cyberhawk
10.10.18
✎
15:37
|
(18) Послал так послал )
|
|||
20
sitex
naïve
10.10.18
✎
15:38
|
(18) Как это относиться к серверной части ? Клиентская часть меня не интересует.
|
|||
21
Cool_Profi
10.10.18
✎
15:39
|
(20) А что, на сервере системные сообщения обрабатывать уже не надо?
|
|||
22
sitex
naïve
10.10.18
✎
15:45
|
(21)К примеру я не передаю данные на форму. Они как появляются в серверной части кода , так там и остаются. Какие к примеру по вашему там системные сообщения обрабатываются?
|
|||
23
sitex
naïve
10.10.18
✎
15:50
|
(19) Было бы смешно если бы было не так грустно. Серверная часть стоит на linux-е.
|
|||
24
sitex
naïve
10.10.18
✎
16:09
|
Куда делись знатоки "системных сообщений" ?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |