顯示公式的表頭表體處理_第1頁
顯示公式的表頭表體處理_第2頁
顯示公式的表頭表體處理_第3頁
顯示公式的表頭表體處理_第4頁
顯示公式的表頭表體處理_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、以材料采購合同為例:具體單據模板及腳本代碼間單據類型 R8 。需求:(1)在表頭通過參照客商檔案公式帶出 “開發商(甲方)名稱”和“開發商(甲方)編碼”,“開發商(乙方)名稱”和“開發商(乙方)編碼”,并將 “開發商(甲方)”的PK值”和“開發商(乙方)”的PK值”保存到數據庫中;(2)在表體通過參照存貨檔案公式帶出“材料名稱”和“材料編碼”、“計量單位”,同時提取出材料的存貨管理檔案ID和存貨基本檔案ID并和計量單位一同保存到數據庫中。設計:實現上述需求的方法有很多,下面這種方法只是個人覺得比較安全清晰的一種設計方法:各頁面標簽如下圖所示表頭:我們在表頭設計兩個“開發商(甲方)名稱”項目標簽

2、(其中一個為系統項目,其項目主鍵為pk_kfsid,為參照類型,參照客商檔案,存PK值;另一個為自定義項目,其項目主鍵為vkfsname,為字符型,),同時增加一個“開放商(甲方)編碼”的自定義項目,其項目主鍵為vkfscode ,并增加一個my_pk_cubasdoc的自定義項目以作為中間變量存儲字符型客商管理檔案pk值,不顯示。供應商(乙方)同樣按照上面步驟進行設置,其中my_pk_cubasdoc2也是一個中間變量,不顯示。其設計思想是,由用戶通過選擇參照類型的“開發商(甲方)名稱”帶出客商管理檔案pk值,通過編輯公式取出基本檔案pk值,最后帶出名稱和編碼。設置兩個開發商名稱的目的是為了

3、在卡片和列表兩種不同模式下能夠交替顯示名稱。這是表頭,下面講講表體:首先把系統的項目標簽“存貨基本檔案ID”(pk_chbasdocid)和“存貨管理檔案ID”(pk_chmandocid)設置為不顯示,他們用來存儲材料的兩個檔案的pk值,然后新增“材料編碼”和 “材料名稱”兩個自定義項目,其中“材料編碼”(vmatecode)為參照類型(存貨檔案),“材料名稱”(vmatename)為字符型類型;另外除系統自帶的用于存儲計量單位PK值的字符型的項目“計量單位”(vmeasunit)外,還添加了一個參照型的自定義項目“計量單位”(vmeasunit2),用于顯示計量單位的名稱。其設計思想是:由

4、“材料編碼”(vmatecode)參照取出“存貨管理檔案ID”,然后再由編輯公式分別帶出“存貨基本檔案ID”(pk_chbasdocid)、“材料名稱”(vmatename)、“計量單位”(vmeasunit)、“計量單位”(vmeasunit2)。具體實現:下面將以表格形式給出單據模板中各個字段的設置(包括命名、屬性、公式等),具體還可以參照我的單據模板(R8):表頭:項目主鍵顯示名稱卡片是否顯示列表是否顯示數據類型顯示公式編輯公式開發商(甲方)名稱pk_kfsid是否參照客商檔案腳本1腳本2開發商(甲方)名稱vkfsname否是字符腳本3開發商(甲方)編碼vkfscode是是字符供應商(乙

5、方)名稱pk_gysid是否參照客商檔案供應商(乙方)名稱vgysname否是字符供應商(乙方)編碼vgyscode是是字符my_pk_cubasdocmy_pk_cubasdoc否否字符my_pk_cubasdoc2my_pk_cubasdoc2否否字符腳本1:my_pk_cubasdoc2->getColValue(bd_cumandoc,pk_cubasdoc,pk_cumandoc,pk_gysid);my_pk_cubasdoc->getColValue(bd_cumandoc,pk_cubasdoc,pk_cumandoc,pk_kfsid);vgyscode->

6、getColValue(bd_cubasdoc,custcode,pk_cubasdoc,my_pk_cubasdoc2);vgysname->getColValue(bd_cubasdoc,custname,pk_cubasdoc,my_pk_cubasdoc2);vkfscode->getColValue(bd_cubasdoc,custcode,pk_cubasdoc,my_pk_cubasdoc);vkfsname->getColValue(bd_cubasdoc,custname,pk_cubasdoc,my_pk_cubasdoc);腳本2:my_pk_cubas

7、doc->getColValue(bd_cumandoc,pk_cubasdoc,pk_cumandoc,pk_kfsid);vkfscode->getColValue(bd_cubasdoc,custcode,pk_cubasdoc,my_pk_cubasdoc);vkfsname->getColValue(bd_cubasdoc,custname,pk_cubasdoc,my_pk_cubasdoc);腳本3:my_pk_cubasdoc2->getColValue(bd_cumandoc,pk_cubasdoc,pk_cumandoc,pk_gysid);vgys

8、code->getColValue(bd_cubasdoc,custcode,pk_cubasdoc,my_pk_cubasdoc2);vgysname->getColValue(bd_cubasdoc,custname,pk_cubasdoc,my_pk_cubasdoc2);項目主鍵顯示名稱卡片是否顯示列表是否顯示數據類型顯示公式編輯公式存貨基本檔案IDpk_chbasdocid否否字符存貨管理檔案IDpk_chmandocid否否字符腳本4材料編碼vmatecode是是參照存貨檔案腳本5“關鍵字名”為 pk_chmandocid材料名稱vmatename是是字符計量單位vme

9、asunit否否字符計量單位vmeasunit2是是參照計量檔案腳本6腳本7“關鍵字名”為vmeasunit腳本4:pk_chbasdocid->getColValue(bd_invmandoc,pk_invbasdoc,pk_invmandoc,pk_chmandocid);vmatecode->getColValue(bd_invbasdoc,invcode,pk_invbasdoc,pk_chbasdocid);vmatename->getColValue(bd_invbasdoc,invname,pk_invbasdoc,pk_chbasdocid);vmeasuni

10、t->getColValue(bd_invbasdoc,pk_measdoc,pk_invbasdoc,pk_chbasdocid);腳本5:pk_chbasdocid->getColValue(bd_invmandoc,pk_invbasdoc,pk_invmandoc,pk_chmandocid);vmatename->getColValue(bd_invbasdoc,invname,pk_invbasdoc,pk_chbasdocid);vmeasunit->getColValue(bd_invbasdoc,pk_measdoc,pk_invbasdoc,pk_c

11、hbasdocid);vmeasunit2->getColValue(bd_measdoc,measname,pk_measdoc,vmeasunit);腳本6:vmeasunit2 ->getColValue(bd_measdoc, measname,pk_measdoc,vmeasunit);腳本7:vmeasunit->vmeasunit2;常見出錯問題的避免:(1) 由于我們的腳本編譯器,會對代碼進行優化操作,所以在寫腳本時,盡量把涉及相同表相同字段的公式寫在一起,有時候比如幾個字段的顯示公式盡量寫在一起,避免腳本編譯器在進行腳本優化后的代碼出錯。(2) 有時候表單參

12、照選定某個值后,表達界面沒有刷新,這種錯誤常常是由于在 ClientUI類的afterEdit方法的末尾未添加界面刷新操作: getBillCardPanel().execHeadEditFormulas(); (3) 保存后,表頭由公式帶出的自定義項目的值在界面上顯示為空。具體如下圖所示,開發商編碼和供應商編碼在保存后均顯示為空,但切換到列表狀態下卻有值。在吳垌沅的努力下,此問題目前得已解決,請在ui包的UI控制類的方法isLoadCardFormula返回值改為true. public boolean isLoadCardFormula() return true; (4) 關于“批量執行

13、公式之順序問題”(由 恩平 總結)getColValue是一個很常用的公式,用于數據庫取數,在業務代碼中大量使用;公式解析器支持批量執行取數公式,但如果同一批公式中存在相互關系,則要注意公式的前后順序。舉例如下:有兩個取數公式:(1)bb->getColValue(tableA, pk_b, pk_A, aa);(2)bName->getColValue(tableB, name, pk_B, bb);一:第(2)個公式是根據第(1)個公式的結果來取值的,很容易想到公式(2)應該放在公式(1)之后;二:假設還存在一個公式(0)也是在tableB中取數:(0)bCode->getColValue(tableB, code, pk_else, pkelse)由于我們在后臺批量執行的代碼中作了優化,對于同一個表的多個取數

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論