LFW打印模板技術(shù)紅皮書_V63_第1頁
LFW打印模板技術(shù)紅皮書_V63_第2頁
LFW打印模板技術(shù)紅皮書_V63_第3頁
LFW打印模板技術(shù)紅皮書_V63_第4頁
LFW打印模板技術(shù)紅皮書_V63_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、 LFWV63查詢模板技術(shù)紅皮書LFWV63查詢模板技術(shù)紅皮書 UAP中心 編著目錄第一章前言21.1 前言3第二章打印模板開發(fā)42.1打印模板開發(fā)的組成部分簡介52.2打印模板開發(fā)配置過程52.2.1 打印模板設(shè)計5第一章 前言UAP 技術(shù)紅皮書系列 第20 / 19頁本章內(nèi)容概要:l 前言1.1 前言打印模板功能比較描述簡單,概括說就是用戶設(shè)計模板,然后合并模板輸出打印客戶端的數(shù)據(jù)。V63版本對打印模板做了一些調(diào)整,加入了系統(tǒng)打印模板。打印模板中總體分為系統(tǒng)打印模板和個性化打印模板,系統(tǒng)打印模板需要預(yù)置但不可以分配,個性化打印模板可分配。相比較于V61版本,一個節(jié)點下最多存在一個系統(tǒng)打印模

2、板(除該功能節(jié)點下可以配置模板分配節(jié)點,允許配置系統(tǒng)打印模板)。 和其它打印方式不一樣的地方,通過安裝OBA插件,在Word中添加“用友UAP模板”設(shè)計器,設(shè)計Word模板并將其余XML數(shù)據(jù)源合并生成一個新的Word文檔,并通過其它插件(阮航)打開 。注:打印模板如果需要安裝OBA插件進(jìn)行模板設(shè)計時,只能安裝office2007進(jìn)行安裝OBA插件第二章 打印模板開發(fā)本章內(nèi)容概要:l 打印模板開發(fā)的組成部分簡介l 打印模板開發(fā)配置過程2.1 打印模板開發(fā)的組成部分簡介打印模板應(yīng)用首先需要了解的是哪些地方需要使用到打印模板打印模板分為系統(tǒng)打印模板和個性化打印模板,打印條件都來自于系統(tǒng)打印模板,個性

3、化打印模板可以分配不用用戶、角色和組織,并且在使用系統(tǒng)打印模板和個性化打印模板的時候,都需要設(shè)計上傳Word模板:Word模板可以分為離線設(shè)計和在線設(shè)計模式:1、 離線Word模板設(shè)計離線Word模板設(shè)計大致可以分為以下幾個步驟: 模板打印條件的編輯 模板打印條件的導(dǎo)出 新增Word模板,設(shè)計Word模板 上傳Word模板2、 在線Word模板設(shè)計在線Word模板設(shè)計大致可以分為以下幾個步驟: 模板打印條件的編輯 打開在線Word模板設(shè)計 保存Word模板設(shè)計模板打印的主要為三大模塊: 設(shè)計完成的Word模板 數(shù)據(jù)源 合并模板與數(shù)據(jù),輸出結(jié)果2.2 打印模板開發(fā)配置過程2.2.1 打印模板設(shè)計

4、總體來說,打印模板開發(fā)配置過程有3大模塊2.2.1.1打印模板設(shè)計態(tài)打印模板設(shè)計可以分離線設(shè)計和在線設(shè)計,但是這個是在編輯好打印條件的前提下,首先要了解打印條件的開發(fā)配置過程 編輯打印條件注:這個功能只針對于系統(tǒng)打印模板,因為個性化模板不存在編輯打印條件功能,個性化模板和系統(tǒng)打印模板公用一條打印條件,因此在使用個性化模板導(dǎo)出條件時,會先檢查是否預(yù)置了系統(tǒng)打印模板。通過選擇元數(shù)據(jù)主體,然后通過展開元數(shù)據(jù),選擇需要的條件至右側(cè)的條件列表中:根據(jù)所選元數(shù)據(jù),解析元數(shù)據(jù),獲取屬性列表:如元數(shù)據(jù)ID為beanId; IBusinessEntity bean = (IBusinessEntity) mdq

5、ry.getBeanByID(beanId);List attrList = bean.getAttributes();Iterator it = attrList.iterator();while(it.hasNext()IAttribute attr = it.next() /獲取元數(shù)據(jù)元素然后將展開的元數(shù)據(jù)寫入左側(cè)的Dataset,通過綁定一個樹,然后展開。在右側(cè)選擇的打印條件中,需要注意的是:如果針對哪個字段打印圖片、條形碼、二維碼時,需要選擇該該字段,然后“數(shù)據(jù)屬性解鎖”,就可以將該字段的數(shù)據(jù)類型設(shè)置成可選擇狀態(tài),選擇圖片數(shù)據(jù)類型,然后在參照編碼中選擇具體的圖片類型(包括一般圖片、二

6、維碼、條形碼)選擇具體圖片類型,然后點擊“確定”保存打印條件。然后是模板的設(shè)計開發(fā)過程 離線設(shè)計根據(jù)設(shè)計好的條件導(dǎo)出文件,生成XML文件,因為個性化模板和系統(tǒng)打印模板都是公用一套打印模板條件,因此對于是個性化模板的時候,需要去尋找系統(tǒng)打印模板,然后再去獲取打印條件,在uap.lfw.imp.print.base.CpPrintWordOperatorManager中添加方法onImportXml()方法導(dǎo)出XML文件,如:在nc.uap.ctrl.tpl.print.impl.CpPrintXmlServiceImpl中實現(xiàn)方法importXml(String pk_template)輸出xm

7、l文件的代碼:通過拼寫成xml文件結(jié)構(gòu)生成xml文件,保存在本地一個_xml文件,即可然后在本地新建一個word文檔,將生成的_xml文件導(dǎo)入到word文檔中點擊“打開”,word將_xml文件作為元數(shù)據(jù)生成下面右側(cè)的模板設(shè)計結(jié)構(gòu)然后可以根據(jù)右側(cè)的模板進(jìn)行設(shè)計保存word文件,離線設(shè)計過程完成,然后就是將設(shè)計好的模板上傳到服務(wù)器上供下載或打印使用。在nc.uap.ctrl.tpl.print.CpPrintInitCtrl中添加方法onWordUpload(MouseEvent mouseEvent)模板上傳:在uap.lfw.imp.print.base.CpPrintWordOperato

8、rManager中添加方法onWordUpload()具體實現(xiàn)過程:其中,在url中的參數(shù)filepk是針對當(dāng)前模板中是否存在已經(jīng)上傳的模板文件,如果存在,上傳模板只是更新文件內(nèi)容;不存在,則是新增一行保存文件。通過file.jsp打開url請求服務(wù),打開文件選擇彈出框選擇文件,點擊“保存”,將文件上傳到服務(wù)器上保存,并調(diào)用參數(shù)中設(shè)置的extendclass=“nc.uap.ctrl.tpl.print.WordUploadExtender”將上傳文件的文件pk_file回寫到當(dāng)前上傳文件模板的pk_file文件,更新當(dāng)前選擇打印模板,并且修改文件的保存狀態(tài)。 在線設(shè)計打印條件和離線設(shè)計一樣,

9、選擇一個打印模板,點擊“模板”中的打印模板在線設(shè)計:在nc.uap.ctrl.tpl.print.CpPrintInitCtrl中條件方法onLineTemplate(MouseEvent mouseEvent)實現(xiàn)方式在uap.lfw.imp.print.base.PrintOnLineDesignManager添加方法onlineDesigner()具體實現(xiàn)打印模板在線設(shè)計過程通過word.jsp打開url請求響應(yīng),觸發(fā)action,具體實現(xiàn);在nc.uap.ctrl.tpl.print.action.OnlineWordAction中方法down(Param(name=“id”) Str

10、ing id):在uap.lfw.imp.print.base.CpPrintTemplateManager中方法onlineDesignTemplateMerger(String id,outputStream out)具體實現(xiàn)word在線設(shè)計過程如果選擇的打印模板中未上傳模板文件,則新增一個空的word模板;反之,則使用已上傳的word模板打開,并且在打開word模板文件之前,先獲取打印條件并將與獲取的word模板文件合并生成一個新的Word文檔,然后通過officeControl控件打開,然后就可以在線設(shè)計模板。注:設(shè)計模板方式選擇word中“用友UAP模板” 可以選擇“控件”中文本 選

11、擇右側(cè)模板設(shè)計中的一個字段,進(jìn)行綁定2.2.1.2數(shù)據(jù)源根據(jù)客戶端展現(xiàn)信息,搜集可使用的數(shù)據(jù),為打印提供詳細(xì)數(shù)據(jù)信息,在抽象類nc.uap.ctrl.tpl.print.init.PrintAbstractService中實現(xiàn)了接口nc.uap.ctrl.tpl.print.init. ICpFreeFormTemplatePrintService和接口nc.uap.ctrl.tpl.print.init. ICPPrintExtendService,其中PrintAbstractService實現(xiàn)了兩個接口,并且在該抽象類中設(shè)置了一些屬性,需要在繼承該類時設(shè)置,如屬性datasetList為

12、當(dāng)前單據(jù)中所有主dataset列表,在調(diào)用打印之前需要設(shè)置該屬性,才能通過當(dāng)前單據(jù)獲取到客戶端詳細(xì)數(shù)據(jù),如nc.uap.ctrl.tpl.print.init.DefaultPrintService中,它繼承了PrintAbsractService屬性flowhistoryPk為單據(jù)ID,設(shè)置該單據(jù)ID,可以獲取單據(jù)的歷史流程信息然后根據(jù)模板設(shè)置中是否流程實體來判斷打印流程歷史信息。屬性winId為當(dāng)前單據(jù)模板ID屬性nodeId為當(dāng)前單據(jù)模板的節(jié)點編碼根據(jù)winId和nodeId可以獲取到個性化模板,如果不存在個性話模板的話,則獲取當(dāng)前模板,具體實現(xiàn):通過比較當(dāng)前模板ID和設(shè)置winId,判斷是前臺打印還是后臺打印,如果是后臺打印的話,需要獲取到個性化模板(特別是針對于自定義項,設(shè)置了不同類型,只能通過個行化模板才能字段最后類型)。2.2.1.3打印模板運(yùn)行態(tài)打印運(yùn)行態(tài),主要通過界面按鈕點擊“打印”,然后打印服務(wù),如:可以調(diào)用默認(rèn)打印服務(wù),設(shè)置當(dāng)前dataset列表和當(dāng)前單據(jù)ID,實現(xiàn)打印,然后調(diào)用打印接口,具體實現(xiàn)在nc.uap.ctrl.tpl.print.,imp

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論