Показать сообщение отдельно
Старый 14.12.2009, 12:45   #16  
SHiSHok is offline
SHiSHok
Участник
Аватар для SHiSHok
Дети Юза
 
219 / 103 (4) +++++
Регистрация: 28.07.2005
Адрес: Донецк
Цитата:
Сообщение от Андре Посмотреть сообщение
В KR2 был очень неприятный баг, когда пользователь ставил фильтры, добавлял новую запись и поставленные фильтры терялись.
Ради избавления от одного этого бага ряд клиентов стоило перевести на KR3.

баг-фичу можно поправить так:

\Classes\SysSetupFormRun\classDeclaration
X++:
public class SysSetupFormRun extends FormRun
{
    boolean     newRec; // SHiSHok.fix

#if.never
    #define.CurrentVersion(1)
    #localmacro.CurrentList
    #endmacro
#endif
}

\Classes\SysSetupFormRun\task
X++:
public int task(int _p1)
{
    #task
    FormDataSource formDataSource;

    int ret;

    if (_p1 == #taskFilter)
    {
        formDataSource = this.objectSet();
        if (formDataSource &&
            formDataSource.queryRun() &&
            formDataSource.queryRun().args() &&
            !formDataSource.queryRun().args().caller())
        {
            formDataSource.queryRun().args().caller(this);
        }
    }

// SHiSHok.fix -->
    if (_p1 == #taskNew)
        newRec=true;

    if (_p1 == #taskRemoveFilter && newRec)
    {
        newRec=false;
        return 1;
    }
// SHiSHok.fix <--

    ret = super(_p1);

    return ret;
}

PS. А вот баг с confind меня убил наповал. просто нет слов!
__________________
--- SHiSHok