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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 15.03.2015, 13:41   #1  
Art_Tanis is offline
Art_Tanis
Участник
 
225 / 36 (2) +++
Регистрация: 04.02.2014
Помощь с запросом
Добрый день!
Есть таблица ProdJournalBom. Для одного заказа( ProdID) можеть быть несколько journalId.
Хочу получить суммарное потребление и предложение для каждой номенклатуры.
Пробую так - результат удручает.
X++:
protected Query queryBuild()
{
    Query                         query;
    QueryBuildDataSource           qbds;
    QueryBuildRange                 qbr;
    ;

    query = new Query();

    qbds = query.addDataSource(tablenum(ProdJournalBOM));
    qbds.addSortField(fieldnum(ProdJournalBOM, ItemId));
    qbds.autoSum(1, true);
    qbr = qbds.addRange(fieldnum(ProdJournalBOM, ProdId));
    qbr.value(prodId);


    return query;
}
Старый 15.03.2015, 14:31   #2  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Вы этот запрос в отчете используете?
Или по нему через QueryRun потом данные получаете?
__________________
Axapta v.3.0 sp5 kr2
Старый 15.03.2015, 14:33   #3  
Art_Tanis is offline
Art_Tanis
Участник
 
225 / 36 (2) +++
Регистрация: 04.02.2014
Потом по нему получаю данные через QueryRun.
Старый 15.03.2015, 15:19   #4  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Метод autoSum() предназначен для работы отчетов
По изменению данных в выбранном поле печатается строка с подбивкой промежуточных итогов

Вам же нужно использовать группировки и агрегатные функции в запросе
Например, так

X++:
protected Query queryBuild()
{
    Query                         query;
    QueryBuildDataSource           qbds;
    QueryBuildRange                 qbr;
    ;

    query = new Query();

    qbds = query.addDataSource(tablenum(ProdJournalBOM));
    qbds.addSelectionField(fieldnum(ProdJournalBOM, BOMConsump), SelectionField::Sum);
    qbds.addSelectionField(fieldnum(ProdJournalBOM, BOMProposal), SelectionField::Sum);
    qbds.addSortField(fieldnum(ProdJournalBOM, ItemId));
    qbds.orderMode(OrderMode::GroupBy);
    qbr = qbds.addRange(fieldnum(ProdJournalBOM, ProdId));
    qbr.value(prodId);


    return query;
}
__________________
Axapta v.3.0 sp5 kr2
За это сообщение автора поблагодарили: Art_Tanis (1).
Старый 15.03.2015, 16:22   #5  
Art_Tanis is offline
Art_Tanis
Участник
 
225 / 36 (2) +++
Регистрация: 04.02.2014
Спасибо большое.
Старый 18.03.2015, 13:30   #6  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Учтите, что журналы могут удаляться после разноски. В том числе, могут удаляться автоматически.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 21.03.2015, 15:13   #7  
Art_Tanis is offline
Art_Tanis
Участник
 
225 / 36 (2) +++
Регистрация: 04.02.2014
Согласен. Но ведь в IvnentTrans нет данных по предложенному количеству системой. Верно? То есть фактически списанное я конечно могу получить. Но вот то что было предложено?
Старый 23.03.2015, 12:56   #8  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Во-первых, про InventTrans я ничего не говорил. Во-вторых, Proposal может быть сгенерирован по разным принципам в разных журналах. Чтобы предложить правильный источник данных для ваших отчётов, нужно понимать, зачем вы вообще хотите видеть Proposal там. Может быть вам нужно не proposed quantity, а estimated quantity, например.

Всё, что я хотел сказать, что строки журналов - это неправильный источник данных для таких отчётов в 99.99% случаев. И если вы сейчас будете собирать данные из них, то столкнётесь с проблемами в будущем, так как стандартная логика приложения не предполагает их использования в таком качестве, а значит вам придётся её ломать.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Выборка произвольных записей одним запросом db DAX: Программирование 1 23.09.2010 14:15
Оборотно-сальдовая одним запросом ??? stavteam DAX: Программирование 17 22.05.2006 12:27
Помогите с запросом.. DarkBear DAX: Программирование 2 15.08.2005 13:38
расчеты с персоналом. мат. помощь shumelka DAX: Функционал 1 13.04.2004 11:29
Очень нужна Ваша помощь!!! Vasilenko Alexsandr DAX: Прочие вопросы 2 05.11.2003 11:51

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

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

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