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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.12.2015, 17:16   #1  
syl is offline
syl
Участник
Аватар для syl
 
236 / 21 (1) +++
Регистрация: 10.06.2015
Адрес: Киев
Несоклько таблиц в RDP SSRS
Доброго времени суток.

Необходимо сделать SSRS отчет который будет выводить данные из нескольких таблиц со связью 1:n. То есть в первой таблице только одна строка (заголовок и агрегатные функции), во второй строки.

Не могу разобраться каким образом это сделать.

Сделал отчет на базе Query, но таким образом не могу сформировать все необходимые данные.
Старый 02.12.2015, 17:36   #2  
Morpheus is offline
Morpheus
Участник
Аватар для Morpheus
Соотечественники
 
602 / 167 (7) ++++++
Регистрация: 30.03.2005
Адрес: Київ-København-Düsseldorf
Цитата:
Сообщение от syl Посмотреть сообщение
Сделал отчет на базе Query, но таким образом не могу сформировать все необходимые данные.
Уточните, что именно не получается?
Старый 02.12.2015, 18:06   #3  
syl is offline
syl
Участник
Аватар для syl
 
236 / 21 (1) +++
Регистрация: 10.06.2015
Адрес: Киев
В общем такие данные надо вытащить:

%1 CustInvoiceJour.InvoiceId
%2 CustInvoiceJour.InvoiceDate
%3 CustInvoiceJour.InvoiceAccount -> CustTable.Name
%4 CompanyInfo.RFullName
%5 CustInvoiceJour.SalesId -> AgreementHeaderExt_RU.AgreementId
%6 CustInvoiceTrans.ItemId -> EcoResProductTranslation.Name
%7 CustInvoiceTrans.Qty
%8 CustInvoiceJour.SalesUnit
%9 CustInvoiceTrans.SalesPrice
%10 CustInvoiceTrans.LineAmountMST
%11 sum(CustInvoiceTrans.LineAmountMST)
%12 count(CustInvoiceTrans)
%13 sum(CustInvoiceTrans.LineAmountMST)
%14 sum(CustInvoiceTrans.LineAmountMST) (прописью)
%15 CustInvoiceTrans.VATAmountMST_RU
%16 CustInvoiceJour.InvoiceAccount -> CustTable.Name
%18 CustInvoiceJour.SalesId -> LogisticsPostalAddressDeliveryHeader.Address
%19 CustInvoiceJour.InvoiceAccount -> [CustBankAccount.AccountNum],[CustBankAccount.Name],[LogisticsPostalAddress.Address]
%20 CustInvoiceJour.InvoiceAccount -> CustBankAccount.RegistrationNum
%21 CompanyInfo.RFullName
%23 DirPartyPostalAddressView.Address
%24 CompanyInfo.Bank -> [BankAccountTable.AccountNum], [BankAccountTable.Name], [LogisticsPostalAddress.Address]
%25 CompanyInfo.Bank -> BankAccountTable.RegistrationNum
%26 OfficialsTrans_RU.Title
%27 OfficialsTrans_RU.Name

- У меня CustInvoiceJour тянется как то некорректно, фильтр не работает, подтягивается в место 1й сотня строк (тестировал в связке только с CustInvoiceTrans, связи системные результат тот же)
- Адрес компании получить не удается т.к. дисплей метод address на таблице CompanyInfo недоступен из VisualStudio
- %14 нужно преобразовать в текст (1 рубль 50 копеек) хз как это в запросе сделать
- когда добавляю агрегатные функции запрос просто перестает отрабатывать

Запрос сейчас выглядит так:
http://prntscr.com/99hucd

Для CustInvoiceTrans тип связи стоит 1:n

Последний раз редактировалось syl; 02.12.2015 в 18:16.
Старый 02.12.2015, 21:43   #4  
skuull is offline
skuull
Участник
Most Valuable Professional
Лучший по профессии 2014
 
700 / 752 (27) +++++++
Регистрация: 08.03.2013
Адрес: ХЗ
Создайте таблицу и не мучайтесь.
Если очень хочеться можно заполнять ее прям из квери: http://blogs.msdn.com/b/axperf/archi...es-part-6.aspx

Цитата:
Сообщение от syl Посмотреть сообщение
В
%24 CompanyInfo.Bank -> [BankAccountTable.AccountNum], [BankAccountTable.Name], [LogisticsPostalAddress.Address]
%25 CompanyInfo.Bank -> BankAccountTable.RegistrationNum
Эти поля можно добавить в контракт, заполнять в preRunModifyContract контролера, в отчете использовать как параметры и сделать их невидимыми чтобы не было на диалоге.

Цитата:
Сообщение от syl Посмотреть сообщение
В
%11 sum(CustInvoiceTrans.LineAmountMST)
%12 count(CustInvoiceTrans)
%13 sum(CustInvoiceTrans.LineAmountMST)
%14 sum(CustInvoiceTrans.LineAmountMST) (прописью)
Эти через итоговую строку в SSRS группе.

Последний раз редактировалось skuull; 02.12.2015 в 21:46.
Старый 02.12.2015, 21:56   #5  
DmitryS2 is offline
DmitryS2
Участник
 
7 / 11 (1) +
Регистрация: 02.07.2015
1.Изменить запрос

Сustinvoicetrans
Сustinvoicejour
Сusttable
......
Для custinvoicetrans добавить sum поля group by и т.д.
custinvoicetrans - первая таблица в query

2. Или так - создать DP класс и временную таблицу, в processReport можно собрать нужные данные. Во временной таблице только нужные поля.

http://aslam111.blogspot.ru/2014/03/...rdp-class.html

Последний раз редактировалось DmitryS2; 02.12.2015 в 22:10.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
kamalblogs: SSRS Tip: Take care to clear the temp table record in RDP reports Blog bot DAX Blogs 0 20.12.2013 10:11
kamalblogs: SSRS Tip: Speed up RDP based SSRS reports testing in Dynamics Ax 2012 Blog bot DAX Blogs 0 11.09.2013 17:11
bojensen: Report Data provider [RDP] as data source type in data set – SSRS reports [Dynamics ax 2012] | Sreenath Reddy G – Dynamics AX Consultant’s Blog Blog bot DAX Blogs 0 15.03.2013 17:11
ax-erp: Report Data provider [RDP] as data source type in data set – SSRS reports [Dynamics ax 2012] Blog bot DAX Blogs 0 18.07.2012 12:11
dax-lessons: Report Data provider [RDP] as data source type in data set – SSRS reports [Dynamics ax 2012] Blog bot DAX Blogs 0 06.09.2011 00:12

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

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

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