




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、學(xué)習(xí)總結(jié): SSRS 以“Report Data Provider”為數(shù)據(jù)源的Dynamics AX 報(bào)表AX報(bào)表模板下的數(shù)據(jù)源我們是在 Visual studio IDE 環(huán)境開發(fā) SSRS 報(bào)表, 在安裝 Dynamics AX 2012 客戶端時(shí),要勾選“Visual studio tool”組件,否則在 VS 開發(fā)環(huán)境的新建項(xiàng)目里是找不到 AX 的報(bào)表模板, 如下圖:新建一個(gè)報(bào)表項(xiàng)目之后,Dataset 的數(shù)據(jù)源選擇“Dynamics AX”,我們看到數(shù)據(jù)源的來源分四種,其中“Query” 方式類似于單表或多表視圖的記錄展示,而“Report Data Provider”較類似于普通的
2、報(bào)表開發(fā),可以靈活使用參數(shù)和拼湊查詢語句?!癛eport Data Provide”報(bào)表的實(shí)現(xiàn)步驟本人在AX 客戶端“FXGZ/主頁/區(qū)域頁/常用/我的測試”建立了報(bào)表,下面是以“測試報(bào)表3”作為例子,說明如何簡單開發(fā) SSRS 報(bào)表,以及在學(xué)習(xí)過程中遇到的問題, 如圖所示:1.建立參數(shù)類新建一個(gè)類 VendContract , 代碼如下:DataContractAttributepublic class VendContract AccountNum accountNum; VendGroupId vendGroup;DataMemberAttribute("AccountNum&
3、quot;)public AccountNum parmAccountNum(AccountNum _accountNum = accountNum) accountNum = _accountNum; return accountNum;DataMemberAttribute("VendGroup")public VendGroupId parmVendGroup(VendGroupId _vendGroup = vendGroup) vendGroup = _vendGroup; return vendGroup;說明:DataContractAttribute、Dat
4、aMemberAttribute 注解,類似于聲明成員結(jié)構(gòu)和定義兩個(gè)成員屬性這里有一個(gè)大坑,如果不理解 AX 的字段和擴(kuò)展類型的話, 直接用X+ 語言的基本數(shù)據(jù)類型(如: str、int 之類)的話,可能會出現(xiàn)數(shù)據(jù)類型的問題, 上面代碼的兩個(gè)成員屬性,它們的類型是分別對應(yīng)于所用到的 VendTable 表的對應(yīng)字段或此字段所對應(yīng)的擴(kuò)展類型,比如 VendGroup 的是表字段名稱與 VendGroup 表名相同, 所以無法編譯通過,就直接用字段的擴(kuò)展類型 VendGroupId。一開始以為 VendGroup 字段本來就是 str 類型,于是直接使用基本數(shù)據(jù)類型時(shí),出現(xiàn)下面的錯(cuò)誤提示:Erro
5、r3An exception occurred in the query metadata execution. The exception is 類型“VarString”不支持作為返回值。(S)ClassesxInfoadd(S)ClassesInfoadd - line 94(S)ClassesGlobalerror - line 3(S)ClassesSRSReportProviderMetadatagetParamFromDataContract - line 108(S)ClassesSRSReportProviderMetadatainitParameters - line 11
6、(S)ClassesSRSReportProviderMetadatanew - line 20(S)ClassesSRSReportProviderMetadataconstructWithId - line 16(S)ClassesSRSReportProviderMetadataconstructWithName - line 18(S)ClassesSrsReportProviderQueryBuilderinitialize - line 10(S)Jobs.Report4.AutoDesign1 Preview002. 查詢實(shí)現(xiàn)具體代碼如下:SRSReportParameterAt
7、tribute(classstr(VendContract)public class VendDataSource extends SRSReportDataProviderBase VendRptTmp vendRptTmp;SRSReportDataSetAttribute(tablestr('VendRptTmp')public VendRptTmp getVendDataSourceTable() select * from vendRptTmp; return vendRptTmp;public void processReport() /ParmVendTmpTab
8、le tmpTable; VendContract contract; VendTable vendTable; VendAccount SN; VendGroupId GN; ; contract = this.parmDataContract(); SN = contract.parmAccountNum(); GN = contract.parmVendGroup(); if(SN && GN) while select * from vendTable where vendTable.AccountNum = SN && vendTable.VendGr
9、oup = GN VendRptTmp.clear(); vendRptTmp.AccountNum = vendTable.AccountNum; vendRptTmp.TEC_ChineseName = vendTable.TEC_ChineseName; vendRptTmp.VendGroup= vendTable.VendGroup; vendRptTmp.insert(); else while select * from vendTable VendRptTmp.clear(); vendRptTmp.AccountNum = vendTable.AccountNum; vend
10、RptTmp.TEC_ChineseName = vendTable.TEC_ChineseName; vendRptTmp.VendGroup= vendTable.VendGroup; vendRptTmp.insert(); 說明: SRSReportParameterAttribute 注解聲明了參數(shù)類;SRSReportDataSetAttribute 注解是要用到的數(shù)據(jù)存儲中間表, 把數(shù)據(jù)先保存在一個(gè)表,再讀取出來作為報(bào)表數(shù)據(jù)源,類似于臨時(shí)表;這里有兩個(gè)大坑:1. processReport 方法體里對參數(shù)的判斷, 也是 “if(SN && GN)” 這串代碼,之前
11、來不作判斷,看不到效果; 2. 出現(xiàn)“Dataset1_XXX”參數(shù)缺少值”的錯(cuò)誤提示, 原因是在 VS 的 SSRS 報(bào)表拖放 DataSet 數(shù)據(jù)源時(shí), 它自動(dòng)在報(bào)表里生成一個(gè)格式為 Dataset1_XXX 的參數(shù), 如上面的 Dataset1_AccountNum、 Dataset1_VendGroup 而我們的 AX 端的參數(shù)名稱為 AccountNum 和 VendGroup, 所以我們在將 SSRS 報(bào)表里的 DataSet 和 Paramters 這兩個(gè)節(jié)點(diǎn)的相應(yīng)參數(shù)名稱保持一致就行了,如圖示:存在問題1. 報(bào)表在第一次點(diǎn)擊查詢時(shí),會出現(xiàn)提示Error while setting server report parameters. Error message: The DefaultValue expre
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 會展產(chǎn)品合同范本
- 出口種子銷售合同范本
- 轉(zhuǎn)賣音響合同范本
- 勞務(wù)外包合同范例
- 中介委托租房電子合同范本
- 凱倫股合同范本
- 養(yǎng)牛合伙合同范本
- 北海吊車出租合同范本
- 公司中途入股合同范本
- 產(chǎn)品服務(wù)合同范例
- Unit1RelationshipsLesson2HowDoWeLikeTeachers'Feedback課件高中英語北師大版選擇性
- 加油站加油合同范本
- 庫存管理規(guī)劃
- 河南省南陽市2024-2025學(xué)年七年級上學(xué)期期末模擬英語試題(含答案)
- 煤礦員工安全培訓(xùn)教材一通三防篇
- 表演課程教案完整版
- 2024年新疆區(qū)公務(wù)員錄用考試《行測》試題及答案解析
- 灌籃高手培訓(xùn)課件
- 小學(xué)生心理健康講座5
- 貴州省房屋建筑和市政工程標(biāo)準(zhǔn)監(jiān)理電子招標(biāo)文件(2023年版)
- DB14-T 2736-2023 池塘養(yǎng)殖尾水處理規(guī)范
評論
0/150
提交評論