How could I rewrite the code so as not to add data sources twice? Can I use qbds2 to declare multiple ranges for different fields?
public void lookupSalesId(FormStringControl _control)
{
Query query= new Query();
Query query1= new Query();
SysTableLookup sysTablelookup;
QueryBuildDataSource qbds1,qbds2,qbds3;
SalesTable salesTable;
contract = this.dataContractObject();
sysTablelookup =SysTableLookup::newParameters(tableNum(CustInvoiceJour),_control);
sysTablelookup.addLookupfield(fieldNum(CustInvoiceJour,SalesId));
//qbds1=query.dataSourceTable(tableNum(CustInvoiceJour)).addDataSource(salesTable);
qbds1 = query.addDataSource(tableNum(CustInvoiceJour));
qbds1.addRange(fieldNum(CustInvoiceJour, InvoiceAccount)).value(dialogInvoiceAccount.value());
qbds2=qbds1.addDataSource(tableNum(SalesTable));
//qbds2.relations(true);
qbds2.joinMode(JoinMode::InnerJoin);
qbds2.addLink(fieldNum(CustInvoiceJour, SalesId), fieldNum(SalesTable, SalesId));
qbds2.addRange(fieldNum(SalesTable, WorkerSalesResponsible)).value(queryValue(dialogSalesResponsible.value()));
qbds3 = query1.addDataSource(tableNum(CustInvoiceJour)).addDataSource(salesTable);
qbds3.joinMode(JoinMode::InnerJoin);
qbds3.addLink(fieldNum(CustInvoiceJour, SalesId), fieldNum(SalesTable, SalesId));
qbds3.addRange(fieldNum(SalesTable, WorkerSalesTaker)).value(queryValue(dialogSalesTaker.value()));
//se poate si altfel?
sysTablelookup.parmQuery(query);
sysTablelookup.parmQuery(query1);
sysTablelookup.performFormLookup();
}