06.08.2012, 12:02 | #1 |
Участник
|
Помогите с запросои
Добрый день! Прошу помощи с этим запросом:
X++: SELECT sum(AmountCur) FROM PayRequestLine group by PayRequestAccountNum, BudgetCenterId asc where PayRequestLine.BudgetCenterId == '0400' && PayRequestLine.CreatedDate >= 01\05\2012 && PayRequestLine.CreatedDate <= 31\05\2012 && PayRequestLine.PaymentCurrencyCode == "RUR" Exists join payRequestTable where payRequestTable.PayREquestType == 1 Переделал этот запрос через QBDS: X++: qbds = query.addDataSource(tablenum(PayRequestLine)); qbds.addRange(fieldnum(PayRequestLine, CreatedDate)).value(QueryRange(fDate,tDate)); // фильтруем по дате создания qbds.addSelectionField(fieldnum(PayRequestLine, AmountCur),selectionfield::Sum); qbds.addRange(fieldnum(PayRequestLine, BudgetCenterId)).value(SysQuery::value(CFO));// фильтр по ЦФО qbds.addRange(fieldnum(PayRequestLine, PayRequestAccountNum)).value(SysQuery::value(AccountVend)); // фильтр по поставщику qbds.orderMode(ordermode::GroupBy); qbds.addSortField(fieldnum(PayRequestLine, PayRequestAccountNum)); qbds.addSortField(fieldnum(PayRequestLine, BudgetCenterId)); qbds.addRange(fieldNum(PayRequestLine, PaymentCurrencyCode)).value(SysQuery::value(CurCode)); // фильтр по валюте qbdsPRT = qbds.addDataSource(tablenum(PayRequestTable)); // выбираем только !!!исходящие безналичные платежи!!! qbdsPRT.joinMode(joinmode::ExistsJoin); qbdsPRT.relations(true); qbrPRT = qbdsPRT.addRange(fieldNum(PayRequestTable, PayRequestType)); qbrPRT.value("Исходящая"); queryRun = new SysQueryRun(query); info (queryRun.query().dataSourceNo(1).toString()); // просмотр текста запроса X++: SELECT SUM(AmountCur) FROM PayRequestLine GROUP BY PayRequestLine.PayRequestAccountNum ASC, PayRequestLine.BudgetCenterId ASC WHERE (((createdDate>={ts '2012-05-01 00:00:00.000'} AND createdDate<={ts '2012-05-31 00:00:00.000'}))) AND (((BudgetCenterId = '0400'))) AND (((PayRequestAccountNum = '*'))) AND (((PaymentCurrencyCode = 'RUR'))) EXISTS JOIN * FROM PayRequestTable WHERE PayRequestLine.PayRequestId = PayRequestTable.PayRequestId AND (((PayRequestType = 1))) |
|