




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、UAP 開發樣例指導用友研發中心U8 平臺技術部< 本文檔適用于U871 版本 >一、 摘要二、樣例開發前提3、 建立UAP項目4、 建立表單模型(1) 新建實體(2) 新建實體屬性5、 建立表單布局 六、行為對象開發(1) 表單開發(2) 列表開發(3) 生單二次開發(4) 聯查報表(5) 聯查UAP列表(6) UAP列表聯查U8單據(7) 用戶自定義控件開發(8) U8單據引用UAP當案七、行為對象注冊功能介紹: 使用說明:應用技巧: 八、建立數據引擎功能介紹: 使用說明:應用技巧: 九、設置過濾條件功能介紹: 使用說明:應用技巧: 十、設置欄目功能介紹使用說明應用技巧十一、權
2、限功能權限記錄級權限字段級權限十二、部署附錄:功能介紹1、行為對象升級說明2、Logininfo 對象介紹 摘要本文以U8-ERP中的銷售訂單為應用原型,介紹了如何通過UAPS行軟件開發,文中給出了開發方法和豐富樣例。內容包括:UA昧單開發原理1 UAP項目的建立和導入、導出I I UA昧單的模型設計和布局設計I I UA昧單的行為對象開發【UA昧單列表設計與開發I I UA昧單列表的行為對象開發I如何對UAP表單的缺省按鈕進行擴展性開發 如何對UAP表單的缺省按鈕進行取代性開發 如何為UAP表單增加新的按鈕及行為I如何用程序代碼調用 UAP報表I如何用程序代碼調用 UAP表單列表I如何在UA
3、P表單中增加權限控制:功能權限、字段權限、記錄權限 如何為UAP表單開發自定義控件 如何開發樹形檔案 如何維護UAPB據引擎 如何維護欄目I如何維護過濾條件 如何調用U8API U8單據自定義項如何引用 UAP當案本文檔中使用的示例文件為“銷售訂單二次開發",可以通過UAP將該文件導入到帳套中。項目名稱為“ SaleVoucher" 導入后在項目中包括幾個自定義單據:“銷售訂單”為二次開發的 DemG例;“零售日報”為自定義空間二次開發的Demo示例;“列表檔案示例”、“樹形編輯檔案示例”、“樹形導航檔案示例”分別為各個 對應的檔案類型的示例。二、 樣例開發前提首先,需要安
4、裝U8產品,并建立一個帳套。其次,您需要向用友公司購買UAP表單設計許可;不過您可以使用UAP的演示版本,但是演示版本不能新建UAP項目,也不能注冊行為對象。三、建立UAP項目使用UAP登錄您的帳套后,在系統界面上的新建項目選項卡,選中“供應鏈”后,在右邊的列表中選擇“銷售管理”,在界面下方的幾個文本框中輸入項目名稱,編號,描述等;順序選擇框使用“默認”即可。點擊“確定”如果輸入信息與先前創建的項目信息不沖突,項目就可被成功創建。您也可以導入我們為您提供的UAP羊例項目,導入方法如下。1、登錄UAP;2、打開菜單“文件導入和導出”;3、選中“導入項目數據到目前的服務器”,點“確定”按鈕;4、點
5、“導入”按鈕,選取U8安裝目錄下的“uapsdk ”目錄中的文件“Samplefile5、導入成功后;6、在UAP已存在的項目中產生了一個名稱為“ SaleVoucher ”的項目;四、 建立表單模型選中“自定義表單”節點,單擊右鍵,使用“新建自定義表單”功能創建一個新的表單。然后在彈出的選擇界面中選擇“表單類型”下的“單據”,在名稱文本 框中輸入一個表單名字,不要與以前創建的表單名字重復。在成功創建后,系統界面會如下圖(圖表1 )所示:圖表1在上圖所示的實體節點,默認有兩個子節點,分別為“主表和第一子表”,根據當前表單的需要設計實體,包括增加實體和實體屬性等。(一)新建實體需要為實體填寫“實
6、體名稱”,和選擇“實體類型”。除此以外,還可以通過實體的 屬性編輯窗口為實體設置各項信息。實體的相關屬性:名稱:實體顯示的名稱,僅用于設計時。發布狀態:實體是否已發布,只讀。功能:為實體定義自定義功能,在運行時顯示為表格對應的工具欄按鈕。狀態設置:設置實體屬性、功能在表單運行時的狀態,決定實體屬性、功能 在不同的環境下是否可用。物理表模式:設置實體物理表的創建模式, 默認為由UAP在發布時自動創建。在特殊的應用場景中可以使用“使用已存在的對象”或“無”。后兩種情況下UAP不負責實體物理表的維護。物理表:設置該實體在數據庫存儲時使用的物理表,一般情況下一個實體對應一個物理表。數據引擎模式:設置實
7、體運行時數據的訪問方式。默認為UAP系統在發布時自動創建,特殊的應用場景中可以使用“使用已存在的對象”或“無”,這兩種情況下系統不負責實體數據的讀取,只能通過用戶定義的接口獲取數據集。數據引擎:當數據引擎模式為“使用已存在的對象”時,設置要使用的數據引擎對象。主鍵:設置實體物理表的主鍵字段名。主鍵類型:設置實體物理表主鍵字段的類型, 可選“整數”或"GUID'或"字 符串”。行模式:多行或單行。一般主表設置為單行。(二)新建實體屬性實體必須包含實體屬性時才有效。可以在UAP界面“表單”窗口中,右鍵點擊實體對應的節點,選擇“新建實體屬性”菜單向實體添加實體屬性:實體屬
8、性通用屬性:類型:該實體屬性的類型。描述:對該實體屬性的單體描述。屬性名稱:實體屬性的名稱。默認值:實體屬性的默認值。使用默認值:用戶未提供數據時,是否使用實體屬性的默認值。發布:該實體屬性是否已經發布。常用條件:該實體屬性是否可以在過濾中作為常用條件使用。區間條件:該實體屬性是否可以在過濾中作為區間條件使用。值更新事件:設置該實體屬性值更新時需要處理的腳本列表基礎資料類型字段共有三種類型的值更新事件:“攜帶當前字段相關參照屬性到指定列”、“計算定義公式的值到指定列”、“表達式為真/假時改變指定 欄目編輯狀態”;其余類型字段比基礎資料類型字段缺少第一種類型的值更 新事件。1 .攜帶當前字段相關
9、參照屬性到指定列2 .計算定義公式的值到指定列3 .表達式為真/假時改變指定欄目編輯狀態表單式為真假時修改指定欄目的編輯狀態表單式為真假時修改指定欄目的顯示狀態表單式為真假時修改指定功能狀態表單功能實體功能唯一約束:是否檢查該實體屬性的值在整個表單范圍內唯一。文本對齊:實體屬性文本的顯示位置。顯示文本:實體屬性的不同語言環境中顯示的文本。允許空值:實體屬性的值是否可以為空。物理表:實體屬性對應物理字段的表名,即該實體屬性所屬實體的物理表。字段:實體屬性對應的物理字段名。除了支持以上通用屬性外,不同類型的實體屬性還具有不同的特性:1 .表單編號表單編號只能出現的主表實體中,并且只能有一個表單編號
10、類型的實體屬性。2 .表單名稱表單名稱類型的實體屬性只能在檔案類型的表單中使用,同表單編號一樣,表單名稱類型的實體屬性只能出現主表實體中,并且只能出現一次。3 .整數和正整數可否為0:數值型的值是否可為 00錄入長度:限制用戶可錄入數值的最多位數。數據格式:數值類型的顯示格式。最大值和最小值:數據的有效范圍。正整數的最小值必須等于或大于04 .小數和正小數可否為0:數值型的值是否可為 00錄入長度:限制用戶可錄入數值的最多位數。數據格式:數值類型的顯示格式。最大值和最小值:數據的有效范圍。正小數的最小值必須等于或大于0小數位數:數據保留的小數位數。5 .文本多行輸入:運行時是否支持錄入多行文本
11、。最大長度:最多可錄入的文本長度。6 .日期和日期時間日期類型運行短日期格式,即只包含年月日。日期時間類型包含年月日和時分秒。7 .枚舉枚舉類型的實體屬性需要設置枚舉值列表,枚舉值的顯示值為在界面顯示的文本,保存值為實際保存到數據庫的數據,如枚舉類型的實體屬性“銷售類 型”的枚舉值可設置為如下圖所示:U872中枚舉字段支持選擇“枚舉模式”:使用已存在枚舉、新創建枚舉。選擇“使用已存在枚舉”后,需要為“枚舉類型”選擇一個U8系統中現有的枚舉中的一個。8 .基礎資料基礎資料類型的值來自指定參照檔案的對照值。參照對象:設置基礎資料類型實體屬性的參照檔案對象,可以從U8檔案列表中選擇,包含 UAP中定
12、義為檔案類型的表單。參照顯示值:該屬性是設置當前就“基礎資料”字段在運行時的文本框 里顯示參照的那個字段的值。如上面的“參照對象”屬性選擇的存貨檔 案,如果不設參照顯示值,則運行時默認顯示為存貨編碼,如果將“參 照顯示值”屬性設置為存貨檔案的“存貨”名稱,運行是該字段就會顯 示為存貨的名稱。選擇方式:設置在運行時的對照選擇方式。自動校驗:是否對錄入的值進入檢驗以確定數據是否來自指定的參照對 象。選擇“否”時允許用戶錄入參照對象中不存在的值。9 .基礎資料屬性基礎資料屬性類型的實體屬性必須和基礎資料類型的實體屬性結合使用。參照屬性:設置基礎資料屬性類型實體屬性要綁定的基礎資料類型實體 屬性,并指
13、定關聯的參照字段。當基礎資料類型的實體屬性值變化時, 基礎資料屬性類型的實體屬性值隨之改變。10 .數量、價格和金額數量、價格和金額類型的實體屬性實質上為小數類型,設置等同于小數類型的實體屬性。11 .復選框特殊類型的整數值,運行時顯示為復選框,保存的數據為 0 (未選擇)或1 (選擇)。12 .制單人當前單據的作者,一般設為登錄用戶。13 .制單日期和修改日期制單日期保存當前表單生成的日期,修改日期保存表單最后一次修改的日期。這兩 種類型的實體屬性實質上為日期時間類型,設置等同于日期時間類型的實體屬性。五、 建立表單布局在完成實體的設計后,可以設計表單布局,UAP支持一個表單多個布局視圖,用
14、戶可根據自己的使用習慣選擇一種布局視圖。布局視圖的設計與普通window 界面的布局設計基本一致。六、 行為對象開發行為對象開發是指增加表單或列表的功能按鈕,除了UAP系統自帶的功能按鈕外,還可以增加按鈕,這些增加的功能按鈕是UAP表單開發的基礎。UAP®供了多種增加功能的途徑,首先通過設計界面的樹形菜單中的“功能”節點下的表單功能和列表功能的“功能管理”(圖表2)添加功能按鈕,這些功能按鈕最終在運行時會被加載到U8 產品的門戶上;其次可以為每個表單實體添加功能按鈕(圖表3) ,為實體添加完成這些功能按鈕后,還需要在布局視圖上為該表單實體的“功能”屬性設置使用這些功能(圖表4) ,這
15、些功能按鈕最終在運行時會被加載到該實體的工具欄按鈕上。圖表 2圖表 3圖表 4圖表 5增加功能按鈕時,很多工作都可以通過上圖(圖5)的設計界面完成,開發人員關心的僅僅是表單開發業務邏輯的實現。這些按鈕的作用主要是通過在運行時對模型對象中數據的修改以及最終將修改的數據持久化來完成的。UA昧單開發分為表單開發和列表開發兩種。因此對應了兩種不同的開發類型定 義了兩種不同的訪問模型對象數據的接口。( 一 ) 表單開發表單開發訪問模型對象的接口IReceipt , 該接口被定義在中,所以在做表單開發前,你需要為新建的表單開發項目添加的引用。表單開發又可細分為表單功能開發和表單實體功能開發,每個不同部分的
16、開發又都分為UAP已有按鈕的功能修改開發和新增按鈕的功能開發。目前為止,只要是表單開發,只需要實現上述接口即可。在實現IReceipt 接口后,在實現類中會繼承以下這些方法:et 登錄對象</param>using System;using System.Collections.Generic;using System.Text;using UFIDA.U8.UAP.UI.Runtime.Model;using UFIDA.U8.UAP.UI.Runtime.Common;using System.Xml;namespace ufida.u8.uap.plugin.SalesVou
17、cher/ <summary>/ 接受訂單按鈕處理/ </summary>public class AcceptOrderButton : IButtonEventHandler#region IButtonEventHandler成員public string Excute( VoucherProxy ReceiptObject,string PreExcuteResult)return null ;public string Excuted( VoucherProxy ReceiptObject, string PreExcuteResult) if (!ReadE
18、xcuteState(PreExcuteResult)if (ReceiptObject.VoucherState =VoucherStateEnum .New)if(ReceiptObject.Businesses.ContainsKey("SaleVouche_0001_E001" )Business b = ReceiptObject.Businesses"SaleVouche_0001_E001" as Business ;if (b.Rows.Count > 0)if (b.Columns.ContainsKey("iStatu
19、s" )BusinessCell cell = b.Cells "iStatus" as BusinessCell ; cell.Value ="" ;return null ;return MakeExcuteState( true , " 保存成功" );public string Excuting( VoucherProxy ReceiptObject)if (ReceiptObject.VoucherState =VoucherStateEnum .New)if (ReceiptObject.Businesses.C
20、ontainsKey("SaleVouche_0001_E001" )Business b = ReceiptObject.Businesses"SaleVouche_0001_E001" asBusiness ;if (b.Rows.Count > 0)et中調用U8中API的方法,其次需要知道有那些 API可以使用,各個 API方法的參數和返回值代表的意義,以及根據API 的參數和返回值確定你的表單開發過程的業務流程等。Net中如何調用 U8中的API參照 U8API 資源管理器中為每個已有的API 生成的調用代碼示例示例Business b
21、= "SaleVouche_0001_E001" as Business ; if "iswfcontrolled" .Value ="1" )return null ;DataSetdom = (ds, ; U8EnvContext envContext = new U8EnvContext ();= ;("VoucherType" , 12);U8ApiAddress myApiAddress = new U8ApiAddress ("U8API/SaleOrder/Audit" );U8A
22、piBroker broker = new U8ApiBroker (myApiAddress, envContext);("domHead", dom);if =et 類。該類被定義在dll 中,所以在列表開發前,你需要為新建的表單開發項目添加dll 的引用。你需要做的就是重寫該類中的一個方法:BasePluginUIEvent ,重寫基類中的方法即可。示例一列表門戶按鈕二次開發雙擊查看代碼示例二生單二次開發列表部分public class BasePluginUIEventBaseUIEventHandler "+ tempLogin = newLoginIn
23、fo, , , ,ref scriptSql, ref selectCountSql); using ( SqlConnection conn = new SqlConnection )(); if SqlDataAdapter adapter = new SqlDataAdapter (scriptSql, conn);, - 1) * , ,"temp" );elseSqlDataAdapter adapter = new SqlDataAdapter (scriptSql, conn);SqlDataAdapter adapter1 = new SqlDataAdap
24、ter (selectCountSql, conn);IMakeReceipt , 該接口是生單二次開發的基礎接口。被定義在中,所以在生單二次開發前,你需要為新建的表單開發項目添加的引用。然后根據你的業務需要實現接口 IMakeReceipt 接口中的方法:oString();( 2) 封裝過濾條件封裝過濾條件涉及到一個過濾窗口是否顯示的問題。 如果過濾窗口顯示,我們可以通過過濾窗口為過濾查詢賦值; 如果要求過濾窗口不顯示,并且 需要設置查詢條件,此時只能是先通過代碼封裝查詢過濾條件,然后再傳入打開報 表的方法。sSingleItem = true )ref temp2).varValue =
25、 filterValue1;elseref temp2).varValue = filterValue1;ref temp2).varValue2 = filterValue2;FGeneralListMeta 類,實例化UFGeneralListMeta 時一般需要的參數為數據源、過濾條件、欄目、用戶自定義事件等。數據源:類: . DataAccessMeta實例化該類時需要兩個參數new DataAccessMeta ( "BizDAE" , erQuerySetting) ,第一個參數目前可支持兩種類型分別為:"BizDAE","SqlQ
26、uery"; 第二個參數為對應第一個參數的用xml 描述的數據源詳細信息。如果第一個參數為"BizDAE", 則 xml 結構為:<Setting boid="829345d6-79ce-48e5-9fa2-f78b5031d167"functionName="QuerySA_QuoHeadData"type="ER"/> ;如果第一個參數為"SqlQuery" , 則 xml 結構為 : <Setting type="SQL">部分 <
27、;/SELECT>部分 </WHERE>部分 </ORDER><SELECT supportChange="true|false">select<FROM>from部分 </FROM> <WHERE supportChange="true|false">where<ORDER supportChange="true|false">order<GROUP supportChange="true|false">grou
28、p 部分 </GROUP><HAVING>having 部分 </HAVING></Setting>過濾條件:類: . FilterMeta實例化該類new FilterMeta ( "SA_16" , filterSet) 需要兩個參數,第一個參數為本次查詢需要的 過濾條件編號ID , 第二個為不顯示過濾窗口時傳入默認的過濾條件,其為xml 結構的字符串,默認過濾條件的組織樣式如下格式要求:1、 、 過濾列的名稱必須在該處列表過濾條件所有可選的字段中。2、 操作符 operator1 為正常的Sql 表到式中的where 條
29、件操作符。like 等操作時需要自己添加必要的"%"等3、 區間條件時需要 最終的 格式為 <Item key=" 過 濾 列 名 稱 " operator1=">=" val1=" 區 間 條 件 時 值 "operator2="<=" val2=" 區間條件時值"/> 。 當然也可以將一個區間條件項分為兩個條件項<FilterItems><Item key=" 過濾列名稱" operator1="=&
30、quot; val1=" 值 "/><Item key=" 過濾列名稱" operator1="like" val1=" 值 %"/><Item key=" 過濾列名稱" operator1=">=" val1=" 區間條件時值" operator2="<=" val2=" 區間條件時值"/></FilterItems>欄目:類: . ColumnMeta實例化該
31、類newColumnMeta( "SaleVoucher")需要一個參數,該參數為在UAP的欄目設計器中對應欄目的編號ID。用戶自定義事件:該參數為當表單開發人員對查詢后的列表有自定義按鈕事件或其他操作時使用,該參數為實現基類BaseUIEventHandler 的子類的完整的命名路徑。至此使用上述幾個參數可以實例化UFGeneralListMeta 類 的一個對象,然后再使用該對象實例化UFGeneralListService 類的對象,就可以得到UAP列表。如果想從該列表中某一行數據穿透到該條數據對應的表單中,需要在實例化UFGeneralListMeta 類 的對象時
32、做一個額外的工作。就是為UFGeneralListMeta 類的對象的ExtendInfo 屬性賦值,該屬性值為xml 格式的字符串類型。其格式為:<UAPVoucher menuID=" 表單對應的菜單ID" subSysID=" 子產品編碼" authID=" 權限 ID" voucherName="表單名稱" voucherIDCol=" 表單主表的主鍵列名" voucherDetailIDCol=" 子表的主鍵列名" cardNum=" 表單的 Car
33、dNumber, 在 Vouchers 表中能夠查詢得到" voucherType=" 在 Vouchers 表中某個表單特別時,會在該表中的 Vouchertype 中有相應值,如果是一般的表單,該值與表單的CardNumber 一致 " voucherTypeEnum=" 表示即將打開的表單是U8表單,還是UAP表單。UAP表單為0, U8表單為1" instance="該參數含義待定”/>。示例( 二 ) 用戶自定義控件開發說明UA昧單開發支持在表單視圖中添加用戶自定義控件,并將該自定義控件與該表單中的某一個表單實體模型關
34、聯,根據用戶的實際需求,對實體模型中數據做更加豐富的展示,或者通過對自定義控件上展示的數據的修改影響實體模型的數據。IRecepit接口中的方法通性q x主表實體日特職前虧S*l*Vou=kt_0006_E001類型樹密導抗實直名禰主去日高旗發布狀態a 走功能麋泠)狀態段置熊合)曰敷第編碼規第1;2盂碼字段cfiejpC odle數據引攣業翦對象I出* 4E史口 24-2&L顯示字段cDepB jane主碑cDepCade09a4c1c2c屋性主表實體夕©21 1 一hD*pEnW hStopX日林液cCreGrdfe類型*pCM4名稱flDpEinAil SfltDepF
35、sr茨布狀態clkWUI 口功能flD4pHeno狀態設置dD電口 N"卻由巨鎏系騙碼規則cDepP ersoncDepFhcne T1 一 口 . . a ia編碼字段cBepC odle數據引擎業務對象 Ib=" *9632324-361)忌nTjcaDepIaac主鍵cDepC ode事碼字段設置樹電數據實體中用于編碼的字殿.<runtine><a3?e»I)lyBLnd.ing xmlns-'xirn1 3che>a-iLicro3oft-comL: asiii. vl'r>cSOCodeor<prob
36、ing privaceP ath="In£cag-i3Tic3; Run timerr />SO_SODetails. cSOCode = null添加基礎屬性(來自物理表列的屬性)添加完畢基礎屬性顯示如下:添加計算屬性添加完畢,計算屬性顯示如下:添加枚舉屬性:注意其中的枚舉類型來自于 UFMeta中注冊的枚舉類型,枚舉值表以及枚舉值列是設置保存枚舉類型ID所對應的列,構建 SQL的時候會去該列的值與所有的枚舉值進行匹配比較,并取出對應得枚舉類型名稱在實體添加完畢后,點擊“確定”按鈕,在主窗體中顯示出新增加的實體:業務對象修改業務對象基礎信息添加功能添加實體關系查詢實
37、體關系查詢設置窗體添加查詢涉及的實體如果該查詢設計多個實體,可以設置實體與實體之間的關系其中也可以進行實體關系自定義設置,參考實體中物理表關系設置部分添加查詢結果列(Select )修改列名稱以及描述信息添加計算列其中的表達式使用方法參考備注1 添加查詢條件(Where)添加組內查詢條件(Having)添加方法同添加查詢條件添加排序(Sort )添加分組(Group)添加完畢后再業務對象窗體顯示新增加的實體關系查詢添加SQL查詢SQL查詢又分為兩種,分別為 SQL腳本以及儲存過程查詢,其中的存儲過程查詢設置如下所示:如果為SQL腳本查詢,則按照下面的方式分別設置各個部分的SQL腳本:設置Sel
38、ect部分設置Where部分其它各個部分的設置類同業務對象信息設置完畢后,點擊“確定”按鈕,則在主窗體中顯示出新增加的業務對象信息業務對象配置完畢,可以使用工具測試該業務對象配置信息是否正確查詢完畢,可以在查詢結果欄中查看當前查詢過程中的日志信息,其中可以看出每個步驟地耗時,動態產生的 SQLW本信息等備注:1、在BizDAE中所有的SQL達式(如計算列表達式、查詢條件,實體計算屬性,運行時動態設置的SQLW本等)如果要使用物理表列或者實體屬性必須按照下面方式使用:# P物理表別名.列名稱:在實體設置中使用物理表列方法# P實體別名.屬性名稱:在查詢中使用實體屬性方法# FN查詢結果列名稱:在
39、查詢中使用查詢結果列方法(不推薦使用)應用技巧:在配置完業務對象后應該使用測試工具檢驗該配置信息是否正確,如果出現問題可以從日志中檢驗原因7、 設置過濾條件功能介紹:過濾設計器是通用控件,主要用于報表、單據列表、表單等過濾條件的設置。有豐富的類型,可供設置過濾條件時選擇,還可以將過濾條件設置為區間條件或多選條件,可以為過濾條件賦默認值,同時支持將過濾條件分組顯示。使用說明:A. 過濾設計器主窗口界面說明:是否支持高級條件:選此項后,在運行時過濾窗口中會出現 “高級條件”頁簽,用于用戶自由選擇過濾條件的組合。是否顯示匯總選擇:選此項后,將在運行時窗口的最下端顯示 “查看匯總信息”復選框。規則組件
40、:此項定義由過濾控件回調的規則組件類。是否取消二次開發:此復選項只有在以“U870'項目進入UAP時才會顯示,如果被選中,那么以其它項目進入UAP的過濾設計器不能新增和刪除過濾條件。B. 過濾條件項窗口基本頁簽界面說明:語種:設置過濾條件項顯示的語種。中文簡體名稱:過濾條件項的鍵值,唯一標識此過濾條件項,不能重復。可以以字母、數字或漢字來命名。標題:在運行時過濾窗口中顯示的文字,支持多語種設置。編輯類型:過濾條件項的類型,分別為文本框、參照、日期、數字、枚舉、SQL語句、自定義。參照ID:當編輯類型選擇參照類型后,必須選定一個參照ID。比較符:過濾條件項比較符號。小數位數:當編輯類型為
41、數字類型時,此選項可以設置小數位數。分組:為過濾條件選定一個分組,在運行時將按照分組來顯示過濾條件項。數據源:為過濾條件項選定數據源,可以下拉選擇或直接手工輸入。順序號:指定過濾條件項在運行時顯示的位置,如果不輸入,將自動產生。是否常用條件:如果選中,將在運行時顯示在“常用”頁簽中。是否必輸:如果選中,在運行時必須輸入值,否則會出現提示信息。是否區間條件:如果選中,在運行時將顯示為兩個輸入框組合而成的形式,表示從值 1 到值 2 的意思。在運行時,用戶選擇或輸入的不是單值,而表示一個取值范圍。是否多選:如果選中,表示此過濾條件項可以選擇多個值。允許用戶修改比較符:如果選中,用戶在運行時可以通過
42、濾設功能改變比較符。作為或條件:如果選中,在運行時將以 “或” 條件來組合到過濾條件生成的SQL語句中,默認是以“與”條件組合的。參照返回字段:當編輯類型為參照類型時,此選項表示參照返回的是哪個字段 的值。編碼對應參照中的主鍵字段,名稱對應參照中的描述字段。也可以手工輸入 要返回的字段名,一定要與參照中的字段名一致。默認值、到:設置過濾條件項的默認值,將在運行時自動顯示。如果為區間條件,可以設置“到”默認值。C. 過濾條件項窗口枚舉頁簽界面說明:枚舉(aa_enum):指在U861中使用的枚舉型,此類型是在 AA_Enum$據表中定 義的。枚舉類型,枚舉類型名稱,是EnumType字段值。默認
43、顯示,在運行時當用戶點擊下拉按鈕后顯示的可供選擇的項,注意是以“,”分隔的EnumCod品段的值。枚舉類型:指明在 Meta庫中的MetaEnumDe俵中的枚舉,對應 MetalD字段。枚舉串: 如果沒有在數據庫中預制枚舉類型,也可以通過此項輸入一個枚舉串。格式為“ 0#1#A#B ”,在“# ”前的為返回值,之后的則為顯示值,并且在返回值與顯示值中分別以“# ”分隔。只能定義以上三種枚舉中的一種,否則會出現提示信息。D.過濾條件項窗口 SQL語句頁簽界面說明:SQL文本框:在SQL文本框中輸入SQL語句,可以不用加別名。標題:在運行時中顯示的列標題, 標題數量與上面的SQL的字段對應,并用“
44、,”分隔,例如“標題 1, 標題2”。返回字段:用此字段的值構成過濾控件返回調用者的過濾SQL語句。顯示字段:顯示在運行時過濾窗口中的值。在U870中,SQL語句類型的過濾條件主要為兼容以前版本,所以如果在U870中新建過濾條件時,請不要選用SQL語句類型,而改用參照類型。E. 過濾條件項窗口樣式頁簽屬性說明:參照樣式:當編輯類型選擇為參照類型時,可以指定參照的樣式,分別為彈出式和下拉式,默認為彈出式。應用技巧:D. 過濾控件中預制了項目大類、項目分類及項目的處理,如果要使用此功能,請 將 過 濾 條 件 項 的 編 輯 類 型 指 定 為 參 照 類 型 , 并 在 參 照 ID 框 中 分
45、 別 輸 入 sys_FinanceItemFirstClass、 sys_FinanceItemClass 、 sys_FinanceItem 即可。E. 編輯類型為自定義類型的過濾條件項需要由開發人員實現功能,實際上對于自定義類型的過濾條件項,過濾控件什么都不做,只是調用開發人員的回調方法。開發人員必須在自己的類中聲明并實現CallBack_UserBrowse 方法, 方法原型如下:Public Function CallBack_UserBrowse(ByVal sKey As String, flt As并且要在調用過濾控件前,執行Set = MyClass , MyClass 是開
46、發人員自己的類。8、 設置欄目功能介紹預置列表(包括但不限于單據列表)的欄目數據。使用說明1、登陸UAP后,進入“工具,欄目設計器”,按照產品模塊列出了系統中已有的所有欄目;2、 此時,可以新增一個欄目設置;3、 也可以對已有的欄目設置進行修改;支持:?作為匯總項進行顯示不支持:不作為匯總項,不顯示合計:???作為合計項,數值類型才需要設 置。平均:?取平均值,數值類型才需要設置。 最大:?取最大值,數值類型才需要設置。 最小:?取最小值,?數值類型才需要設 置。應用技巧1、只能修改和刪除同一個 UAP項目中的欄目;2、UA昧單發布時,自動新建一個欄目設置。九、權限功能權限功能的權限控制選擇“
47、否”,那么該功能能被所有人員使用功能權限的控制主要是通過在 UAP中為已有功能或新增功能的“控制權限”屬 性修改來控制的。在UAP中權限控制選擇“是”后,還需要使用“系統管理”工具, 為具體的角色分配該功能的權限,擁有該角色的用戶就可以使用該功能。如果一個記錄級權限記錄級權限是指在創建表單模型時,為模型的某個屬性列添加“記錄級權限”屬性設置,然后還需要在U8 中為用戶作出相應得授權。注:如果需要設置權限控制的模型的屬性列已經被發布,則不能為其設置權限控制,需要首先將該屬性列解除發布。下圖展示的是為模型的屬性列“銷售部門”添加記錄級權限控制,在 UAP設置完成后,還需要在 U8中為用戶作出相應得
48、授權。字段級權限記錄級權限控制是通過在UAP中使用敏感數據維護工具將表單模型中的字段映射到一個或多個已有或新建的敏感數據對象屬性上,然后再在U8 中的系統服務中數據權限分配里為用戶授權敏感數據對象屬性。下圖展示了為一個新增的敏感數據對象test 的屬性 tt 建立與銷售訂單表單模型中的字段建立映射。在建立映射后,就可以在U8中適應數據權限分配為用戶分配剛剛創建的數據敏感對象。十、 部署1. UA味單導出與導入2. UAP項目導出與導入3. 行為對象部署 表單開發代碼部署在行為對象開發生成的dll文件需要部署在U8安裝目錄UAPRUNTIM由錄下;在開發過程中可能會需要調用一些互操作的dll ,
49、將這些互操作的dll 部署在U8安裝目錄Interop目錄下。4. 安裝包制作?附錄:功能介紹1、行為對象升級說明IReceipt 新增接口所有 871 版本中新增的接口必須在原870版本基礎上作的二次開發接口實現類中添加,將編譯后的文件放到u8softuapruntime 目錄下。et 登錄對象</param>et 的 LoginInfo 對象( .dll,. LoginInfo 類型) 。.Net 的 LoginInfo 提供了一個構造函數,其參數為U8Login 對象,既.Net 的LoginInfo 對象可以通過U8Login 對象獲得。在表單開發過程中可以通過這個方法獲得
50、用戶登錄的信息。LoginInfo 對象中獲得信息如下:屬性:AccID帳套IDAccName帳套名稱AccYear帳套年度AppPath系統運行目錄AppServer當前登錄到的應用服務器機器名DataServer當前登錄到的數據庫服務器DbUser登錄數據庫用戶名DbPwd登錄數據庫密碼LanguageRegion語言IDLoginDate登錄系統時間ProjectID項目 IDProjectName項目名稱ProjectSubs項目包含的子產品列表( 哈希表 ,Key 保存 ID,Value保存名稱 )U8LoginU8登錄對象程序集,類型),以object類型返回U8SubsU8全部子
51、產品列表UapProjectsUAP系統中所有的項目列表UFDataDbName帳套數據庫名稱UFMetaDbNameUFMeta數據庫名稱UFDataOleDbConStr 帳套數據庫的ADO 和 OLEDB Connection 連接字符串UFMetaSqlConStrUFMeta數據庫的 SqlConnection 連接字符串UFMetaOleDbConStr UFMeta數據庫的 ADO 和 OLEDBConnection 連接字符串UFSystemSqlConStr UFSystem 數據庫的SqlConnection 連接字符串UFSystemOleDbConStr UFSystem數據庫的 ADO 和 OLEDB Connection 連接字符串.UnitName賬套機構名UserID登錄用戶IDUserName登錄用戶名稱方法:清空所有信息ClearInfo()U8Login 對象中獲得信息如下:屬性:*帳套名稱*子產品編號子產品名稱當前日期用戶編碼用戶名稱用戶密碼*數據服務器*是否管理員*語言編號AuthString cAccName cDbServerSerial cEmployeeIdcIYearcSerialcServercServerSerialcSub_Id cSubNa
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 學校測溫門管理制度
- 學校美工作管理制度
- 學校面點房管理制度
- 安保部保密管理制度
- 安全環保科管理制度
- 安檢實訓室管理制度
- 安裝隊員工管理制度
- 實訓室各項管理制度
- 實驗管理室管理制度
- 客艙模擬艙管理制度
- 習近平總書記關于應急管理的重要論述
- 2025年3月10日吉林省紀委監察廳遴選面試真題及解析
- 2025年 內蒙古能源集團所屬單位招聘考試筆試試題(含答案)
- 2025年陜西省新高考語文試卷(含答案解析)
- 期末試卷(試題)(含答案)-2024-2025學年一年級下冊數學北師大版
- 2025年江西省高考物理真題
- 2024年地理中考模擬考試地理(貴州貴陽卷)(A4考試版)
- 上海浦東新區公辦學校儲備教師教輔招聘筆試真題2022
- 國開(甘肅)2024年春《地域文化(專)》形考任務1-4終考答案
- 安全生產月“一把手”講安全課件
- 物業公司工程部工作職責.doc
評論
0/150
提交評論