AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.08.2012, 12:02   #1  
JuniorAx is offline
JuniorAx
Участник
 
134 / 20 (1) +++
Регистрация: 20.07.2011
Адрес: Санкт-Петербург
Помогите с запросои
Добрый день! Прошу помощи с этим запросом:
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
Это то что мне нужно из таблицы PayRequestLine. Введя данный запрос в обозревателе таблиц, получаю нужные мне данные!
Переделал этот запрос через 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)))
Вроде всё так же! Не понимаю где проблема?? Может в сортировках и группировках дело??? Заранее спасибо за помощь!
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Помогите!!!!!Обработка вх.НДС в SP4 lila DAX: Функционал 4 15.02.2006 16:41
Помогите написать запрос Кандидат DAX: Программирование 7 17.10.2005 14:44
Курсовые разницы! Помогите! SSM DAX: Функционал 7 26.09.2005 11:10
Помогите - не формируются Российские отчеты!!! ravil DAX: Функционал 13 27.11.2003 13:42
Помогите. Никак не могу законектиться по ODBC!!! SocratPSV DAX: Администрирование 10 17.03.2003 09:16

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 06:46.