第一篇:EBU客戶化開(kāi)發(fā)UAP業(yè)務(wù)提升手冊(cè)(V890版)_v1.1
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
用友軟件股份有限公司
地址:北京市海淀區(qū)北清路68號(hào)
用友軟件園
電話:010-62436688
網(wǎng)址:004km.cn 客戶化開(kāi)發(fā)UAP業(yè)務(wù)提升手冊(cè)
起草單位 :ERP咨-客戶化開(kāi)發(fā)部 修正單位 :
第1頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
批
準(zhǔn) :
批準(zhǔn)日期 :
第2頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
目錄 2 3 4 摘要...........................................................................................................................................7 樣例開(kāi)發(fā)前提...........................................................................................................................8 建立UAP項(xiàng)目.........................................................................................................................8 表單、檔案開(kāi)發(fā).....................................................................................................................11 4.1 建立表單模型.............................................................................................................11 4.1.1 4.1.2 4.2 4.3 新建實(shí)體.........................................................................................................12 新建實(shí)體屬性.................................................................................................14 建立表單布局.............................................................................................................23 行為對(duì)象開(kāi)發(fā).............................................................................................................23 4.3.1 4.3.2 4.3.3 4.3.4 4.3.5 4.3.6 4.3.7 4.3.8 表單開(kāi)發(fā).........................................................................................................26 列表開(kāi)發(fā).........................................................................................................63 生單二次開(kāi)發(fā).................................................................................................72 聯(lián)查報(bào)表.........................................................................................................78 聯(lián)查UAP列表...............................................................................................82 UAP列表聯(lián)查U8單據(jù).................................................................................82 用戶自定義控件開(kāi)發(fā).....................................................................................88 U8單據(jù)引用UAP檔案.................................................................................91 第3頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
4.3.9 5 行為對(duì)象注冊(cè)...............................................................................................111 報(bào)表開(kāi)發(fā)...............................................................................................................................115 5.1 5.2 摘要...........................................................................................................................115 基本操作...................................................................................................................116 5.2.1 5.2.2 5.2.3 5.2.4 5.3 新增報(bào)表.......................................................................................................116 新增數(shù)據(jù)源...................................................................................................131 報(bào)表查詢.......................................................................................................138 分組...............................................................................................................138 報(bào)表設(shè)計(jì)開(kāi)發(fā)實(shí)例...................................................................................................141 5.3.1 5.3.2 5.3.3 5.3.4 存儲(chǔ)過(guò)程模式開(kāi)發(fā)實(shí)例(整體條件串)...................................................141 復(fù)雜報(bào)表開(kāi)發(fā)實(shí)例.......................................................................................148 圖形化報(bào)表開(kāi)發(fā)實(shí)例...................................................................................174 UAP報(bào)表腳本抽取......................................................................................193 6 建立數(shù)據(jù)引擎.......................................................................................................................195 6.1 6.2 功能介紹...................................................................................................................195 使用說(shuō)明...................................................................................................................197 6.2.1 6.2.2 登陸UAP環(huán)境.............................................................................................197 配制實(shí)體.......................................................................................................198 第4頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
6.2.3 6.3 7 業(yè)務(wù)對(duì)象.......................................................................................................207 應(yīng)用技巧...................................................................................................................219 設(shè)置過(guò)濾條件.......................................................................................................................219 7.1 7.2 7.3 功能介紹...................................................................................................................219 使用說(shuō)明...................................................................................................................220 應(yīng)用技巧...................................................................................................................226 8 設(shè)置欄目...............................................................................................................................226 8.1 8.2 8.3 功能介紹...................................................................................................................226 使用說(shuō)明...................................................................................................................226 應(yīng)用技巧...................................................................................................................229 9 UAP參照..............................................................................................................................229 9.1 9.2 功能介紹...................................................................................................................229 使用說(shuō)明...................................................................................................................229 權(quán)限...............................................................................................................................239 10.1 10.2 10.3 功能權(quán)限...............................................................................................................239 記錄級(jí)權(quán)限...........................................................................................................240 字段級(jí)權(quán)限...........................................................................................................241 部署...............................................................................................................................243 10
第5頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
11.1 11.2 11.3 11.4 12
12.1 UAP表單導(dǎo)出與導(dǎo)入..............................................................................................243 UAP項(xiàng)目導(dǎo)出與導(dǎo)入..............................................................................................245 行為對(duì)象部署.......................................................................................................246 報(bào)表部署...............................................................................................................246 附錄:功能介紹...........................................................................................................247 行為對(duì)象升級(jí)說(shuō)明...............................................................................................247 12.1.1 12.1.2 ReceiptPluginBase新增接口(與872版本的IReceipt接口相比)........247 ReceiptPluginBase新增接口(與871版本的IReceipt接口相比)........250 12.2 LoginInfo 對(duì)象介紹................................................................................................254
第6頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部 摘要
本文以U8-ERP中的銷售訂單為應(yīng)用原型,介紹了如何通過(guò)UAP平臺(tái)進(jìn)行軟件開(kāi)發(fā),文中給出了開(kāi)發(fā)方法和豐富的樣例。內(nèi)容包括:
UAP表單開(kāi)發(fā)原理
UAP項(xiàng)目的建立和導(dǎo)入、導(dǎo)出
UAP表單的模型設(shè)計(jì)和布局設(shè)計(jì)
UAP表單的行為對(duì)象開(kāi)發(fā)
UAP表單列表設(shè)計(jì)與開(kāi)發(fā)
UAP表單列表的行為對(duì)象開(kāi)發(fā)
如何對(duì)UAP表單的缺省按鈕進(jìn)行擴(kuò)展性開(kāi)發(fā)
如何對(duì)UAP表單的缺省按鈕進(jìn)行取代性開(kāi)發(fā)
如何為UAP表單增加新的按鈕及行為
如何用程序代碼調(diào)用UAP報(bào)表
如何用程序代碼調(diào)用UAP表單列表
如何在UAP表單中增加權(quán)限控制:功能權(quán)限、字段權(quán)限、記錄權(quán)限
如何為UAP表單開(kāi)發(fā)自定義控件
如何開(kāi)發(fā)樹(shù)形檔案
如何維護(hù)UAP數(shù)據(jù)引擎
如何維護(hù)欄目
如何維護(hù)過(guò)濾條件
如何調(diào)用U8API U8單據(jù)自定義項(xiàng)如何引用UAP檔案
本文檔中使用的示例文件為“銷售訂單二次開(kāi)發(fā)”,可以通過(guò)UAP將該文件導(dǎo)入到帳套中。項(xiàng)目名稱為“ SaleVoucher ”,導(dǎo)入后在項(xiàng)目中包括幾個(gè)自定義單據(jù):“銷售訂單”為二第7頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
次開(kāi)發(fā)的Demo示例;“零售日?qǐng)?bào)”為自定義空間二次開(kāi)發(fā)的Demo示例;“列表檔案示例”、“樹(shù)形編輯檔案示例”、“樹(shù)形導(dǎo)航檔案示例”分別為各個(gè)對(duì)應(yīng)的檔案類型的示例。
項(xiàng)目源代碼: 樣例開(kāi)發(fā)前提
首先,需要安裝U8(890)產(chǎn)品,并建立一個(gè)帳套。
其次,您需要向用友公司購(gòu)買UAP表單設(shè)計(jì)許可;不過(guò)您可以使用UAP的演示版本,但是演示版本不能新建UAP項(xiàng)目,也不能注冊(cè)行為對(duì)象。建立UAP項(xiàng)目
使用UAP登錄帳套后,在系統(tǒng)界面上的新建項(xiàng)目選項(xiàng)卡,選中“供應(yīng)鏈”后,在右邊的列表中選擇“銷售管理”,在界面下方的幾個(gè)文本框中輸入項(xiàng)目名稱,編號(hào),描述等;順序選擇框使用“默認(rèn)”即可。點(diǎn)擊“確定”如果輸入信息與先前創(chuàng)建的項(xiàng)目信息不沖突,項(xiàng)目就可被成功創(chuàng)建。
您也可以導(dǎo)入我們?yōu)槟峁┑腢AP樣例項(xiàng)目,導(dǎo)入方法如下。
1、登錄UAP;
2、打開(kāi)菜單“文件-導(dǎo)入和導(dǎo)出”;
第8頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
3、選中“導(dǎo)入項(xiàng)目數(shù)據(jù)到目前的服務(wù)器”,點(diǎn)“確定”按鈕;
4、點(diǎn)“導(dǎo)入”按鈕,選取培訓(xùn)目錄下的 “Samplefile”;
第9頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
5、導(dǎo)入成功后;
6、在UAP已存在的項(xiàng)目中產(chǎn)生了一個(gè)名稱為“SaleVoucher”的項(xiàng)目;
第10頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部 表單、檔案開(kāi)發(fā)
4.1 建立表單模型
選中“自定義表單”節(jié)點(diǎn),單擊右鍵,使用“新建自定義表單”功能創(chuàng)建一個(gè)新的表單。然后在彈出的選擇界面中選擇“表單類型”下的“單據(jù)”,在名稱文本框中輸入一個(gè)表單名字,不要與以前創(chuàng)建的表單名字重復(fù)。在成功創(chuàng)建后,系統(tǒng)界面如下圖所示:
圖表 1 在上圖所示的實(shí)體節(jié)點(diǎn),默認(rèn)有兩個(gè)子節(jié)點(diǎn),分別為:主表、第一子表,根據(jù)當(dāng)前表單的需要設(shè)計(jì)實(shí)體,包括增加實(shí)體和實(shí)體屬性等。
第11頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
4.1.1 新建實(shí)體
需要為實(shí)體填寫“實(shí)體名稱”,和選擇“實(shí)體類型”。除此以外,還可以通過(guò)實(shí)體的屬性編輯窗口為實(shí)體設(shè)置各項(xiàng)信息。
第12頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
實(shí)體的相關(guān)屬性:
名稱:實(shí)體顯示的名稱,僅用于設(shè)計(jì)時(shí)。
發(fā)布狀態(tài):實(shí)體是否已發(fā)布,只讀。
功能:為實(shí)體定義自定義功能,在運(yùn)行時(shí)顯示為表格對(duì)應(yīng)的工具欄按鈕。
狀態(tài)設(shè)置:設(shè)置實(shí)體屬性、功能在表單運(yùn)行時(shí)的狀態(tài),決定實(shí)體屬性、功能在不同的環(huán)境下是否可用。
物理表模式:設(shè)置實(shí)體物理表的創(chuàng)建模式,默認(rèn)為由UAP在發(fā)布時(shí)自動(dòng)創(chuàng)建。在特殊的應(yīng)用場(chǎng)景中可以使用“使用已存在的對(duì)象”或“無(wú)”。后兩種情況下UAP不負(fù)責(zé)實(shí)體物理表的維護(hù)。
第13頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
物理表:設(shè)置該實(shí)體在數(shù)據(jù)庫(kù)存儲(chǔ)時(shí)使用的物理表,一般情況下一個(gè)實(shí)體對(duì)應(yīng)一個(gè)物理表。
數(shù)據(jù)引擎模式:設(shè)置實(shí)體運(yùn)行時(shí)數(shù)據(jù)的訪問(wèn)方式。默認(rèn)為UAP系統(tǒng)在發(fā)布時(shí)自動(dòng)創(chuàng)建,特殊的應(yīng)用場(chǎng)景中可以使用“使用已存在的對(duì)象”或“無(wú)”,這兩種情況下系統(tǒng)不負(fù)責(zé)實(shí)體數(shù)據(jù)的讀取,只能通過(guò)用戶定義的接口獲取數(shù)據(jù)集。
數(shù)據(jù)引擎:當(dāng)數(shù)據(jù)引擎模式為“使用已存在的對(duì)象”時(shí),設(shè)置要使用的數(shù)據(jù)引擎對(duì)象。
主鍵:設(shè)置實(shí)體物理表的主鍵字段名。
主鍵類型:設(shè)置實(shí)體物理表主鍵字段的類型,可選“整數(shù)”或“GUID”或“字符串”。
行模式:多行或單行。一般主表設(shè)置為單行。
4.1.2 新建實(shí)體屬性
實(shí)體必須包含實(shí)體屬性時(shí)才有效。可以在UAP界面“表單”窗口中,右鍵點(diǎn)擊實(shí)體對(duì)應(yīng)的節(jié)點(diǎn),選擇“新建實(shí)體屬性”菜單向?qū)嶓w添加實(shí)體屬性:
實(shí)體屬性通用屬性:
第14頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
? 類型:該實(shí)體屬性的類型。? 描述:對(duì)該實(shí)體屬性的單體描述。? 屬性名稱:實(shí)體屬性的名稱。? 默認(rèn)值:實(shí)體屬性的默認(rèn)值。
? 使用默認(rèn)值:用戶未提供數(shù)據(jù)時(shí),是否使用實(shí)體屬性的默認(rèn)值。? 發(fā)布:該實(shí)體屬性是否已經(jīng)發(fā)布。
? 常用條件:該實(shí)體屬性是否可以在過(guò)濾中作為常用條件使用。? 區(qū)間條件:該實(shí)體屬性是否可以在過(guò)濾中作為區(qū)間條件使用。? 值更新事件:設(shè)置該實(shí)體屬性值更新時(shí)需要處理的腳本列表。
基礎(chǔ)資料類型字段共有三種類型的值更新事件:“攜帶當(dāng)前字段相關(guān)參照屬性到指定列”、“計(jì)算定義公式的值到指定列”、“表達(dá)式為真/假時(shí)改變指定欄目編輯狀態(tài)”;其余類型字段比基礎(chǔ)資料類型字段缺少第一種類型的值更新事件。
1.攜帶當(dāng)前字段相關(guān)參照屬性到指定列
2.計(jì)算定義公式的值到指定列
第15頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
3.表達(dá)式為真/假時(shí)改變指定欄目編輯狀態(tài)
第16頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
表達(dá)式為真假時(shí)修改指定欄目的編輯狀態(tài)
表達(dá)式為真假時(shí)修改指定欄目的顯示狀態(tài)
第17頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
表達(dá)式為真假時(shí)修改指定功能狀態(tài)
表單功能
第18頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
實(shí)體功能
第19頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
? 唯一約束:是否檢查該實(shí)體屬性的值在整個(gè)表單范圍內(nèi)唯一。? 文本對(duì)齊:實(shí)體屬性文本的顯示位置。
? 顯示文本:實(shí)體屬性的不同語(yǔ)言環(huán)境中顯示的文本。? 允許空值:實(shí)體屬性的值是否可以為空。
? 物理表:實(shí)體屬性對(duì)應(yīng)物理字段的表名,即該實(shí)體屬性所屬實(shí)體的物理表。? 字段:實(shí)體屬性對(duì)應(yīng)的物理字段名。
除了支持以上通用屬性外,不同類型的實(shí)體屬性還具有不同的特性:
1.表單編號(hào)
表單編號(hào)只能出現(xiàn)的主表實(shí)體中,并且只能有一個(gè)表單編號(hào)類型的實(shí)體屬性。
2.表單名稱
表單名稱類型的實(shí)體屬性只能在檔案類型的表單中使用,同表單編號(hào)一樣,表單名稱類型的實(shí)體屬性只能出現(xiàn)主表實(shí)體中,并且只能出現(xiàn)一次。
3.整數(shù)和正整數(shù)
? 可否為0:數(shù)值型的值是否可為0。
? 錄入長(zhǎng)度:限制用戶可錄入數(shù)值的最多位數(shù)。? 數(shù)據(jù)格式:數(shù)值類型的顯示格式。
? 最大值和最小值:數(shù)據(jù)的有效范圍。正整數(shù)的最小值必須等于或大于0。4.小數(shù)和正小數(shù)
? 可否為0:數(shù)值型的值是否可為0。
? 錄入長(zhǎng)度:限制用戶可錄入數(shù)值的最多位數(shù)。? 數(shù)據(jù)格式:數(shù)值類型的顯示格式。
? 最大值和最小值:數(shù)據(jù)的有效范圍。正小數(shù)的最小值必須等于或大于0。? 小數(shù)位數(shù):數(shù)據(jù)保留的小數(shù)位數(shù)。5.文本
? 多行輸入:運(yùn)行時(shí)是否支持錄入多行文本。
第20頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
? 最大長(zhǎng)度:最多可錄入的文本長(zhǎng)度。6.日期和日期時(shí)間
日期類型運(yùn)行短日期格式,即只包含年月日。日期時(shí)間類型包含年月日和時(shí)分秒。
7.枚舉
枚舉類型的實(shí)體屬性需要設(shè)置枚舉值列表,枚舉值的顯示值為在界面顯示的文本,保存值為實(shí)際保存到數(shù)據(jù)庫(kù)的數(shù)據(jù),如枚舉類型的實(shí)體屬性“銷售類型”的枚舉值可設(shè)置為如下圖所示:
U890中枚舉字段支持選擇“枚舉模式”:使用已存在枚舉、新創(chuàng)建枚舉。選擇“使用已存在枚舉”后,需要為“枚舉類型”選擇一個(gè)U8系統(tǒng)中現(xiàn)有的枚舉中的一個(gè)。
8.基礎(chǔ)資料
基礎(chǔ)資料類型的值來(lái)自指定參照檔案的對(duì)照值。
? 參照對(duì)象:設(shè)置基礎(chǔ)資料類型實(shí)體屬性的參照檔案對(duì)象,可以從U8檔案列表第21頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
中選擇,包含UAP中定義為檔案類型的表單。
? 參照顯示值:該屬性是設(shè)置當(dāng)前就“基礎(chǔ)資料”字段在運(yùn)行時(shí)的文本框里顯示參照的那個(gè)字段的值。如“參照對(duì)象”屬性選擇的存貨檔案,如果不設(shè)參照顯示值,則運(yùn)行時(shí)默認(rèn)顯示為存貨編碼,如果將“參照顯示值”屬性設(shè)置為存貨檔案的“存貨”名稱,運(yùn)行時(shí)該字段就會(huì)顯示為存貨的名稱。? 選擇方式:設(shè)置在運(yùn)行時(shí)的對(duì)照選擇方式。
? 自動(dòng)校驗(yàn):是否對(duì)錄入的值進(jìn)行檢驗(yàn)以確定數(shù)據(jù)是否來(lái)自指定的參照對(duì)象。選擇“否”時(shí)允許用戶錄入?yún)⒄諏?duì)象中不存在的值。
9.基礎(chǔ)資料屬性
基礎(chǔ)資料屬性類型的實(shí)體屬性必須和基礎(chǔ)資料類型的實(shí)體屬性結(jié)合使用。
? 參照屬性:設(shè)置基礎(chǔ)資料屬性類型的實(shí)體屬性要綁定的基礎(chǔ)資料類型實(shí)體屬性,并指定關(guān)聯(lián)的參照字段。當(dāng)基礎(chǔ)資料類型的實(shí)體屬性值變化時(shí),基礎(chǔ)資料屬性類型的實(shí)體屬性值隨之改變。
10.數(shù)量、價(jià)格和金額
數(shù)量、價(jià)格和金額類型的實(shí)體屬性實(shí)質(zhì)上為小數(shù)類型,設(shè)置等同于小數(shù)類型的實(shí)體屬性。
11.復(fù)選框
特殊類型的整數(shù)值,運(yùn)行時(shí)顯示為復(fù)選框,保存的數(shù)據(jù)為0(未選擇)或1(選擇)。
12.制單人
當(dāng)前單據(jù)的作者,一般設(shè)為登錄用戶。
13.制單日期和修改日期
制單日期保存當(dāng)前表單生成的日期;修改日期保存表單最后一次修改的日期。這兩第22頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
種類型的實(shí)體屬性實(shí)質(zhì)上為日期時(shí)間類型,設(shè)置等同于日期時(shí)間類型的實(shí)體屬性。
4.2 建立表單布局
在完成實(shí)體的設(shè)計(jì)后,可以設(shè)計(jì)表單布局,UAP支持一個(gè)表單多個(gè)布局視圖,用戶可根據(jù)自己的使用習(xí)慣選擇一種布局視圖。布局視圖的設(shè)計(jì)與普通window界面的布局設(shè)計(jì)基本一致。
4.3 行為對(duì)象開(kāi)發(fā)
行為對(duì)象開(kāi)發(fā)是指增加表單或列表的功能按鈕,除了UAP系統(tǒng)自帶的功能按鈕外,還可以增加按鈕,這些增加的功能按鈕是UAP表單開(kāi)發(fā)的基礎(chǔ)。
UAP提供了多種增加功能的途徑,首先通過(guò)設(shè)計(jì)界面的樹(shù)形菜單中的“功能”節(jié)點(diǎn)下的表單功能和列表功能的“功能管理”(圖表2)添加功能按鈕,這些功能按鈕最終在運(yùn)行時(shí)第23頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
會(huì)被加載到U8產(chǎn)品的門戶上;其次可以為每個(gè)表單實(shí)體添加功能按鈕(圖表3),為實(shí)體添加完成這些功能按鈕后,還需要在布局視圖上為該表單實(shí)體的“功能”屬性設(shè)置使用這些功能(圖表4),這些功能按鈕最終在運(yùn)行時(shí)會(huì)被加載到該實(shí)體的工具欄按鈕上。
圖表 2
第24頁(yè)
共 261頁(yè)
圖表
圖表
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
圖表 5
增加功能按鈕時(shí),很多工作都可以通過(guò)上圖(圖5)的設(shè)計(jì)界面完成,開(kāi)發(fā)人員關(guān)心的僅僅是表單開(kāi)發(fā)業(yè)務(wù)邏輯的實(shí)現(xiàn)。這些按鈕的作用主要是通過(guò)在運(yùn)行時(shí)對(duì)模型對(duì)象中數(shù)據(jù)的修改以及最終將修改的數(shù)據(jù)持久化來(lái)完成的。
UAP表單開(kāi)發(fā)分為表單開(kāi)發(fā)和列表開(kāi)發(fā)兩種。因此對(duì)應(yīng)了兩種不同的開(kāi)發(fā)類型定義了兩種不同的訪問(wèn)模型對(duì)象數(shù)據(jù)的接口。
第25頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
新增功能開(kāi)發(fā)(鎖定、解鎖、關(guān)閉、打開(kāi))表單功能開(kāi)發(fā)表單開(kāi)發(fā)已有功能修改(審核、棄審等)新增功能開(kāi)發(fā)(復(fù)制選中行、查詢訂單對(duì)應(yīng)報(bào)價(jià)單、訂單追溯查詢)UAP分層開(kāi)發(fā)列表開(kāi)發(fā)表單實(shí)體功能開(kāi)發(fā)新增功能開(kāi)發(fā)(批審、批棄、批量關(guān)閉、批量打開(kāi))已有功能修改(暫無(wú))已有功能修改(暫無(wú))
4.3.1 表單開(kāi)發(fā)
表單開(kāi)發(fā)訪問(wèn)模型對(duì)象的接口
UFIDA.U8.UAP.UI.Runtime.Model.ReceiptPluginBase,該接口被定義在UFIDA.U8.UAP.UI.Runtime.Model.dll中,所以在做表單開(kāi)發(fā)前,你需要為新建的表單開(kāi)發(fā)項(xiàng)目添加UFIDA.U8.UAP.UI.Runtime.Model.dll的引用。
表單開(kāi)發(fā)又可細(xì)分為表單功能開(kāi)發(fā)和表單實(shí)體功能開(kāi)發(fā),每個(gè)不同部分的開(kāi)發(fā)又都分為UAP已有按鈕的功能修改開(kāi)發(fā)和新增按鈕的功能開(kāi)發(fā)。目前為止,只要是表單開(kāi)發(fā),只需要實(shí)現(xiàn)上述類即可。在繼承ReceiptPluginBase后,在子類中會(huì)重寫(override)以下這些方法:
public virtual IButtonEventHandler GetButtonEventHandler(UFIDA.U8.UAP.UI.Runtime.Common.VoucherButtonArgs ButtonArgs, VoucherProxy voucherObject){ return null;第26頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
}
///
/// ///
U8登錄對(duì)象 ///
.Net登錄對(duì)象 ///
表單編號(hào) ///
表單數(shù)據(jù) ///
表單狀態(tài) ///
表單數(shù)據(jù) public virtual void ReceiptLoading(U8Login.clsLogin login, string Cardnumber, System.Data.DataSet ds, UFIDA.U8.UAP.UI.Runtime.Common.VoucherStateEnum state, UFIDA.U8.UAP.UI.Runtime.Common.ReceiptLoadingParas loadingParas){
} 第27頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
///
/// ///
所屬表單對(duì)象 public virtual void ReceiptLoaded(VoucherProxy ReceiptObject){
}
///
///
Cell的值變動(dòng)參數(shù) ///
所屬業(yè)務(wù)對(duì)象 ///
所屬表單對(duì)象 ///
CellChanging(UFIDA.U8.UAP.UI.Runtime.Common.CellChangeEventArgs para, 第28頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
BusinessProxy businessObject, VoucherProxy voucherObject){ return false;} ///
///
Cell的值變動(dòng)參數(shù) ///
所屬業(yè)務(wù)對(duì)象 ///
所屬表單對(duì)象 /// public virtual void
CellChanged(UFIDA.U8.UAP.UI.Runtime.Common.CellChangeEventArgs para, BusinessProxy businessObject, VoucherProxy voucherObject){
}
///
第29頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
///
新增的行參數(shù) ///
所屬業(yè)務(wù)對(duì)象 ///
所屬表單對(duì)象 ///
RowAdding(UFIDA.U8.UAP.UI.Runtime.Common.RowChangeEventArgs para, BusinessProxy businessObject, VoucherProxy voucherObject){ return false;}
///
///
新增的行參數(shù) ///
所屬業(yè)務(wù)對(duì)象 ///
所屬表單對(duì)象 /// public virtual void
第30頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
RowAdded(UFIDA.U8.UAP.UI.Runtime.Common.RowChangeEventArgs para, BusinessProxy businessObject, VoucherProxy voucherObject){
}
///
///
RowChangeEventArgs[]類型,要?jiǎng)h除的行參數(shù) ///
所屬業(yè)務(wù)對(duì)象 ///
所屬表單對(duì)象 ///
RowsDeleting(UFIDA.U8.UAP.UI.Runtime.Common.RowChangeEventArgs[] para, BusinessProxy businessObject, VoucherProxy voucherObject){ return false;} 第31頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
///
///
RowChangeEventArgs[]類型,要?jiǎng)h除的行參數(shù) ///
所屬業(yè)務(wù)對(duì)象 ///
所屬表單對(duì)象 /// public virtual void
RowsDeleted(UFIDA.U8.UAP.UI.Runtime.Common.RowChangeEventArgs[] para, BusinessProxy businessObject, VoucherProxy voucherObject){
}
///
///
被單擊的按鈕參數(shù) ///
所屬業(yè)務(wù)對(duì)象 第32頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
///
所屬表單對(duì)象 ///
ClickToolBarButton(UFIDA.U8.UAP.UI.Runtime.Common.ToolBarActionEventArgs para, BusinessProxy businessObject, VoucherProxy voucherObject){ return false;}
///
///
被選擇的行參數(shù) ///
所屬業(yè)務(wù)對(duì)象 ///
所屬表單對(duì)象 ///
第33頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
RowSelecting(UFIDA.U8.UAP.UI.Runtime.Common.RowSelectEventArgs para, BusinessProxy businessObject, VoucherProxy voucherObject){ return false;}
///
///
被選擇的行參數(shù) ///
所屬業(yè)務(wù)對(duì)象 ///
所屬表單對(duì)象 /// public virtual void
RowSelected(UFIDA.U8.UAP.UI.Runtime.Common.RowSelectEventArgs para, BusinessProxy businessObject, VoucherProxy voucherObject){
}
第34頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
///
///
所屬業(yè)務(wù)對(duì)象 ///
所屬表單對(duì)象 ///
///
///
所屬業(yè)務(wù)對(duì)象 ///
所屬表單對(duì)象 /// public virtual void DataChecked(BusinessProxy businessObject, VoucherProxy voucherObject)第35頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
{
}
///
///
觀察者視圖接口(IEditWindow)對(duì)象 ///
即將要填充的數(shù)據(jù) /// public virtual void
EditWindowFilling(UFIDA.U8.UAP.UI.Runtime.Common.IEditWindow view, System.Data.DataTable fillDataTable, BusinessProxy businessObject, VoucherProxy voucherObject){
}
///
第36頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
///
觀察者視圖接口(IEditWindow)對(duì)象 ///
已經(jīng)填充的數(shù)據(jù) /// public virtual void
EditWindowFilled(UFIDA.U8.UAP.UI.Runtime.Common.IEditWindow view, System.Data.DataTable fillDataTable, BusinessProxy businessObject, VoucherProxy voucherObject){
}
///
///
觀察者視圖接口(IEditWindow)對(duì)象 ///
ReferOpenEventArgs參照信息 ///
所屬業(yè)務(wù)對(duì)象 ///
所屬表單對(duì)象 ///
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
public virtual bool
ReferOpening(UFIDA.U8.UAP.UI.Runtime.Common.ReferOpenEventArgs para, BusinessProxy businessObject, VoucherProxy voucherObject){ return false;}
///
///
觀察者視圖接口(IEditWindow)對(duì)象 ///
ReferCloseEventArgs參照信息 ///
所屬業(yè)務(wù)對(duì)象 ///
所屬表單對(duì)象 /// public virtual void
ReferClosed(UFIDA.U8.UAP.UI.Runtime.Common.ReferCloseEventArgs para, BusinessProxy businessObject, VoucherProxy voucherObject){
} 第38頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
///
/// ///
所屬業(yè)務(wù)對(duì)象 ///
所屬表單對(duì)象 ///
布局視圖中指定的自定義控件“控件ID” ///
///
///
狀態(tài)的變動(dòng)參數(shù) 第39頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
///
所屬表單對(duì)象 ///
StateChanging(UFIDA.U8.UAP.UI.Runtime.Common.VoucherStateChangeEventArgs para, VoucherProxy voucherObject){ return false;}
///
///
狀態(tài)的變動(dòng)參數(shù) ///
所屬表單對(duì)象 /// public virtual void
StateChanged(UFIDA.U8.UAP.UI.Runtime.Common.VoucherStateChangeEventArgs para, VoucherProxy voucherObject){ 第40頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
}
///
/// ///
鼠標(biāo)雙擊信息 ///
///
public virtual void
RowDoubleClick(UFIDA.U8.UAP.UI.Runtime.Common.RowDoubleClickEventArgs para, BusinessProxy businessObject, VoucherProxy voucherObject){
}
///
/// 第41頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
///
鼠標(biāo)雙擊信息 ///
所屬業(yè)務(wù)對(duì)象 ///
所屬表單對(duì)象 public virtual void
CellDoubleClick(UFIDA.U8.UAP.UI.Runtime.Common.CellDoubleClickEventArgs para, BusinessProxy businessObject, VoucherProxy voucherObject){
}
///
/// ///
鼠標(biāo)雙擊信息 ///
所屬業(yè)務(wù)對(duì)象 ///
所屬表單對(duì)象 public virtual void
HeaderDoubleClick(UFIDA.U8.UAP.UI.Runtime.Common.HeaderDoubleClickEventArgs para, BusinessProxy businessObject, VoucherProxy voucherObject){ 第42頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
}
///
/// ///
單元格信息 ///
所屬業(yè)務(wù)對(duì)象 ///
所屬表單對(duì)象 public virtual void
CellSelected(UFIDA.U8.UAP.UI.Runtime.Common.CellSelectEventArgs para, BusinessProxy businessObject, VoucherProxy voucherObject){
}
////890 ///
第43頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
/// ///
單元格信息 ///
所屬業(yè)務(wù)對(duì)象 ///
所屬表單對(duì)象 ///
/// ///
行選擇框信息 ///
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
} ///
/// ///
行選擇框信息 public virtual void RowChecked(RowCheckEventArgs para, BusinessProxy businessObject, VoucherProxy voucherObject){ }
///
/// ///
所屬表單對(duì)象 ///
退出按鈕的參數(shù),可以通過(guò)IsCanceled來(lái)決定是否關(guān)閉表單IsCanceled=true表示不關(guān)閉,=false表示關(guān)閉 public virtual void ReceiptUnLoading(VoucherProxy ReceiptObject, VoucherButtonArgs exitCommand){ 第45頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
} ///
/// ///
所屬表單對(duì)象 ///
退出按鈕的參數(shù),可以通過(guò)IsCanceled判斷是否成功關(guān)閉表單,也可以通過(guò)IsCanceled來(lái)決定是否關(guān)閉表單IsCanceled=true表示不關(guān)閉,=false表示關(guān)閉 public virtual void ReceiptUnLoaded(VoucherProxy ReceiptObject, VoucherButtonArgs exitCommand){ }
4.3.1.1 表單功能開(kāi)發(fā)(門戶工具欄按鈕功能開(kāi)發(fā))4.3.1.1.1 說(shuō)明
ReceiptPluginBase類中的方法
///
第46頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
///
被點(diǎn)擊門戶工具欄按鈕參數(shù)
///
public virtual IButtonEventHandler GetButtonEventHandler(VoucherButtonArgs ButtonArgs, VoucherProxy voucherObject)
這個(gè)方法是表單功能按鈕執(zhí)行的入口,根據(jù)在UAP表單功能的功能管理(見(jiàn)圖2)里添加的按鈕的ButtonKey
來(lái)區(qū)別不同按鈕的功能。返回值類型為UFIDA.U8.UAP.UI.Runtime.Model.IButtonEventHandler接口,該返回值對(duì)象會(huì)被UAP運(yùn)行時(shí)調(diào)用,執(zhí)行該對(duì)象中的方法。IButtonEventHandler接口定義了三個(gè)方法,按照運(yùn)行時(shí)被調(diào)用執(zhí)行的先后順序分別為:
string Excuting(VoucherProxy ReceiptObject)、string Excute(VoucherProxy ReceiptObject, string PreExcuteResult)、string Excuted(VoucherProxy ReceiptObject, string PreExcuteResult)。注:
(1)三個(gè)方法的返回值為xml字符串,其格式為
“
(2)三個(gè)方法共有的參數(shù)就是當(dāng)前表單功能按鈕可以操作的表單模型??梢詮脑搶?duì)象中取到當(dāng)前可以操作的任何數(shù)據(jù)。
第47頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
4.3.1.1.2 示例
見(jiàn)SalesAcceptOrder.cs ///
/// ///
按鈕對(duì)象 ///
單據(jù)對(duì)象 ///
GetButtonEventHandler(UFIDA.U8.UAP.UI.Runtime.Common.VoucherButtonArgs ButtonArgs, VoucherProxy voucherObject){ //return null;//保存按鈕----UAP已有功能的部分修改開(kāi)發(fā)
if(ButtonArgs.ButtonKey == “btnSaveVoucher”){ return new AcceptOrderButton();} 第48頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
//審核按鈕UAP已有功能替代修改開(kāi)發(fā)
if(ButtonArgs.ButtonKey == “btnAudit”){ return new AuditButton(AuditType.Audit);}
if(ButtonArgs.ButtonKey == “btnAbandonAudit”){ return new AuditButton(AuditType.AbandonAudit);}
if(ButtonArgs.ButtonKey == “SenDevClose”){ return new CloseVoucherButton(CloseType.Close);}
if(ButtonArgs.ButtonKey == “SenDevOpen”){ 第49頁(yè)
共 261頁(yè)
ERP事業(yè)部咨詢實(shí)施客戶化開(kāi)發(fā)部
return new CloseVoucherButton(CloseType.Open);}
//鎖定按鈕新增功能開(kāi)發(fā)
if(ButtonArgs.ButtonKey == “SenDevLock”){ return new LockVoucherButton(LockType.Lock);}
//訂單解鎖
if(ButtonArgs.ButtonKey == “SenDevUnLock”){ return new LockVoucherButton(LockType.UnLock);}
if(ButtonArgs.ButtonKey == “btnOpenList”){ return new OpenVoucherListButton();;第50頁(yè)
共 261頁(yè)