Показать сообщение отдельно
Старый 08.10.2009, 18:09   #1  
dynamax is offline
dynamax
Участник
 
62 / 11 (1) +
Регистрация: 28.09.2009
Фильтр на Datasource в LookUp-форме.
Добрый день.

такой вопрос:

есть Lookup-форма состоящая из двух закладок. Одна закладка с фильтром, другая без оного. На Datasource, который предназначен для фильтроного запроса переписал две методы init() i executeQuery(). Выглядят они так:

X++:
public void init()
{
    Query                   query = new Query();
    QueryBuildRange         qrForInventTable, qrForCatalogGroup;
    QueryBuildDataSource    dsForInventTable, dsForCatalogGroup;
    str                     catalogGroup;
    
    ;
    super();

    catalogGroup = "4";

    dsForInventTable        = query.addDataSource(tablenum(InventTable));
    dsForCatalogGroup       = dsForInventTable.addDataSource(tablenum(GroupRef));
    dsForCatalogGroup.relations(true);
    dsForCatalogGroup.joinMode(JoinMode::InnerJoin);

    
    qrForCatalogGroup       = dsForCatalogGroup.addRange(fieldnum(GroupRef, Catalog));
    qrForCatalogGroup.value(SysQuery::value(catalogGroup));
    this.query(query);
X++:
public void executeQuery()
{
    FormStringControl   callerControlloc;
    InventTable         inventTable;
    ;

    callerControlloc    = SysTableLookup::getCallerStringControl(element.args());
    inventTable         = inventTable::find(callerControlloc.text());

    super();
    
    itemCatalogGroup_DS.findRecord(inventTable);

}
Проблема в том что на закладке, которую фильтрую могу выбрать только первую строку, хотя вижу несколько.

видимо executeQuery() некоректно работает. Если у кого есть идея прошу поделиться. Спасибо.

Последний раз редактировалось dynamax; 08.10.2009 в 18:59.