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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.10.2004, 16:03   #1  
Pegiy is offline
Pegiy
Участник
 
159 / 10 (1) +
Регистрация: 22.04.2003
Группировка в отчетах
Пока я сам создавал query и заполнял отчет данными из временной таблице вопросов по группировке не было. Но вот сейчас я хочу разобраться как сделать тоже самой стандартным функционалом и сразу возникло куча вопросов.
Вот, например, такой:
Необходимо из SalesLine получить информацию по всей заказанной номенклатуре за период (группировка по номенклатуре).
Создал в Query отчета датасурс SalesLine.
Вывел в Section Group поля ItemId и SalesQty
Добавил в fetch группировку:
PHP код:
queryBuild this.query();
queryBuildDS queryBuild.dataSourceTable(tableNum(SalesLine));
queryBuildDS.orderMode(OrderMode::GroupBy);
queryBuildDS.addSortField(fieldNum(SalesLineItemId));
queryBuildDS.addSelectionField(fieldNum(SalesLineSalesQty), SelectionField::Sum); 
Все работает, но теперь я хочу так же сделать группировку по TaxItemGroup, так чтобы в отчете это было в виде:
ГР1
Item1 - Q1
Item2 - Q2
ГР2
Item3 - Q3
Item4 - Q4
и вот здесь возник затык.
Правильно ли я понял что добиться этого можно только с использование execute'ов?

Пока же мне удается только такая конструкция:
ГР1
Item1 - Q1
ГР1
Item2 - Q2
ГР2
Item3 - Q3
ГР2
Item4 - Q4
Старый 21.10.2004, 16:37   #2  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,232 / 974 (37) +++++++
Регистрация: 03.04.2002
Re: Группировка в отчетах
Цитата:
Изначально опубликовано Pegiy
Правильно ли я понял что добиться этого можно только с использование execute'ов?
Неправильно, достаточно правильно дизайн нарисовать.
P.S.
"... Уж сколько раз твердили миру..."
Рисуйте query в дизайнере, вы даже не представляете, насколько быстрее и нагляднее получается.
__________________
Isn't it nice when things just work?
Старый 21.10.2004, 16:46   #3  
Pegiy is offline
Pegiy
Участник
 
159 / 10 (1) +
Регистрация: 22.04.2003
Re: Re: Группировка в отчетах
Цитата:
Изначально опубликовано macklakov

Рисуйте query в дизайнере, вы даже не представляете, насколько быстрее и нагляднее получается.
Если навыки есть, то наверное, действительно, быстрее.
Пока же ровно наоборот.

Вот сейчас такая неправильная конструкция получилась:
Section Group
--Body
----TaxItemGroup
----Section Group
--------Body
--------ItemId
--------SalesQty

Казалось бы, чтоби избежать дублирование Групп их надо "вынести за скобки",
только вот как?
Старый 21.10.2004, 17:14   #4  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,232 / 974 (37) +++++++
Регистрация: 03.04.2002
Section Group как обновляются, через send? Какие у них свойства Table?
__________________
Isn't it nice when things just work?
Старый 21.10.2004, 17:28   #5  
Pegiy is offline
Pegiy
Участник
 
159 / 10 (1) +
Регистрация: 22.04.2003
Цитата:
Изначально опубликовано macklakov
Section Group как обновляются, через send? Какие у них свойства Table?
Я только сделал группировку в fetch'e.
Перебор результатов query и send я не делаю, оставляя это на откуп axapta.
Для SectionGroup таблица указана (SalesLine), а свойства... так вроде нет больше у них никаких свойств кроме таблицы да поля.
Старый 21.10.2004, 18:00   #6  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,232 / 974 (37) +++++++
Регистрация: 03.04.2002
У вложенного Section Group таблица SalesLine, а у внешнего TaxItemGroup. Правильно понимаю?
__________________
Isn't it nice when things just work?
Старый 21.10.2004, 18:02   #7  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
В первую секцию добавьте Header и TaxItemGroup перетащите туда
Старый 21.10.2004, 18:16   #8  
Pegiy is offline
Pegiy
Участник
 
159 / 10 (1) +
Регистрация: 22.04.2003
Цитата:
Изначально опубликовано Wamr
В первую секцию добавьте Header и TaxItemGroup перетащите туда
Уже пробовал - результат странный - TaxItemGroup вообще перестает выводиться, зато появляются lable'ы у ItemId и SalesQty


Добавив у Section Group - DataField = TaxItemGroup
получил и группы, но опять в виде
Гр1
Item1 Q1
Гр1
Item2 Q2
Гр2
Item3 Q3
Гр2
Item4 Q4
Старый 21.10.2004, 18:18   #9  
Pegiy is offline
Pegiy
Участник
 
159 / 10 (1) +
Регистрация: 22.04.2003
Цитата:
Изначально опубликовано macklakov
У вложенного Section Group таблица SalesLine, а у внешнего TaxItemGroup. Правильно понимаю?
Нет, у обоих SalesLine
Датасорс один.
Старый 21.10.2004, 18:26   #10  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,232 / 974 (37) +++++++
Регистрация: 03.04.2002
Цитата:
Изначально опубликовано Pegiy
Нет, у обоих SalesLine
Оно и понятно, если query руками писать...
У вас два варианта или построить нормальный query, в дизайнере, или прогнать в коде запрос и на каждом шаге делать send, а таблица у Section Group должна быть разная
__________________
Isn't it nice when things just work?
Старый 21.10.2004, 18:39   #11  
Pegiy is offline
Pegiy
Участник
 
159 / 10 (1) +
Регистрация: 22.04.2003
Цитата:
Изначально опубликовано macklakov
У вас два варианта или построить нормальный query, в дизайнере, или прогнать в коде запрос и на каждом шаге делать send, а таблица у Section Group должна быть разная
Ага, спасибо.
Тогда вот по второму способу еще не подскажите? Очень буду признателен.

Раз у Section Group таблицы должны быть разные, то следовательно и в датасорс необходимо таблицу добавлять и связи настраивать. Понимаю если бы я по номенклатурной группе из InventTable, например, группировал, а вот если по полю из той же таблице? Неужели сделать в датасорсе две SalesLine?

И еще один уже другой момент. Почему если я в фетче начинаю сам использовать send
PHP код:
qr = new QueryRun(queryBuild);

    while (
qr.next())
    {
    
SL qr.get(tableNum(SalesLine));
    
element.send(SL);
    } 
у меня напрочь отваливаются все фильтры установленные пользователем при вызове отчета?
Старый 21.10.2004, 19:02   #12  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,232 / 974 (37) +++++++
Регистрация: 03.04.2002
грустно мне все это читать, мысли путаться начинают, вслед за вашими :-( Мой вам совет, почитайте Руководство разработчика, главы: Creating Queries и Creating Reports. Пойдите тренинги на training.navision.com. А затем, вернемся к обсуждению.
__________________
Isn't it nice when things just work?
Старый 22.10.2004, 09:45   #13  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7

PHP код:
public boolean fetch()
{
    
boolean ret;

    
this.query().dataSourceNo(1).
            
addSelectionField(fieldNum(SalesLineSalesQty), SelectionField::Sum);
    
ret super();

    return 
ret;

Вложения
Тип файла: img48573-1 (7.9 Кб, 649 просмотров)
Старый 22.10.2004, 10:19   #14  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,232 / 974 (37) +++++++
Регистрация: 03.04.2002
2Wamr: Небольшое замечание: В 3-ей аксе, addSelectionField вовсе не обязательно в коде прописывать. Достаточно в Data Sources\SalesLine\Fields\ добавить поле Sum (SalesQty)
__________________
Isn't it nice when things just work?
Старый 22.10.2004, 10:44   #15  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
Юр, спасибо, буду знать.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Контролы в отчётах koraman DAX: Программирование 2 03.11.2011 19:06
Группировка в Lookup maze DAX: Программирование 6 18.11.2009 17:08
Количество знаков отображения после запятой в формах и отчетах AX3.0 SP3 ksenia DAX: Функционал 4 07.04.2008 17:27
Сальдо в финансовых отчетах ViV DAX: Функционал 2 19.12.2005 09:35
Группировка по отдельным финансовым аналитикам в отчетах rumpleteazer DAX: Программирование 7 27.07.2005 15:39
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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