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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.09.2022, 19:42   #1  
Mirta is offline
Mirta
Участник
 
12 / 52 (2) ++++
Регистрация: 23.11.2011
D365FO: GER Заказы со строками и проводками
Помимо привычных отчетов, содержащих итоговые данные, а также отчетов шапка-строки по какому-либо документу, иногда возникает необходимость построить отчет по списку документов, каждый из которых содержит шапку и строки. Такой отчет можно построить с помощью GER достаточно легко и быстро.

Рассмотрим быстрый способ создания отчета с тройной вложенностью. Возьмем для примера заказы на продажу, строки и проводки.

Создаем модель TrainerITSalesOrders. Добавляем корень SalesReport.
Создаем поля модели:
Название: 1.png
Просмотров: 478

Размер: 39.5 Кб

Lines является дочерним узлом для SalesOrders
InventTrans является дочерним узлом для Lines

Создаем сопоставление модели
Нажмите на изображение для увеличения
Название: 2.png
Просмотров: 40
Размер:	28.8 Кб
ID:	13427

По этой кнопке создается сопоставление модели с БД. Можно в дереве модели создать отдельно сопоставление. Это лучше тем, что до него быстрее добираться из дерева (не заходя в модель), и к тому же если мы захотим использовать эту модель для импорта или для других экспортов, то сопоставление лучше чтобы было отдельно, ибо тогда будет галка Использовать сопоставление по умолчанию. Ну пока нам хватит и такого сопоставления.

Для выборки данных из связанных таблиц мы будем пользоваться отношениями на таблицах в АХ (релейшенами).
Добавляем в качестве источника данных Записи таблицы SalesTable
Нажмите на изображение для увеличения
Название: 3.png
Просмотров: 40
Размер:	14.8 Кб
ID:	13428

Ставим галку Запросить запрос - это позволит увидеть расширенный фильтр в диалоге вызова отчета. И галку Точка интеграции - для возможности вызова отчета через пункт меню.
Название: 4.png
Просмотров: 469

Размер: 18.7 Кб

Для преобразования ЕНУМа Status в заказе добавим Перечисление АХ:
Название: 5.png
Просмотров: 465

Размер: 12.5 Кб

Есть 3 способа преобразования перечисления:
1. В модель добавляется только перечисление АХ, далее оно преобразовывается в явно прописанные строковые значения с помощью формул
2. В модель добавляется перечисление АХ и перечисление модели данных. Затем с помощью формулы значениям перечисления АХ сопоставляются значения перечисления модели данных.
3. В модель добавляется перечисление АХ, а также вычисляемые поля, позволяющие с помощью формул преобразовать значение ЕНУМа в его аксаптовую метку. Этот способ самый сложный, но и самый результативный - даже если перечисление изменится в АХ, в GER его значения менять не придется.
Мы воспользуемся первым способом.

Связываем источники данных с полями модели:
Нажмите на изображение для увеличения
Название: 6.png
Просмотров: 54
Размер:	66.6 Кб
ID:	13431

Нажмите на изображение для увеличения
Название: 7.png
Просмотров: 47
Размер:	39.6 Кб
ID:	13432

Поле Worker связываем с полем из релейшенов:
Нажмите на изображение для увеличения
Название: 8.png
Просмотров: 46
Размер:	17.3 Кб
ID:	13433

Нажмите на изображение для увеличения
Название: 9.png
Просмотров: 42
Размер:	22.3 Кб
ID:	13434

Из DirPerson_FK берем поле Name

Для поля Status задаем формулу

Код:
CASE(@.SalesStatus, 
    Enums.SalesStatusEnum.Canceled, "Отменено",
    Enums.SalesStatusEnum.Delivered, "Доставлено",
    Enums.SalesStatusEnum.Invoiced, "Выставлен счет",
    Enums.SalesStatusEnum.None, "",
    Enums.SalesStatusEnum.Backorder, "Открытый заказ"
)
Для строк заказа возьмем SalesLine из релейшенов таблицы SalesTable
Название: 10.png
Просмотров: 456

Размер: 9.5 Кб

Связываем SalesLine и Lines справа
Нажмите на изображение для увеличения
Название: 11.png
Просмотров: 50
Размер:	54.1 Кб
ID:	13436
Название: 12.png
Просмотров: 442

Размер: 14.1 Кб
Нажмите на изображение для увеличения
Название: 13.png
Просмотров: 44
Размер:	14.6 Кб
ID:	13438

Через InventTransOrigin
Название: 14.png
Просмотров: 449

Размер: 7.8 Кб

Обращаемся к InventTrans и связываем с InventTrans справа
Нажмите на изображение для увеличения
Название: 15.png
Просмотров: 48
Размер:	65.8 Кб
ID:	13440

Номер лота берем из InventTransOrigin
Нажмите на изображение для увеличения
Название: 16.png
Просмотров: 53
Размер:	91.7 Кб
ID:	13441

Кол-во - из InventTrans
Нажмите на изображение для увеличения
Название: 17.png
Просмотров: 42
Размер:	39.4 Кб
ID:	13442

Складские аналитики возьмем из InventDim
Название: 18.png
Просмотров: 439

Размер: 11.4 Кб

Нажмите на изображение для увеличения
Название: 19.png
Просмотров: 49
Размер:	83.5 Кб
ID:	13444

Последний раз редактировалось Mirta; 12.09.2022 в 19:51.
Теги
electronic reporting, er, ger

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
d365technext: D365FO Interview Question Blog bot DAX Blogs 2 10.09.2021 10:52
AX2012, D365FO: Способы ограничения финансовых аналитик sukhanchik DAX: Функционал 7 09.03.2021 02:58
sertandev: How to receive D365FO push notifications using Azure Notification Hubs Blog bot DAX Blogs 0 04.07.2019 18:11
sertandev: How to integrate D365FO with Microsoft Flow using the new Business Events Blog bot DAX Blogs 0 23.05.2019 16:11
erconsult: Copy-paste with keyboard script 2: from Excel to D365FO Blog bot DAX Blogs 0 03.08.2018 11:12
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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