Показать сообщение отдельно
Старый 29.07.2020, 21:23   #1  
RVS is offline
RVS
Сенбернар
Аватар для RVS
Злыдни
 
696 / 130 (6) +++++
Регистрация: 27.02.2003
Адрес: Королев МО
Альтернативный индикатор прогресса, или просто - фигня какая-то
DAX2009.

Захотел порадовать пользователя - сделать на форме, с которой запускается класс-обработчик, "показометр" прогресса. Поскольку стандартный Аксин "прогресс" глюкав и любит виснуть, сделал следующее: на форме - строковое поле ProgressIndicator и метод типа

X++:
Description updateStrProgress(str _mode, int64 _current)
{
    Description     ret;
    ;

    ret = strfmt('%1 : строка %2', _mode, _current);

    ProgressIndicator.text(ret);
    ProgressIndicator.modified();

    return ret;
}
В вызываемом классе, соответственно:

X++:
   if (caller && formHasMethod(caller, identifierstr(updateStrProgress)))
            {
                line++;

                if (line mod 200 == 0)
                {
                    caller.updateStrProgress('Обновление данных', line);
                }
            }
Класс работает (на сервере, заливает себе данные в PriceDiscTable), метод формы вызывается, но... в поле-"индикаторе" пусто... до тех пор, пока работает класс.

По окончании его работы - отображается последнее сообщение.

Вопросы: что это за чудо, можно ли его побороть и если можно, то как?
__________________
Best Regards,
Roman