0
Double_Medved
08.01.16
✎
09:13
|
Добрый день!
Всех с праздниками!
Собственно есть длинная процедура, связанная с загрузкой данных, выполняющаяся в модуле обработки. Хочу приделать прогресс бар, чтобы пользователям было спокойнее, что типа не зависло. Можно и без него конечно, на техническую сторону вопроса он не повлияет, но я очень его хочу и я извращенец.
Итак, в модуле формы например перебирается 100 файлов и каждый пережевывается и загружается. Я хочу после каждого файла отсылать на форму типа + 1% на элемент формы индикатор.
Дело в том, что по-разному пробовал, не выходит! Причем отладчик заходит в форму обработки, заходит в процедуру ОбновлениеОтображения(), изменяет значение процентов, но по факту форма не обновляется! Повисают часы, пока выполняется код в модуле обработки, и только после его окончания форма обновляется (и код переходит уже опять в код формы) и там уже 100%! Ну неужели создатели 1с не учли такой важный момент???
Чую, что где-то одну строку добавить и все заработает! Каюсь, напихал в кот все что только можно чтобы обновлять форму, ничего не помогает!
Примерно так:
Процедура ВыполнитьОбмен()//В модуле формы
Форма=ЭтотОбъект.ПолучитьФорму("ФормаРегистрацииПродаж");
СписокФайлов=НайтиФайлы(Каталог,"*.xml");
Для каждого Стр из СписокФайлов цикл
Файл=Стр.ПолноеИмя;
Загрузка(Файл);
Счетчик = Счетчик + 1;
Форма.ЭлементыФормы.Индикатор1.Значение = Счетчик;
Форма.Обновить();
КонецЦикла;
Вопрос больше сакральный и риторический, знаю что можно переделать 100 раз вызывая сервер с клиента, но хотелось-бы узнать-таки сам принцип и возможность.
|
|