Показать сообщение отдельно
Старый 23.09.2002, 12:30   #43  
VadimD is offline
VadimD
Участник
 
4 / 10 (1) +
Регистрация: 01.07.2002
Абстрактный классификатор
Устранение очередного бага Абстрактного классификатора.
Описание бага:
Невозможность применения при наличии Ranges.
Причина:
В методе HB_ACUtils::RunTableFilter в случае отсутствия у Ranges value вместо '*'
вставляется пустая строка.
Один из путей ререшения:
добавить условие if(q.dataSourceNo(1).range(i).value()) на формирование строки QStr.
то есть вместо кода
PHP код:
    q table_ds.queryRun().query();
    for (
i=1<= q.dataSourceNo(1).rangeCount(); i++)
    {

        
qbr q.dataSourceNo(1).range(i);
        
QStr += " && T." fieldid2name(q.dataSourceNo(1).table(),qbr.field()) + " like '" q.dataSourceNo(1).range(i).value() + "'";
    } 
вставить код
PHP код:
    q table_ds.queryRun().query();
    for (
i=1<= q.dataSourceNo(1).rangeCount(); i++)
    {
    
//если поле пусто - НЕ ВЫВОДИТЬ!!!
        
if(q.dataSourceNo(1).range(i).value())
        {
        
qbr q.dataSourceNo(1).range(i);
        
QStr += " && T." fieldid2name(q.dataSourceNo(1).table(),qbr.field()) + " like '" q.dataSourceNo(1).range(i).value() + "'";
        }
    }