Цитата:
Сообщение от
Андре
В 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 меня убил наповал. просто нет слов!