Показать сообщение отдельно
Старый 01.08.2014, 11:42   #2  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
Лукап можно строить и по связанным таблицам
X++:
Query                   query = new Query();
    QueryBuildDataSource    queryBuildDataSource,queryBuildDataSource2;
    QueryBuildRange         queryBuildRange,queryBuildRange2;
    SysTableLookup          sysTableLookup;
       ;

    //Create an instance of SysTableLookup with the form control passed in
    sysTableLookup = SysTableLookup::newParameters(tablenum(1), this);

    //create the query datasource
    queryBuildDataSource = query.addDataSource(tablenum(1));
    queryBuildRange = queryBuildDataSource.addRange(fieldnum(1, 1));
    queryBuildRange.value('Value1');

    queryBuildDataSource2 = queryBuildDataSource.addDataSource(tablenum(2));    
    queryBuildDataSource2.joinMode(JoinMode::InnerJoin);
    queryBuildDataSource2.relations(true);
    queryBuildDataSource2.addLink(fieldnum(1, 1), fieldnum(2, 1));
    queryBuildRange2 = queryBuildDataSource.addRange(fieldnum(2, 2));
    queryBuildRange2.value('Value2');


    //Add the fields to be shown in the lookup form
    sysTableLookup.addLookupfield(fieldnum(1, 1));

    //add the query to the lookup form
    sysTableLookup.parmQuery(query);

    // Perform lookup
    sysTableLookup.performFormLookup();
а если какой-то уж очень мудреный лукап, можно подготовить временную таблицу, заранее ее по нужным критериям заполнить и на основе нее построить лукап
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.

Последний раз редактировалось Pustik; 01.08.2014 в 11:55.