




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、EAS 費用報銷模塊Web 二次開發指南 EAS HR 系統部 作者 李大偉,賀鵬輝 整理 陳昕 導讀 本文從頭開始介紹了 EAS 費用報銷 Web 表單的二次開發方法,同時也說明了開發環境的安裝和配置方法。可供機構開發人員對費用報銷 web 表單進行二次開發時參考。 適用范圍 EAS 費用報銷模塊 web 二次開發人員請注意:本文件只作為產品介紹之用,不屬于您與金蝶簽署的任何協議。本文件僅包括金蝶既定策略、產品及功能方面的信息,不能以本文件作為要求金蝶履行商務條款、產品策略以及開發義務的依據。本文件內容可能隨時變更,恕不另行通知。目目 錄錄概述概述.4目的目的4范圍范圍4定義、首字母縮寫詞和
2、縮略語定義、首字母縮寫詞和縮略語.4環境準備環境準備.4JDK安裝安裝 .4PT環境準備環境準備.4統一的統一的WEB開發目錄開發目錄 W:WEBDEV.4統一開發工作區間統一開發工作區間 WEBDEV/WORKSPACE.4W:WEBDEVAPUSICSTUDIO-5.1 為開發工具,雙擊為開發工具,雙擊STUDIO.CMD啟動開發工具啟動開發工具.5更新和部署更新和部署 AOM.5部署部署EASWEB.EAR.5修改修改 W:EASSERVERSERVERDEPLOYEASWEB.EAREAS_WEB.WARWEB-INF 下下OPERAMASKS.XML.6啟動服務器,以協同辦公費用報銷
3、單為例:可以通過啟動服務器,以協同辦公費用報銷單為例:可以通過.7新建新建 WEB 工程工程.7新建新建 APUSIC標準工程標準工程.7添加添加WEB模塊模塊.8新建新建FACES頁面頁面.13添加添加 APUSIC服務器服務器.16運行我們的應用運行我們的應用.18定義及發布元數據定義及發布元數據.19實體的定義和發布實體的定義和發布.19查詢的定義和發布查詢的定義和發布.19生成生成 WEB 界面代碼界面代碼.19設置設置WEB界面代碼路徑界面代碼路徑.19生成生成WEB界面代碼界面代碼.20添加庫文件添加庫文件.23添加用戶庫添加用戶庫.23添加添加WAF包包.23添加業務邏輯類引用添
4、加業務邏輯類引用.23WEB 界面代碼的修正界面代碼的修正.25* EDITBEAN.JAVA的修正的修正 .25*EDIT.XHTML文件的修正文件的修正.25*LIST.XHTML文件的修正文件的修正.27部署及啟動部署及啟動 EAS WEB 應用應用 .27部署部署 EAS WEB.27PT環境下啟動環境下啟動 EAS 服務服務.27二次開發應用二次開發應用.28修改業務單元修改業務單元.28發布業務單元發布業務單元.28執行升級腳本執行升級腳本.29搭建搭建WEB開發環境開發環境.29修改修改WEB頁面頁面.29修改修改MANAGEDBEAN.29部署二次開發應用部署二次開發應用.30
5、常見問題常見問題.30#MESSAGE* EL EXPRESSION 錯誤錯誤 .30編輯界面單據體(分錄部分)無法顯示編輯界面單據體(分錄部分)無法顯示.30如何檢查調用類的物理路徑如何檢查調用類的物理路徑.30下載文件時會在線打開,且出現亂碼(如何進行文件的下載)下載文件時會在線打開,且出現亂碼(如何進行文件的下載).30表單編輯頁中點擊新增分錄時出錯表單編輯頁中點擊新增分錄時出錯.33在在 EDITBEAN或或 LISTBEAN中,通過中,通過IBOSBIZCTRL設置了某個接口(如:設置了某個接口(如:IBOSBIZCTRL PRIVATE IDOCRECEIVE SERVICE;),
6、但發現在使用該接口),但發現在使用該接口SERVICE時,時,SERVICE為為NULL.33在在VIEW上找不到上找不到MANAGEDBEAN.33按鈕或者其他控件的狀態被緩存,如單據查看時某按鈕被置灰后,新增時按鈕仍是置灰的。按鈕或者其他控件的狀態被緩存,如單據查看時某按鈕被置灰后,新增時按鈕仍是置灰的。.33WEB 主界面開發方法主界面開發方法.33編制編制JSP頁面。頁面。 .33配置配置PORTLET模板信息。模板信息。 .34PORTLET業務配置信息設置。業務配置信息設置。.34PORTLET基礎定義設置。基礎定義設置。.34頁簽配置頁簽配置.35參考資料參考資料.35概述概述目
7、的目的根據標準 web 單據開發流程,描述以下內容:環境準備Web 工程的創建元數據的定義和發布Web 界面代碼的生成Web 界面代碼的修正EAS web 的部署和運行二次開發應用Web 主界面的開發方法范圍范圍適用版本:Kingdee EAS 6.0,Kingdee BOS 6.0定義、首字母縮寫詞和縮略語定義、首字母縮寫詞和縮略語AOM:Apusic OperaMask,金蝶中間件公司的 Web 開發框架AAS:Apusic Application Server:金蝶中間件公司的 J2EE 應用服務器產品Ext JS:一套基于 Java Script 的瀏覽器端 UI 組件庫環境準備環境準
8、備jdk 安裝安裝jdk 要求 5.0 以上版本。pt 環境準備環境準備pt 搭建一個 gui 的開發環境。統一的統一的 web 開發目錄開發目錄 w:webdev統一開發工作區間統一開發工作區間 webdev/workspace如圖所示:W:webdevapusicstudio-5.1 為開發工具,雙擊為開發工具,雙擊 studio.cmd 啟動開發工具啟動開發工具Apusicstudio 可以到 http:/ AOM可以到 /dist/aom/snap/binaries/獲取 AOM 最新版本部署部署 easweb.ear修改部署文件 W:a
9、pusicdomainsserver1configserver.xml加入如圖所示:easweb.ear 結構如圖:修改修改 W:easServerserverdeployeasweb.eareas_web.warWEB-INF 下下 operamasks.xml開發那個項目將哪個項目的 jar 包配置項刪掉。如開發協同費用報銷就將cp_bc_web.jar刪除掉。如圖: 將從 cvs 上獲得的或開發完成的 view (即 xXXX.xhtml)拷貝到W:easServerserverdeployeasweb.eareas_web.war 將從 cvs 上獲得的開發完成的 ManagedBea
10、n(即 XXXXBean)拷貝到 W:easServerserverdeployeasweb.eareas_web.warWEB-INFclasses 注:以上路徑沒有包含包名,拷貝時需要將自己加上包路徑,如 cpbc 如圖所示:啟動服務器,以協同辦公費用報銷單為例:可以通過啟動服務器,以協同辦公費用報銷單為例:可以通過http:/localhost:6888/easweb/cp/bc/bizAccountBillList.jsf 訪問。新建新建 web 工程工程由于 WAF 目前混合使用 Apusic Studio(Web UI 開發)與 BOS Studio(Web 元數據定義與框架代碼發
11、布) ,所以是先進行 web 工程的新建還是先進行 EAS 元數據的定義,我們并沒有嚴格的限制,可根據個人熟悉程度決定。新建新建 Apusic 標準工程標準工程我們使用 Apusic 作為我們的 web 容器,所以我們從新建 Apusic 標準工程開始我們的標準單據開發的旅程。在 Apusic studio 中點擊“文件新建Apusic 標準工程” ,如下圖:包含以下幾個點的定義:項目名稱,空間及存儲位置選擇,服務器選擇,域選擇及 J2EE版本的選擇,輸出文件夾。我們可以在此進行本地服務器的新建也可以在后續過程中添加服務器,為不影響新建流程的順暢,我們將在后續步驟中單獨描述。J2EE 版本的選
12、擇應該引起注意,我們須要選擇 5.0 以上的版本。定義好上述內容后點擊完成,我們可以在打開包視圖查看工程目錄結構如下:添加添加 web 模塊模塊點擊新建工程根目錄,右鍵選擇“新建web 模塊”:打開對話框如下:需要注意源文件夾(用來存放源代碼)及 web 內容文件夾(用來存放頁面,配置信息等資源文件)。點擊下一步:EAS web 應用框架建立在 AOM 基礎上,所以我們不得取消“支持 AOM”的選項。AOM 的配置中需要注意 url 后綴的配置,該配置意味該后綴的請求都將由 AOM 處理。我們按習慣修改成*.jsf,定義好以后我們將可以在 web.xml 中發現相應的配置內容: Faces S
13、ervlet *.jsf 完成上述步驟,點擊完成 web 模塊的新建,我們發現工程目錄下增加了 src 及 WebContent 目錄:新建新建 faces 頁面頁面選擇“文件新建Faces 頁面”:選擇是否生成 managebean,以及 managebean 設置,如果只是新建一個靜態視圖,那么可以不進行 managebean 的定義。點擊完成頁面新建。添加添加 Apusic 服務器服務器前面在新建工程中已經提到服務器的選擇,在此將對服務器新建做進一步描述。在新建或增加服務器之前請確保已正確安裝了 Apusic 服務器,Apusic 服務器的安裝再次不再累述。打開 Apusic 服務器列表
14、視圖,在視圖中點擊右鍵,并選擇增加服務器:添加服務器后我們需要為我們的應用指定對應的 Apusic 服務器,打開工程屬性對話框如下圖:運行我們的應用運行我們的應用服務器啟動過程中我們可以在控制臺看到相應信息,部分截圖如下:可以看到服務器已成功啟動,我們定義的上下文根目錄是 mydemo,接下來我們使用http:/localhost:6888/mydemo/hello.jsf 進行訪問,結果如下圖:至此,web 工程的新建完成。定義及發布元數據定義及發布元數據元數據的定義在此特指單據實體及查詢的定義,因為只有實體及查詢才能發布成 web 界面,生成web 界面代碼。實體及查詢的定義與非 web
15、應用中實體及查詢的定義一樣,沒有差別。實體的定義和發布實體的定義和發布與一般實體的定義和無差別 查詢的定義和發布查詢的定義和發布與一般查詢的定義和無差別生成生成 web 界面代碼界面代碼設置設置 web 界面代碼路徑界面代碼路徑生成 web 界面代碼前我們需要對生成代碼的存放位置進行設置,在 BOS Studio 中通過“窗口首選項”進入首選項配置頁,左側樹形菜單中選擇“BOS生成 web 界面代碼”:將代碼路徑設置成我們 web 工程的源文件路徑,將頁面路徑設置成我們 web 工程的 web 內容文件夾路徑,點擊確定完成設置。生成生成 web 界面代碼界面代碼接下來我們可以生成 web 界面
16、代碼:選擇要生成界面代碼的實體或查詢,點擊右鍵并選擇“生成 web 界面代碼”:回到 Apusic studio 并刷新工程,我們可以看到工程目錄如下圖:Comment p1: 后續將做個表格,對生成的代碼及頁面文件進行說明增加了相應的頁面文件及邏輯代碼。通常一個實體通過上述步驟會生成以下幾個文件:編輯邏輯 managebean 及分錄 bean 及相應屬性文件:編輯頁面文件:查詢元數據生成 web 界面的過程與實體生成 web 界面的過程一樣,只是結果文件不同:列表邏輯 managebean 及相應屬性文件:序時薄頁面文件:至此,web 界面代碼的生成過程已經完成。至于生成的代碼內容大家可以
17、打開相應文件細看,我們也將在后續部分中插述部分重要內容。添加庫文件添加庫文件添加用戶庫添加用戶庫發布 web 界面代碼并刷新 web 工程后我們的 web 工程出現了諸多錯誤,讓我們看看究竟是什么原因引起了錯誤:發布的界面代碼找不到依賴的業務邏輯類。我們需要添加用戶自定義庫。在web 工程的構建路徑中引入 W:easdev 下的 boslib_for_eas.userlibraries 和easlib_for_eas.userlibraries添加添加 WAF 包包從 W:easServerserverdeployeasweb.eareas_web.warWEB-INFlib 下拷貝以下文件到
18、工程目錄的WebContentWEB-INFlib 中,當然你也可以通過在構建路徑中引入外部 jar 包的方式配置。添加業務邏輯類引用添加業務邏輯類引用這里指的業務邏輯相關類即發布元數據時生成的類文件。我們有多種方式去引用這些類,由于業務的需要,我們可能需要修正這些類中的部分代碼,所以打包加載的方式有些不方便,故建議在構建路徑的源代碼一項中添加關聯目錄:選擇元數據發布的源代碼目錄。Web 界面代碼的修正界面代碼的修正* EditBean.java 的修正的修正在 EditBean 的 pageOnload()中有類似語句:我們須要修正為:*Edit.xhtml 文件的修正文件的修正將#mess
19、ages*形式的表達式都直接換成相應的信息,如#messagescreator替換為creator 或“創建人”。將messagesentries.seq替換為entries_seq 或其他。將修改為去除了多余字段。將重新定義分錄操作界面:把 biz:billEntryActions 標簽的內容替換為分錄操作的自定義部分,可以如下:修正前: 界面效果(點擊操作按鈕出錯,且無具體提示信息):修正后:界面效果(新增):*List.xhtml 文件的修正文件的修正將#messages*形式的表達式都直接換成相應的信息,如#messagescreator替換為creator 或“創建人” 。將 mes
20、sagesentries.seq替換為 entries_seq 或其他。部署及啟動部署及啟動 eas web 應用應用部署部署 EAS WEBEAS web 應用必須與 EAS 應用服務(非 web)場景同時使用, Eas 統一的應用部署路徑為W:easServerserverdeployeas.eareas_web.war 訪問路徑 http:/localhost:6888/easweb,我們需要做以下幾個步驟的部署:拷貝工程下的 scm_channel_web webWebContentWEB-INFclasses到 W:easServerserverdeployeas.eareas_we
21、b.warWEB-INFclasses拷貝 scm_channel_web webWebContent 下的相關文件到 W:easServerserverdeployeas.eareas_web.war該部分的拷貝比較繁瑣麻煩,我們提供了相應的批處理文件進行處理。Pt 環境下啟動環境下啟動 EAS 服務服務運行 W:easServerserverprofilesserver1bindebugserver.bat訪問單據編輯頁http:/localhost:6888/easweb/mydemo/phInWarehouseBillEdit.jsf訪問http:/localhost:6888/eas
22、web/mydemo/phInWarehouseBillList.jsf二次開發應用二次開發應用修改業務單元修改業務單元打開金蝶 bos,切換到金蝶 bos 業務建模透視圖打開需要二次開發修改的單據,使用選用板添加字段,以報銷單為例,如圖所示: 發布業務單元發布業務單元在費用報銷單界面里,單擊右鍵,選擇單據信息,確認不生成生成實現類,如圖所示:在菜單選擇費用報銷單,單擊右鍵,單擊發布業務單元/報表即可。執行升級腳本執行升級腳本在管理控制臺或直接數據庫中執行升級腳本,將新加字段添加到數據庫相應的數據表中。搭建搭建 web 開發環境開發環境按照 2、3、4、5 步驟搭建 web 開發環境修改修改
23、web 頁面頁面將 easServerserverdeployeasweb.eareas_web.warcpbcbizAccountBillEdit.xhtml 的頁面內容,覆蓋步驟 5 中生成 bizAccountBillEdit.xhtml 頁面。在頁面間將新添加的字段綁定,如下:修改修改 managedBean將 easServerserverdeployeasweb.eareas_web.warWEB-INFlibcp_bc_web_jar解壓縮,反編譯 BizAccountBillEditBean.class,將內容覆蓋步驟 5 生成的代碼。 修改代碼邏輯部署二次開發應用部署二次開發
24、應用將修改的 bizAccountBillEdit.xhtml,覆蓋easServerserverdeployeasweb.eareas_web.warcpbcbizAccountBillEdit.xhtml將修改的 BizAccountBillEditBean 后編譯生成的 BizAccountBillEditBean.class重新拖入easServerserverdeployeasweb.eareas_web.warWEB-INFlibcp_bc_web_jar 包中,替換原來的 class 文件。常見問題常見問題#message* EL Expression 錯誤錯誤 目前不支持該種表
25、達式顯示信息,我們需要替換該表達式為實際要使用的信息,如:將#messages*形式的表達式都直接換成相應的信息,如#messagescreator替換為creator。同樣,我們需要將messagesentries.seq替換為entries_seq 或其他。編輯界面單據體(分錄部分)無法顯示編輯界面單據體(分錄部分)無法顯示將編輯頁面的將修改為如何檢查調用類的物理路徑如何檢查調用類的物理路徑在調試過程中,在 Display 試圖中如下調用方式:this.getClass().getResource(/com/kingdee/eas/cp/bc/web/TravelAccountBillLi
26、stBean.class)下載文件時會在線打開,且出現亂碼(如何進行文件的下載)下載文件時會在線打開,且出現亂碼(如何進行文件的下載) AOM 使用原生態 AJAX 后文件下載出現該問題的解決,且不論在服務端中對 response 做何處理。如果你去除 f:view 中 renderKitId=AJAX的設置,且保證不會影響頁面其他功能,那當然是最好的解決。此外可以通過重定向到下載頁進行下載。解決 AOM 的文件下載問題有兩種方式,由于我們的實際應用場景中不是已存在文件的下載,需要與數據庫等的交互,中斷 jsf 生命周期的方式不可取。故我使用了重定向新頁面進行下載的方式,即在需要引入引出功能的
27、頁面上加入 iframe 框,并引用文件下載頁面資源:在單一文件下載頁面中不使用 AOM 的原生態 ajax:下載效果如下:點擊引出模板,將出現下載頁面如下圖:表單編輯頁中點擊新增分錄時出錯表單編輯頁中點擊新增分錄時出錯首先點擊增加分錄按鈕時出錯:#phdemo.PhStockBalanceBillEntryBean.appendRow: /phdemo/phStockBalanceBillEdit.xhtml 117,65 action=#phdemo.PhStockBalanceBillEntryBean.appendRow: java.lang.NullPointerException
28、at _expression_(0)。 解決辦法:在w:editDataGrid 下增加 jsvar=editEntryGrid相關內容請查看 operamasks 文檔:http:/ EditBean 或或 ListBean 中,通過中,通過IBOSBizCtrl 設置了某個接口(如:設置了某個接口(如:IBOSBizCtrl private IDocReceive service;),但發現在使用該接口),但發現在使用該接口 service 時,時,service 為為 null這時,需要檢查 APUSIC 運行環境中的 metas/entity_perties
29、是否存在該 service 對應的 entity.因為,在發布元數據時,有可能沒有將 eneity_perties 發布到 apusic/metas,或沒有將 entity 加入到 entity_perties 文件中在在 view 上找不到上找不到 managedBean檢查 managedBean 的目錄和 bean 的名稱是否符合規范,如果包名不一致或者文件名不一致都回出現此問題,如 HR 的績效模塊(performance) ,新增一個 View 時,xhtml 命名為 MyPerf.xhtml, 必須存在 WebContent/hr
30、/performance 下,而且對應的 ManagedBean 為 com.kingdee.eas.hr.performance.MyPerfBean.按鈕或者其他控件的狀態被緩存,如單據查看時某按鈕被置灰后,新增時按鈕仍是置灰的。按鈕或者其他控件的狀態被緩存,如單據查看時某按鈕被置灰后,新增時按鈕仍是置灰的。要在置灰狀態的地方,將不符合置灰條件的按鈕再顯示的變亮。因為 managedBean 可能定義為 session 的,所以存在會緩存狀態的可能。Web主界面開發方法主界面開發方法編制編制 jsp 頁面。頁面。在目錄 W:easServerserverdeployeas.earcp_we
31、b.warhtmlportlet 新建一個目錄,并在新建目錄下創建一個 jsp 文件。內容為: 注:src=./easweb/cp/index.jsf就指向 portlet 的內容頁。配置配置 portlet 模板信息。模板信息。打開文件 W:easServerserverdeployeas.earcp_web.warWEB-INF portlets.xml添加內容如下:43協同辦公viewportlet.cp_indexPortlet 業務配置信息設置。業務配置信息設置。打開文件 w:easserverdeployeas.earcp_web.warWEB-INFtiles-defs.xml添加內容如下:Portlet 基礎定義設置。基礎定義設置。通過上述配置后,還需要通過 EAS 管理控制臺執行如下腳本,在數據庫中插入一條記錄,sql 語句如下:Insert Into T_Portal_Portlet(FID,FC
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 快樂春游活動方案
- 房產找茬活動方案
- 強國尤我活動方案
- 河北省邢臺市臨城縣臨城鎮中學2024-2025學年七上數學期末考試模擬試題含解析
- 上饒衛生健康職業學院《中國古代文學2》2023-2024學年第一學期期末試卷
- 2025年浙江省紹興市高考地理三模試卷
- 2024年內蒙古林業總醫院招聘考試真題
- 2024年山西青年職業學院輔導員考試真題
- 2024年兵團第四師可克達拉市事業單位人才引進考試真題
- 教育心理學與學習技術未來教育的發展方向
- 浙江杭州市2024-2025學年高一下學期6月期末考試英語試題及答案
- 診所院內感染管理制度
- 2025年初中數學知識點測試題及答案
- 小學生集體活動安全課件
- (2025)發展對象考試試題附及答案
- 2025家庭裝飾裝修合同范本
- (高清版)DZT 0145-2017 土壤地球化學測量規程
- 冰淇淋行業招商策劃
- 酒店住宿水單模板
- 【教學】第五講-化學戰劑的種類與性質
- 阿貝折射儀使用說明書(
評論
0/150
提交評論