Тема: lookup
Показать сообщение отдельно
Старый 15.02.2007, 16:30   #7  
Himan is offline
Himan
Участник
Аватар для Himan
 
312 / 12 (1) ++
Регистрация: 07.11.2006
Адрес: Tumen
X++:
public void lookup(FormControl _formControl, str _filterStr)
{
    FormStringControl       formControl     ;
    QueryBuildDataSource    qbdsVendInvoice ;
    QueryBuildDataSource    qbdsSalesTable  ;
    QueryBuildRange         qbRange         ;
    Query                   query = new Query() ;
    SysTableLookup          sysTableLookup = SysTableLookup::newParameters( tableNum( VendInvoice4PaymJour_RU ), _formControl ) ;
    ;

    //  добавление полей в форму выпадающего списка
    sysTableLookup.addLookupfield( fieldNum( CustInvoice4PaymJour_RU, SalesId ) ) ;
    sysTableLookup.addLookupfield( fieldNum( CustInvoice4PaymJour_RU, InvoiceAccount ) ) ;
    sysTableLookup.addLookupfield( fieldNum( CustInvoice4PaymJour_RU, Invoice4PaymId ) ) ;
    sysTableLookup.addLookupfield( fieldNum( CustInvoice4PaymJour_RU, Invoice4PaymDate ) ) ;
    sysTableLookup.addLookupfield( fieldNum( CustInvoice4PaymJour_RU, Invoice4PaymAmount ) ) ;
    sysTableLookup.addLookupfield( fieldNum( CustInvoice4PaymJour_RU, CurrencyCode ) ) ;
    sysTableLookup.addLookupfield( fieldNum( CustInvoice4PaymJour_RU, Note_RU ) ) ;


    qbdsVendInvoice = query.addDataSource( tableNum( CustInvoice4PaymJour_RU ) ) ;
    if( ledgerJournalTrans.AccountType == LedgerJournalACType::Cust && ledgerJournalTrans.AccountNum )
    {
        qbRange = qbdsVendInvoice.addRange( fieldnum( CustInvoice4PaymJour_RU, InvoiceAccount ) ) ;
        qbRange.value( ledgerJournalTrans.AccountNum ) ;
    }

    qbRange = qbdsVendInvoice.addRange( fieldnum( CustInvoice4PaymJour_RU, isPaid ) ) ;
    qbRange.value( SysQuery::value( NoYes::No ) ) ;



    qbdsSalesTable = qbdsVendInvoice.addDataSource( tableNum( SalesTable ) ) ;
    qbdsSalesTable.joinMode( JoinMode::InnerJoin ) ;
    qbdsSalesTable.addLink( fieldNum( CustInvoice4PaymJour_RU, SalesId ), fieldNum( SalesTable, SalesId ) ) ;
    qbRange = qbdsSalesTable.addRange( fieldNum( SalesTable, SalesStatus ) ) ;
    qbRange.value( SysQuery::range( SalesStatus::None, SalesStatus::Delivered ) ) ;

    sysTableLookup.parmQuery( query ) ;
    formRunlookup = sysTableLookup.formRun();

    formControl = _formControl ;

    formControl.performFormLookup( formRunLookup ) ;
}
Это текст лукапа на поле которое создали в ДС
__________________
Рабочий день сокращает жизнь на 8 часов