Показать сообщение отдельно
Старый 22.10.2010, 13:07   #4  
kornix is offline
kornix
MCP
MCBMSS
Злыдни
Ex AND Project
 
414 / 146 (5) +++++
Регистрация: 24.02.2009
Адрес: Санкт-Петербург
Цитата:
Сообщение от IKA Посмотреть сообщение
В AOT-е только 3 стандартных отчета, использующих progress bar(ax2009). Почему в отчетах не делают progress bar-ов? Предполагается, что вся логика выполняется в классе, где собственно и должен быть градусник, а отчет сам по себе быстро выводит данные, поэтому progress тут не нужен?(хотя, это далеко не всегда так)
Мне кажется тут все дело в архитектуре: чтобы создать программную обработку для Report нужно создать класс-наследник от RunBaseReport, который наследник RunBaseBatch'а:
X++:
public abstract class RunBaseReport extends RunBaseBatch
{
    SysReportRun        reportRun;
    SysQueryRun         queryRun;
    Args                callerArgs;
    ...
}
RunBaseBatch наследник от RunBase:
X++:
public abstract class RunBaseBatch extends RunBase implements Batchable
а у RunBase в classDeclaration уже есть progress:
X++:
public abstract class Runbase extends Object implements SysSaveable, SysRunable
{
    boolean                 getLastCalled;
    boolean                 inGetSaveLast;
    boolean                 inCheckClose;
    boolean                 inPrompt;
    boolean                 isSwappedFromServer;
    boolean                 dialogCanceled;
    boolean                 inPromptUnpack;

    RunBaseDialogModify     dialogModify;
    RunbaseProgress         progress;

    SysSign                 sysSign;

    #macrolib.AviFiles

#if.never
    #define.CurrentVersion(1)
    #define.version1(1)
    #localmacro.CurrentList
    #endmacro
#endif
}
Наверно разработчики стремятся не создавать каждый раз новый progressBar и новый код для него, а стремятся использовать тот, который уже есть в RunBase. Если я правильно понимаю, его неудобно вызывать из самого Report'а, поэтому его вызывают из классов Если я не прав - поправьте меня, я могу заблуждаться, но мне кажется все дело именно в этом