|
|
Вопрос по обновлении элемента управляемой формы |
☑ |
|
0
AceVi
28.03.19
✎
10:10
|
Я в курсе что при изменении данных реквизитов формы ее надо обновить.
НО, вот нюанс:
на форме есть декорация(надпись) - у ней заголовок. этот заголовок меняется внутри процедуры выбора файла
. и пока процедура не завершена - заголовок не меняеться. при этом если на форме есть декорация (картинка) то в этом же коде меняем картинку и она меняеться прям в момент выполнения кода.
Вывод - декорация картинка меняеться сразу как выполняем код , а декорация надпись только по окончании всей процедуры.
Это так? я прав или нет? и как верно выполнить изменяющийся текст\картинку на форме при нужных действиях, а в нашем случае во время действия(во время выбора файла).
|
|
|
1
oslokot
28.03.19
✎
10:14
|
Как выбирается файл, асинхронно? Тогда все действия производить в процедуре завершения выбора
|
|
|
2
AceVi
28.03.19
✎
10:24
|
(1) Вот так
ЭтаФорма.Элементы.КартинкаЗагрузка.Картинка = библиотекакартинок.Удалить;
ЭтаФорма.Элементы.НадписьИнфо.Заголовок = "Файл не загружен";
ЭтаФорма.ОбновитьОтображениеДанных(ЭтаФорма.Элементы.НадписьИнфо);
ДиалогОткрытияФайла = Новый ДиалогВыбораФайла( РежимДиалогаВыбораФайла.Открытие );
ДиалогОткрытияФайла.ПолноеИмяФайла = "";
ДиалогОткрытияФайла.Заголовок = "Выберите файл";
Фильтр = "Microsoft Excel 97/2000/XP(*.xls;*.xlsx)|*.xls;*.xlsx";
ДиалогОткрытияФайла.Фильтр = Фильтр;
Если ДиалогОткрытияФайла.Выбрать() Тогда
ПутьКФайлу = ДиалогОткрытияФайла.ПолноеИмяФайла;
Загрузить(ПутьКФайлу);
КонецЕсли;
Как видим загрузка файла происходит сразу. надпись(ЭтаФорма.Элементы.НадписьИнфо.Заголовок) обновиться только после завершении процедуры Загрузить.
|
|
|
3
oslokot
28.03.19
✎
10:30
|
Вместо Загрузить()
ЭтаФорма.Элементы.НадписьИнфо.Заголовок = "файл еще грузится"
ПодключитьОбработчикОжидания("Загрузить",0.1, Истина)
|
|
|
4
Rovan
гуру
28.03.19
✎
10:33
|
(2) а надо так
|
|
|
5
AceVi
28.03.19
✎
10:49
|
(3) так работает как надо, спасибо
(4) спасибо, я читал, просто везде "говорят" что асинхронные лучше не использовать - а то в тонком клиенте могут быть проблемы.
я даже встречал в ерп 2.0 в свое время в стандартной конфигурации, документ не проводился, было именно из-за асинхронного кода.
причину ошибки тогда так и не выяснил.
теперь для работы\загрузки файла использовать строго асинхронные методы?
|
|
|
6
oslokot
28.03.19
✎
11:00
|
Я бы длительной операцией все это обстряпал. А пока файл грузится крутится гифка-бублик
|
|
|
7
AceVi
28.03.19
✎
11:50
|
(6) А можешь подсказать как сделать? потому что файл действительно грузиться может и больше минуты.
|
|
|
8
oslokot
28.03.19
✎
11:53
|
В двух словах не расскажешь, лучше почитай
|
|
|
9
Mort
28.03.19
✎
11:56
|
Лучше в таких случаях использовать не декорацию, а поле формы с видом "Надпись".
|
|