版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1. 功能概述如何使伙伴二次開(kāi)發(fā)的程序很好地和U8產(chǎn)品集成在一起?需要滿足什么條件的程序才能和門戶集成?如何開(kāi)發(fā)一個(gè)滿足這個(gè)條件的程序?本文將為您解答這些問(wèn)題。2. 名詞解釋功能:調(diào)整菜單位置;新增、修改、刪除菜單(除U8系統(tǒng)菜單外)。菜單調(diào)整工具在UAP中,通過(guò)菜單“工具>菜單調(diào)整工具”進(jìn)入。位置:在U8安裝目錄的Portal目錄里。該文件其實(shí)是一個(gè)xml文件,可以用任何文本編輯器打開(kāi)。其內(nèi)容描述了雙擊每個(gè)末級(jí)菜單項(xiàng)目時(shí)需要調(diào)用的物理程序。在872版本里,idt.dll并不在安裝盤里,而是U8門戶第一次運(yùn)行時(shí)通過(guò)UFSystem.UA_IDT表里的內(nèi)容動(dòng)態(tài)生成的。當(dāng)UFSystem.U
2、A_IDT有變化時(shí),U8門戶會(huì)重新生成idt.dll文件。有了這種機(jī)制后,菜單調(diào)整工具就可以通過(guò)維護(hù)UFSystem.UA_IDT里的內(nèi)容,從而達(dá)到維護(hù)idt.dll的目的。3. 如何開(kāi)發(fā)可與門戶集成的VB dll引用工程UFPortalProxyInterface文件位置:U8安裝路徑相關(guān)代碼修改clsProductFacade文件為門戶的入口文件,即在idt.dll文件后assembly項(xiàng)所對(duì)應(yīng)的類名。如下所描述的:<idt id=Test01 type=0 assembly=TestU8Prj.clsProductFacade/>assembly屬性描述的對(duì)應(yīng)類要實(shí)現(xiàn)接口IL
3、oginalbe。比如idt.dll中描述了如下信息:<idt id=Test01 type=0 assembly=TestU8Prj.clsProductFacade/>則要在clsProductFacade中實(shí)現(xiàn)ILoginable接口。即用代碼:然后在該接口的實(shí)現(xiàn)函數(shù)中轉(zhuǎn)發(fā)調(diào)用原先工程中的Login,CallFunction,Logoff三個(gè)方法,具體參見(jiàn)后附的例子。在左樹(shù)啟動(dòng)一項(xiàng)命令時(shí)依次調(diào)用Login和CallFunction。在門戶退出或在權(quán)限管理中結(jié)束該產(chǎn)品時(shí)調(diào)用LogOff。子系統(tǒng)必須自己維護(hù)是否已經(jīng)進(jìn)行了子系統(tǒng)登錄過(guò)程,業(yè)務(wù)系統(tǒng)須維護(hù)子系統(tǒng)是否已經(jīng)登錄。Login
4、對(duì)象從g_business中通過(guò)調(diào)用GetVBclsLogin方法獲得。各接口含義如下:1、Login接口( Private Function ILoginable_Login() As Boolean ),不管彈出的是模式窗體還是非模式窗體,此接口在成功登錄后須返回True,而且要保證登錄成功后,第二次調(diào)用此接口時(shí)也要返回True。只有在登錄失敗后方可返回False。也就是說(shuō)此接口返回值的含義是是否已經(jīng)成功登錄子系統(tǒng)。2、LogOff接口( Private Function ILoginable_LogOff() As Boolean ),此接口的含義是執(zhí)行LogOff過(guò)程,如查成功使該子系
5、統(tǒng)牌LogOff狀態(tài)返回True,否則返回False。也就是說(shuō),如果該子統(tǒng)還未登錄,則真接返回False就可以了。如果系統(tǒng)處于已經(jīng)登錄的過(guò)程,則執(zhí)行業(yè)務(wù)組原有所需的LogOff過(guò)程,如果執(zhí)行功能,正確LogOff了子系統(tǒng),則返回True,否則返回False。如果在實(shí)際程序中沒(méi)有此過(guò)程,則直接返回True即可。3、CallFunction接口(Private Function ILoginable_CallFunction() As Boolean)。如果861產(chǎn)品沒(méi)有子系統(tǒng)登錄過(guò)程的產(chǎn)品,此值須返回True.4、對(duì)于顯示模式窗體的產(chǎn)品,如果已經(jīng)申請(qǐng)了任務(wù),請(qǐng)?jiān)谀J酱绑w退出時(shí)自已清除任務(wù)。實(shí)現(xiàn)這
6、三個(gè)方法的例子如下:Private Function ILoginable_Login() As BooleanIf g_bLogined = True ThenILoginable_Login = TrueExit FunctionEnd IfIf (Not g_business Is Nothing) And g_bLogined = False) ThenDim oLoginTmp As ObjectSet oLoginTmp = g_business.GetVBclsLogin()Set g_oLogin = oLoginTmpILoginable_Login = Login(oLog
7、inTmp)If (ILoginable_Login = True) Theng_bLogined = TrueEnd IfElseILoginable_Login = Not g_business Is NothingEnd IfEnd FunctionPrivate Function ILoginable_LogOff() As BooleanIf (g_bLogined = True) ThenILoginable_LogOff = LogOff()If (ILoginable_LogOff = True) Theng_bLogined = FalseEnd IfElseILoginab
8、le_LogOff = TrueEnd IfEnd Function.1增加Business屬性可讀可寫(xiě),且對(duì)大小寫(xiě)敏感。此屬性維護(hù)一個(gè)對(duì)于此業(yè)務(wù)工程全局變量,以實(shí)現(xiàn)和VB程序和870Portal的交互。參考實(shí)現(xiàn)如下:Public Property Get Business() As ObjectSet Business = g_businessEnd PropertyPublic Property Set Business(busVal As Object)Set g_business = busValEnd Property.2增加全局變量新建一module文件,并加入如下全局變量:Pub
9、lic g_business As ObjectPublic g_bLogined As Boolean三種窗體.1修改嵌入Portal的窗體文件原來(lái)有MdiExtender控件的窗體要嵌入Portal的窗體修改方法:調(diào)用CreateFormEnv方法調(diào)用ShowForm方法每個(gè)窗體都要有方法ExitForm.2修改第一次彈出就是模態(tài)的窗體可以直接使用通過(guò)采用VB窗體的Form.Show (vbModal)的方式,也調(diào)用ShowForm方法來(lái)顯示此窗體。.3由嵌入Portal的窗體彈出的窗體,不作修改,如果是模式窗體,請(qǐng)?jiān)诖舜绑w上加入U(xiǎn)FFormPartner控件 UFToolbar的修改.1
10、在Settoolbar之前將g_business傳入.2在Settoolbar之前設(shè)置Tag信息設(shè)置微軟Toolbar每個(gè)Button的Tag信息調(diào)用CreatePortalToolbarTag方法設(shè)置示例button.Tag = CreatePortalToolbarTag(“ICON_NEW”,”ICOMMON”,”PortalToolbar”) 注意: 嚴(yán)禁創(chuàng)建多次人機(jī)工程部給出完整的圖標(biāo),并制定相應(yīng)文件的命名規(guī)格放在%U8SOFT%的icons目錄下直接使用圖標(biāo)的文件名(不需擴(kuò)展名)常用(ICOMMON):如打開(kāi)、保存等編輯(IEDIT):如增行、拷貝單元格等處理(IDEAL):如審核
11、、分單等查詢(ISEARCH):如過(guò)濾、聯(lián)查等PortalToolbar,目前填入此值即可。.3在窗體的Unload事件中加入Set UFToolbar1.Business = Nothing中間過(guò)程.1判斷窗體是否打開(kāi)FormIsOpened.2設(shè)置并激活某個(gè)已經(jīng)存在的窗體SetFormActive.3在顯示過(guò)程中(窗體已經(jīng)顯示)關(guān)閉自身窗體CloseForm程序已經(jīng)修改,雙擊門戶節(jié)點(diǎn)時(shí)沒(méi)有反應(yīng),調(diào)用狀態(tài)進(jìn)不了VB程序;未正確修改clsProductFacade文件;窗體已經(jīng)嵌入到Portal中,但Toolbar的相關(guān)信息未轉(zhuǎn)移到門戶的工具欄上;是否正確設(shè)置了每個(gè)Button的Tag信息;
12、ShowForm顯示嵌入Portal的窗體Public Function ShowForm(ByVal obj As Object, ByVal SubID As String, ByVal sKey As String, Optional modalable As Boolean = False, Optional DockToProtal As Boolean = True, Optional ByVal vfd As Object) As Stringobj: Form對(duì)象;SubID: 子產(chǎn)品號(hào);sKey: Key,注意不能是form的Hwnd,在窗體的生命周期中,此值必須唯一;mod
13、alable: 該窗體是否為Model窗口;DockToProtal : 是否要嵌入到Portal中;vfd: 由CreateFormEnv對(duì)象的返回對(duì)象; CreateFormEnv初始化嵌入Portal的環(huán)境Public Function CreateFormEnv(ByVal sKey As String, ByRef formObj As Object) As VBFormDescriptorsKey: Key,注意不能是form的Hwnd,在窗體的生命周期中,此值必須唯一;formObj: Form對(duì)象 CloseForm關(guān)閉一個(gè)已經(jīng)打開(kāi)的窗體Public Function Clos
14、eForm(ByVal sKey As String, ByVal obj As Object)sKey: Key,注意不能是form的Hwnd,在窗體的生命周期中,此值必須唯一obj: Form對(duì)象。FormIsOpened判斷某個(gè)Key值的窗體是否已經(jīng)打開(kāi)Public Function FormIsOpened(ByVal sKey As String)sKey: Key,注意不能是form的Hwnd,在窗體的生命周期中,此值必須唯一;CreatePortalToolbarTag創(chuàng)建Toolbar的Tag信息Public Function CreatePortalToolbarTag(Im
15、age As String, actionSet As String, toolbarType As String) As StringImage按鈕的圖片actionSet分組toolbarType分組Toolbar的類型SetFormActive使某個(gè)窗口成為當(dāng)前窗口Public Function SetFormActive(ByVal sKey As String, ByVal obj As Object)sKey: Key,注意不能是form的Hwnd,在窗體的生命周期中,此值必須唯一obj: Form對(duì)象菜單的多語(yǔ)名稱,將在U8左樹(shù)菜單里顯示如果是文件夾這里選否這里選擇VB DLLV
16、B DLL時(shí),此項(xiàng)無(wú)效。輸入VB DLL 的完整類名稱。自動(dòng)生成。4. 如何開(kāi)發(fā)可與門戶集成的.NET User C user control與門戶集成需要建立實(shí)現(xiàn)INetUserControl接口的組件此處項(xiàng)目名稱為繼承門戶中類NetLoginable在該項(xiàng)目中添加以下DLL的引用U8安裝路徑Framework.dllU8安裝路徑Interop.dll U8安裝路徑Interop.dll U8安裝路徑PortalU8安裝路徑PortalU8安裝路徑Portal在項(xiàng)目中新建一個(gè)類,該類需要繼承類NetLoginable,并重寫(xiě)其中的兩個(gè)方法,示例如下:publicoverr
17、ideobject CallFunction(string cMenuId, string cMenuName, string cAuthId, string cCmdLine)INetUserControl mycontrol = newMyNetUserControl(); mycontrol.Title = "SSSS"base.ShowEmbedControl(mycontrol, cMenuId, true);returnnull;publicoverridebool SubSysLogin()Return true;4.3 實(shí)現(xiàn)接口INetUserControl
18、在項(xiàng)目中再新建一個(gè)類,該類實(shí)現(xiàn)接口INetUserControl,INetUserControl接口有三個(gè)屬性(EditorPart、EditorInput、Title)和三個(gè)方法(CreatControl、CreatToolbar、CloseEvent),詳細(xì)說(shuō)明:EditorPart屬性原型聲明:NetEditorEditorPart get;set;對(duì)于二次開(kāi)發(fā)人員 ,這個(gè)是只讀屬性,嚴(yán)禁為該屬性賦值。通過(guò)這個(gè)屬性,二次開(kāi)發(fā)人員可以訪問(wèn)UAP表單在門戶中顯示的頁(yè)簽對(duì)象,可以執(zhí)行頁(yè)簽關(guān)閉等操作。4.3.2EditorInput屬性原型聲明:NetFormInputEditorInput g
19、et;set;對(duì)于二次開(kāi)發(fā)人員 ,這個(gè)是只讀屬性,嚴(yán)禁為該屬性賦值。通過(guò)這個(gè)屬性,二次開(kāi)發(fā)人員可以訪問(wèn)門戶工具欄上的按鈕。 Title屬性原型聲明:stringTitle get;set;對(duì)于二次開(kāi)發(fā)人員,可以設(shè)置這個(gè)屬性,設(shè)置該屬性后,屬性值即打開(kāi)單據(jù)后相應(yīng)的頁(yè)簽標(biāo)題。CreateControl 方法原型:/<summary>/創(chuàng)建UserControl對(duì)象/</summary>/<param name="login">u8Login對(duì)象</param>/<param name="MenuID"&g
20、t;菜單ID</param>/<param name="Paramters">菜單自定義參數(shù)</param>/<returns>顯示的usercontrol</returns> System.Windows.Forms.Control CreateControl(U8Login.clsLogin login, string MenuID, string Paramters); 功能描述: 該方法創(chuàng)建要顯示的usercontrol 參數(shù)描述: login u8登陸對(duì)象,該對(duì)象不能轉(zhuǎn)換成u8Login.clsLogin
21、Class.MenuID: 打開(kāi)的菜單IDParamters 菜單的參數(shù)描述,它是一個(gè)XML字符串 其定義格式如下: <property type="IUserControl" id=” dllpath=”二次開(kāi)發(fā)的DLL路徑” classname=”二次開(kāi)發(fā)的命名空間加類名” ><parameters/></ property>dllpath:dll的路徑,要用u8soft的相對(duì)路徑,最好放在uap目錄下;id:UserContrl唯一標(biāo)識(shí),其值自定;type:屬性值必須為"IUserControl",區(qū)分大小寫(xiě);p
22、arameters:需要給程序(UserControl)傳送的數(shù)據(jù),格式自定。返回值 要顯示的usercontrol 用法: 要在門戶中顯示自定義的窗體,必須在此函數(shù)內(nèi)實(shí)例化一個(gè)從control繼承過(guò)來(lái)的對(duì)象 ,并且返回該對(duì)象CreateToolbar方法原型:/<summary>/創(chuàng)建toolbar對(duì)象/</summary>/<returns>返回對(duì)象</returns>VoucherAction CreateToolbar(U8Login.clsLogin login);功能描述:在u8門戶上創(chuàng)建Toolbar對(duì)象參數(shù)描述: login 當(dāng)前
23、的u8登陸對(duì)象 返回值 toolbar對(duì)象數(shù)組VoucherAction對(duì)象是一個(gè)toolbar button的描述其用法如下其參數(shù)描述如下:public VoucherAction(string text, string toolTip, bool isSystemButton, bool isHavePopedom, string id, IActionDelegate dele, VoucherActionType typeName, int sortNo, string parentKey, string authID);Text:button的名稱toolTip:提示名稱isSyst
24、emButton:是否系統(tǒng)按鈕isHavePopedom:是否需要權(quán)限控制id:toobar button的ID,該ID不允許重復(fù),如果重復(fù)則后添加的對(duì)象無(wú)效dele:action的代理對(duì)象,在該代理內(nèi)實(shí)現(xiàn)toolbar的具體操作typeName: toolbar button共分四種類型,類型相同的toolbar button顯示在同一組中sortNo:排序號(hào)parentKey:父鍵,如果沒(méi)有則為nullauthID:權(quán)限ID用法:/定義toolbar返回對(duì)象UFIDA.U8.Portal.UAPFacade.VoucherAction actions = new VoucherAction
25、2;/定義toolbar的處理事件 UserActionDelegate actionDelegate = new UserActionDelegate(); /實(shí)例化toolbar button對(duì)象 actions0 = new VoucherAction("確定", "", false, false, "btnOK", actionDelegate, VoucherActionType.Normal, 1, null, null); actions0 = new VoucherAction("取消", &quo
26、t;", false, false, "btnCancel", actionDelegate, VoucherActionType.Normal, 1, null, null);/返回要顯示的toolbar return actions;4.3.6CloseEvent方法原型:/<summary>/關(guān)閉事件/</summary>/<returns></returns>bool CloseEvent();功能描述:usercontrol的關(guān)閉事件參數(shù)描述: 返回值 是否關(guān)閉當(dāng)前窗體,如果是true則關(guān)閉 否則保持當(dāng)前狀
27、態(tài)4.4 編譯該控件輸出DLL 編譯出的DLL推薦拷貝到u8softuapruntime目錄下示例源程序:。4.6 掛接菜單為二次開(kāi)發(fā)編譯后的dll存放路徑,是一個(gè)相對(duì)于U8安裝目錄的相對(duì)路徑繼承了NetLoginable類的類名稱(包含命名空間)參數(shù)不填即可。菜單的多語(yǔ)名稱,將在U8左樹(shù)菜單里顯示這里選擇.NET Usercontrol如果是文件夾這里選否在掛接菜單后,還需要在UFSystem庫(kù)中的ua_idt表中添加一條記錄,(uap已經(jīng)自動(dòng)添加)insertinto ua_idt (id,assembly,catalogtype,type,class)values('test
28、39;,'.uapruntimeUFIDA.U8.Portal.NetProductSample.dll',0,2,'UFIDA.U8.Portal.NetProductSample.MyLoginable')其中:'test'為掛架菜單的菜單編號(hào);'.uapruntimeUFIDA.U8.Portal.NetProductSample.dll'為二次開(kāi)發(fā)編譯后的dll存放路徑。'UFIDA.U8.Portal.NetProductSample.MyLoginable'為二次開(kāi)發(fā)中繼承了NetLoginable類的
29、類名稱(包含命名空間)。5. 可執(zhí)行文件(EXE)如何掛接到門戶1、打開(kāi)菜單調(diào)整工具;2、鼠標(biāo)選中需要掛接的文件夾(如果沒(méi)有可以用菜單調(diào)整工具新建文件夾),點(diǎn)新增按鈕;3、自動(dòng)生成菜單的多語(yǔ)名稱,將在U8左樹(shù)菜單里顯示如果是文件夾這里選否這里選擇EXEEXE時(shí),參數(shù)無(wú)效這里輸入EXE文件的路徑,是一個(gè)相對(duì)于U8安裝路徑的相對(duì)路徑,舉例,U8安裝在E:U8Soft,這里設(shè)置為,表示E:U8Soft。4、保存后,自動(dòng)生成一個(gè)菜單編號(hào),這里是UA8;6、UAP表單和UAP列表如何掛接到門戶1、掛接UAP表單輸入,只能由字母和數(shù)字組成。菜單的多語(yǔ)名稱,將在U8左樹(shù)菜單里顯示如果是文件夾這里選否這里選擇
30、UAP表單UAP表單時(shí),此項(xiàng)無(wú)效。形如<property cardnum="UAPTrain_0009" type="voucher"/>的字符串,這里UAPTrain_0009為表單編號(hào);2、掛接UAP列表UAP列表時(shí),此項(xiàng)無(wú)效。形如<property type="List" cardnum="UAPTrain_0009"><UFGeneralList id="eea90b20-4a2b-4149-8d00-820818dcd38f"/></prope
31、rty>的字符串,這里UAPTrain_0009為表單編號(hào);eea90b20-4a2b-4149-8d00-820818dcd38f為表單列表ID這里選擇UAP列表菜單的多語(yǔ)名稱,將在U8左樹(shù)菜單里顯示如果是文件夾這里選否輸入,只能由字母和數(shù)字組成。7. 如何不使用菜單調(diào)整工具增加和修改菜單7.1 相關(guān)表結(jié)構(gòu)UA_Menu表結(jié)構(gòu)字段名數(shù)據(jù)類型含義AutoIDuid自動(dòng)編號(hào)cMenu_IdString菜單編號(hào)cMenu_NameString菜單名稱,輸入cMenu_EngString程序類型cSub_IdString模塊標(biāo)識(shí),程序處理IGradeInt16級(jí)次,根據(jù)當(dāng)前選中菜單程序自動(dòng)處理
32、cSupMenu_IdString上級(jí)菜單編號(hào),根據(jù)當(dāng)前選中菜單程序自動(dòng)處理bEndGradeBoolean是否末級(jí),輸入,cAuth_IdString功能權(quán)限編號(hào),程序內(nèi)部處理,控制權(quán)限時(shí)有效(cAuth_Id= cMenu_Id)。iOrderInt32顯示順序號(hào),程序處理iImgIndexInt32圖標(biāo)索引號(hào),暫不用ParamtersString參數(shù),輸入,只有末級(jí)菜單才允許錄入?yún)?shù)DependsString依賴,暫不用FlagInt標(biāo)志,暫不用UFMenu_Business_Lang表結(jié)構(gòu)(菜單的多語(yǔ)表)字段名數(shù)據(jù)類型含義MenuId菜單標(biāo)識(shí),對(duì)應(yīng)UA_Menu表的cMenu_Id值C
33、aption菜單顯示名稱(簡(jiǎn)體中文名稱顯示的是UA_Menu表的cMenu_Name值)LocaleId語(yǔ)言區(qū)域ZH-CN簡(jiǎn)體中文ZH-TW繁體中文EN-US英文注:U8的系統(tǒng)菜單在UFSystem庫(kù)里,UAP新增或者菜單調(diào)整工具新增的菜單在UFData庫(kù)里,二次開(kāi)發(fā)增加的菜單也要求在UFData庫(kù)里。 UA_IDT表結(jié)構(gòu)字段名數(shù)據(jù)類型含義idstring標(biāo)識(shí),一般等于ua_menu表里面的cMenu_Idassemblystring菜單對(duì)應(yīng)的具體程序catalogtypeint分類,目前都設(shè)置為0typeint菜單對(duì)應(yīng)的程序類型0-VB DLL1-EXE2-.NET UserControl程
34、序類型決定了assembly和class的內(nèi)容classstringtype=2時(shí)有效,.NET UserControl中繼承了NetLoginable的類entrypointstring目前沒(méi)有作用,設(shè)置為nullparameterstring目前沒(méi)有作用,設(shè)置為nullreservedstring目前沒(méi)有作用,設(shè)置為nullufts時(shí)間戳標(biāo)志是否有變化VB DLL:UA_Menu:ua_menu.cmenu_id=“UA”+順序號(hào)ua_menu.csub_id=nullua_menu.Paramters=nullUA_Menu. cMenu_Eng=0需要ufsystem.ua_idt中增
35、加記錄:id= ua_menu.cmenu_idtype = 0assembly = dll類名EXEUA_Menu:ua_menu.cmenu_id=“UA”+順序號(hào)ua_menu.csub_id=nullua_menu.Paramters=nullUA_Menu. cMenu_Eng=1需要ufsystem.ua_idt中增加記錄:id= ua_menu.cmenu_idtype = 1assembly = EXE文件路徑(相對(duì)于U8安裝的相對(duì)路徑)UAP表單處理UAP增加的菜單無(wú)意識(shí)被刪除需要手工添加,或者,需要UAP菜單掛接不同位置。UA_Menu:ua_menu.cmenu_id=“
36、UA”+順序號(hào)ua_menu.csub_id=UAua_menu.Paramters=形如<property cardnum=”UAPTrain_0009” type=”voucher”/>的字符串,這里UAPTrain_0009為表單編號(hào);UA_Menu. cMenu_Eng=2不需要在ufsystem.ua_idt中增加記錄。UAP列表處理UAP增加的菜單無(wú)意識(shí)被刪除需要手工添加,或者,需要UAP菜單掛接不同位置。UA_Menu:ua_menu.cmenu_id=“UA”+順序號(hào)ua_menu.csub_id=UAua_menu.Paramters=形如<property
37、 type=”List” cardnum=”UAPTrain_0009”><UFGeneralList id=”eea90b20-4a2b-4149-8d00-820818dcd38f”/></property>的字符串,這里UAPTrain_0009為表單編號(hào);eea90b20-4a2b-4149-8d00-820818dcd38f為表單列表ID;UA_Menu. cMenu_Eng=3不需要在ufsystem.ua_idt中增加記錄。.Net UserControl系統(tǒng)定義一個(gè)接口IUserControl,只有兩個(gè)屬性:U8Login對(duì)象和菜單對(duì)象(對(duì)應(yīng)的菜單
38、行數(shù)據(jù))。如果.Net UserControl需要U8Login對(duì)象必須實(shí)現(xiàn)這個(gè)接口,否則可以不實(shí)現(xiàn)這個(gè)接口。UA_Menu:ua_menu.cmenu_id=“UA”+順序號(hào)ua_menu.csub_id=UAua_menu.Paramters=<property type="IUserControl" id=” dllpath=”二次開(kāi)發(fā)的DLL路徑” classname=”二次開(kāi)發(fā)的命名空間加類名” ><parameters/></ property>dllpath:dll的路徑,要用u8soft的相對(duì)路徑,最好放在uap目錄下;i
39、d:UserContrl唯一標(biāo)識(shí),其值自定;type:屬性值必須為"IUserControl",區(qū)分大小寫(xiě);parameters:需要給程序(UserControl)傳送的數(shù)據(jù),格式自定。 UA_Menu. cMenu_Eng=4不需要在ufsystem.ua_idt中增加記錄。附錄:門戶示例詳解內(nèi)容 :增加產(chǎn)品 操作窗口 寫(xiě)入門戶消息 聯(lián)查其他功能第一步:增加產(chǎn)品在UFsystem 中執(zhí)行下列sql-增加門戶菜單INSERT INTO UFSystem.dbo.UA_Menu(cMenu_Id, cMenu_Name, cMenu_Eng, cSub_Id, IGrade
40、, cSupMenu_Id, bEndGrade, cAuth_Id, iOrder, iImgIndex, Paramters, Depends, Flag)VALUES('LZ','測(cè)試產(chǎn)品',null,'LZ',0,'SCMG',0,NULL,0,0,NULL,NULL,NULL)INSERT INTO UFSystem.dbo.UA_Menu(cMenu_Id, cMenu_Name, cMenu_Eng, cSub_Id, IGrade, cSupMenu_Id, bEndGrade, cAuth_Id, iOrder,
41、 iImgIndex, Paramters, Depends, Flag)VALUES('LZ01','測(cè)試產(chǎn)品單據(jù)1',null,'LZ',1,'LZ',1,NULL,0,0,NULL,NULL,NULL)INSERT INTO UFSystem.dbo.UA_Menu(cMenu_Id, cMenu_Name, cMenu_Eng, cSub_Id, IGrade, cSupMenu_Id, bEndGrade, cAuth_Id, iOrder, iImgIndex, Paramters, Depends, Flag)VAL
42、UES('LZ02','測(cè)試產(chǎn)品單據(jù)1列表',null,'LZ',1,'LZ',1,NULL,0,0,NULL,NULL,NULL)-增加idt對(duì)應(yīng)記錄select * from ua_idtINSERT INTO UFSystem.dbo.ua_idt(id, assembly, catalogtype, type, class, entrypoint, parameter, reserved)VALUES('LZ01','TestVBActiveXDll.Person',0,0,null,nul
43、l,null,null)INSERT INTO UFSystem.dbo.ua_idt(id, assembly, catalogtype, type, class, entrypoint, parameter, reserved)VALUES('LZ02','TestVBActiveXDll.Person',0,0,null,null,null,null)效果如下第二步:編譯編譯 到 u8softufcomsql 目錄下第三步:打開(kāi)產(chǎn)品登錄 u8打開(kāi)測(cè)試產(chǎn)品單據(jù)1效果如下第四步:打開(kāi)單據(jù)界面包含四個(gè)部分1、有關(guān)工具條的操作2、有關(guān)窗口操作3、有關(guān)消息中心4、有關(guān)聯(lián)查單據(jù)1,2 對(duì)照代碼參考即可第五步:消息中心要往門戶發(fā)自己的消息分兩個(gè)步驟1:增加一個(gè)消息類型(如果是發(fā)現(xiàn)有類型的消息,則忽略該步驟)-預(yù)置一條消息類型,指定類型為notice 通知If Not Exists (Select 1 From UFSystem.UA_MessageType where MsgTy
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國(guó)CG(計(jì)算機(jī)圖像)行業(yè)開(kāi)拓第二增長(zhǎng)曲線戰(zhàn)略制定與實(shí)施研究報(bào)告
- 2025-2030年中國(guó)鈑金加工行業(yè)全國(guó)市場(chǎng)開(kāi)拓戰(zhàn)略制定與實(shí)施研究報(bào)告
- 2025-2030年中國(guó)燃料電池行業(yè)開(kāi)拓第二增長(zhǎng)曲線戰(zhàn)略制定與實(shí)施研究報(bào)告
- 2025-2030年中國(guó)MLCC行業(yè)并購(gòu)重組擴(kuò)張戰(zhàn)略制定與實(shí)施研究報(bào)告
- 2025-2030年中國(guó)辦公物業(yè)管理行業(yè)商業(yè)模式創(chuàng)新戰(zhàn)略制定與實(shí)施研究報(bào)告
- 包裝禮品行業(yè)深度研究報(bào)告
- 中國(guó)玩具藝眼藝鼻項(xiàng)目投資可行性研究報(bào)告
- 農(nóng)業(yè)生產(chǎn)結(jié)構(gòu)與布局
- 電氣作業(yè)相關(guān)知識(shí)培訓(xùn)課件
- 二零二五年度建筑垃圾運(yùn)輸與再生資源開(kāi)發(fā)合同3篇
- 《水下拋石基床振動(dòng)夯實(shí)及整平施工規(guī)程》
- 現(xiàn)代學(xué)徒制課題:數(shù)字化轉(zhuǎn)型背景下新型師徒關(guān)系構(gòu)建研究(附:研究思路模板、可修改技術(shù)路線圖)
- 9.2溶解度(第2課時(shí))-2024-2025學(xué)年九年級(jí)化學(xué)人教版(2024)下冊(cè)
- 安徽省合肥市包河區(qū)2023-2024學(xué)年三年級(jí)上學(xué)期語(yǔ)文期末試卷
- 2024版食源性疾病培訓(xùn)完整課件
- 兒童傳染病預(yù)防課件
- 2025年中國(guó)蛋糕行業(yè)市場(chǎng)規(guī)模及發(fā)展前景研究報(bào)告(智研咨詢發(fā)布)
- 護(hù)理組長(zhǎng)年底述職報(bào)告
- 巨量引擎合同范本
- 《住院患者身體約束的護(hù)理》團(tuán)體標(biāo)準(zhǔn)解讀課件
- 酒店一線員工績(jī)效考核指標(biāo)體系優(yōu)化研究
評(píng)論
0/150
提交評(píng)論