Показать сообщение отдельно
Старый 23.03.2011, 14:36   #6  
Mila is offline
Mila
Участник
 
73 / 31 (2) +++
Регистрация: 21.04.2006
S.Kuskov, большое вам спасибо. Ваш код очень помог. Кроме того, нашла на форуме сообщение, в котором обсуждалась проблема с кнопкой Удалить фильтр. Так же как и в том случае мои фильтры воспринимались как программные, а нужно чтобы они воспринимались как пользовательские. Ниже приведу методы, после редактирования которых, все заработало. Методы формы:
X++:
public boolean unpack(container packedClass)
{
    Integer         version     = conpeek(packedClass,1);
    PackedQueryRun  packedQuery;
    switch (version)
    {
        case #CurrentVersion:
            [version,packedQuery] = packedClass;
            if (queryIsPackedOk(packedQuery))
            {
                query = new Query(packedQuery);
            }
            break;
        default :
            return false;
    }
    return true;
}
X++:
public void init()
{
    ;
    xSysLastValue::getLast(this);
    super();
    element.selectMode(InventTable_ItemId);
 
}
X++:
public void run()
{
    ;
    super();
    inventTable_ds.research();
    #sysTaskRecorderMacro
    this.task(#sysTaskRecorderTaskFilterByGrid);
}
Метод источника данных:
X++:
public void executeQuery()
{
    if(this.queryRun())
    {
        super();
    }
    else
    {
        super();
        this.queryRun().query().dataSourceTable(tableNum(InventTable)).clearRanges();
        this.queryRun().query(query);
    }
}
За это сообщение автора поблагодарили: player (1).