|
Вопрос по обновлении элемента управляемой формы | ☑ | ||
---|---|---|---|---|
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) а надо так
http://chel1c.ru/синхронные-асинхронные-методы-1с/ |
|||
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
|
В двух словах не расскажешь, лучше почитай https://its.1c.ru/db/v8std/content/2149184291/hdoc
|
|||
9
Mort
28.03.19
✎
11:56
|
Лучше в таких случаях использовать не декорацию, а поле формы с видом "Надпись".
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |