public void lookupSalesId(FormStringControl _control)
{
Query query= new Query();
Query query1= new Query();
QueryBuildDataSource qbds1,qbds2,qbds3,qbds4;
QueryBuildRange qbr1;
SysTableLookup sysTablelookup;
contract = this.dataContractObject();
sysTablelookup =SysTableLookup::newParameters(tableNum(CustInvoiceJour),_control);
sysTablelookup.addLookupfield(fieldNum(CustInvoiceJour,SalesId));
qbds1=query.addDataSource(tableNum(CustInvoiceJour));
qbds1.addRange(fieldNum(CustInvoiceJour, InvoiceAccount)).value(dialogInvoiceAccount.value());
qbds2=qbds1.addDataSource(tableNum(SalesTable));
//qbds2.joinMode(JoinMode::InnerJoin);
qbds2.addLink(fieldNum(CustInvoiceJour, SalesId), fieldNum(SalesTable, SalesId));
qbr1 = qbds2.addRange(fieldNum(SalesTable, WorkerSalesResponsible));
qbr1.value(strFmt('((%1.%2 == %3) || (%1.%4 == %5))',
qbds2.name(),
fieldStr(SalesTable, WorkerSalesResponsible), dialogSalesResponsible.value(),
fieldStr(SalesTable, WorkerSalesTaker), dialogSalesTaker.value()));
qbr1.status(RangeStatus::Hidden);
sysTablelookup.parmQuery(query);
sysTablelookup.performFormLookup();
}