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 ) ;
}
Это текст лукапа на поле которое создали в ДС