u8开发之cs门户集成.doc

上传人:F****n 文档编号:98043797 上传时间:2019-09-07 格式:DOCX 页数:16 大小:516.10KB
返回 下载 相关 举报
u8开发之cs门户集成.doc_第1页
第1页 / 共16页
u8开发之cs门户集成.doc_第2页
第2页 / 共16页
u8开发之cs门户集成.doc_第3页
第3页 / 共16页
u8开发之cs门户集成.doc_第4页
第4页 / 共16页
u8开发之cs门户集成.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《u8开发之cs门户集成.doc》由会员分享,可在线阅读,更多相关《u8开发之cs门户集成.doc(16页珍藏版)》请在金锄头文库上搜索。

1、U8知识库文档 C/S门户集成摘要通过企业应用平台(简称门户),企业员工可以通过单一的访问入口访问企业的各种信息,定义自己的业务工作,并设计自己的工作流程。企业应用平台通过各类导航执行具体的功能,通过桌面提供快捷常用功能和快捷报表信息,通过边框区提供辅助功能。什么是门户? 门户(Portal):原意是指正门、房屋的出入口;现多用与互联网的门户网站,是指集成了多样化内容服务的Web站点,又称为网络门户;我们这里所说的门户是指客户服务器结构(C/S)的应用程序的入口,集成了用友U8应用的绝大部分内容,为用户提供了一个单一的入口。U8门户是一个开放的平台,可以支持用户进行二次开发,以拓展U8的功能,

2、满足用户个性化的业务场景。目标本文主要介绍使用门户提供的开发框架进行二次开发的相关事项,以方便将用户个性化的应用集成到U8门户中,以解决U8标准产品不提供的、用户实际工作需要的问题。门户可以做什么? 门户可以将用户开发的程序,通过门户提供的扩展机制,集成到门户中。具体支持如下几种方式的扩展: 1. 将使用VB开发的组件集成到门户2. 将使用.Net开发的UserControl集成到门户3. 将独立运行的Exe程序集成到门户4. 将使用.Net开发的ViewPart集成到门户如何开发可与门户集成的VB dll?1. 代码修改(890/10.0/10.1)第一步:引用UFPortalProxyIn

3、terface.dll组件然后在工程中增加实现接口的类,例如:Person实现接口 ILoginable Option Explicit修改1 实现接口Implements UFPortalProxyInterface.ILoginablePrivate Function ILoginable_CallFunction(ByVal cMenuId As String, ByVal cMenuName As String, ByVal cAuthId As String, ByVal cCmdLine As String) As Object End FunctionPrivate Functi

4、on ILoginable_Login() As Boolean MsgBox Log on ILoginable_Login = TrueEnd FunctionPrivate Function ILoginable_LogOff() As Boolean MsgBox Log offEnd Function各接口含义如下:1、Login接口( Private Function ILoginable_Login() As Boolean ),不管弹出的是模式窗体还是非模式窗体,此接口在成功登录后须返回True,而且要保证登录成功后,第二次调用此接口时也要返回True。只有在登录失败后方可返回

5、False。也就是说此接口返回值的含义是是否已经成功登录子系统。2、LogOff接口( Private Function ILoginable_LogOff() As Boolean ),此接口的含义是执行LogOff过程,如查成功使该子系统LogOff状态返回True,否则返回False。也就是说,如果该子统还未登录,则真接返回False就可以了。如果系统处于已经登录的过程,则执行业务组原有所需的LogOff过程,如果执行功能,正确LogOff了子系统,则返回True,否则返回False。如果在实际程序中没有此过程,则直接返回True即可。3、CallFunction接口(Private F

6、unction ILoginable_CallFunction() As Boolean)。如果您的应用没有子系统登录过程的产品,此值须返回True.第二步:增加Business属性可读可写,且对大小写敏感。此属性维护一个对于此业务工程全局变量,以实现和VB程序和Portal的交互。参考实现如下:增加Business属性 Option Explicit修改2增加Business属性Public Property Get Business() As ObjectSet Business = g_businessEnd PropertyPublic Property Set Business(bu

7、sVal As Object)Set g_business = busValEnd Property第三步:增加全局变量新建一module文件,并加入如下全局变量增加Business属性 Option Explicit修改3增加g_business全局变量Public g_business As ObjectPublic g_bLogined As Boolean第四步:修改窗体1、 修改嵌入Portal的窗体文件原来有MdiExtender控件的窗体,要嵌入Portal的窗体修改方法:调用CreateFormEnv方法调用ShowForm方法每个窗体都要有方法ExitForm2、 修改第一次

8、弹出就是模态的窗体可以直接使用通过采用VB窗体的Form.Show (vbModal)的方式,也调用ShowForm方法来显示此窗体。3、 由嵌入Portal的窗体弹出的窗体不作修改,如果是模式窗体,请在此窗体上加入UFFormPartner控件第五步:UFToolbar的修改,请参考U8开发之工具栏控件第六步:在窗体的Unload事件中加入窗体的UnLoad修改 Set UFToolbar1.Business = Nothing其它:FormIsOpened 判断窗体是否打开SetFormActive 设置并激活某个已经存在的窗体CloseForm 在显示过程中(窗体已经显示)关闭自身窗体S

9、howForm显示嵌入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对象;SubID: 子产品号;sKey: Key,注意不能是form的Hwnd,在窗体的生命周期中,此值必须唯一;moda

10、lable: 该窗体是否为Model窗口;DockToProtal : 是否要嵌入到Portal中;vfd: 由CreateFormEnv对象的返回对象CreateFormEnv初始化嵌入Portal的环境Public Function CreateFormEnv(ByVal sKey As String, ByRef formObj As Object) As VBFormDescriptorsKey: Key,注意不能是form的Hwnd,在窗体的生命周期中,此值必须唯一;formObj: Form对象CloseForm关闭一个已经打开的窗体Public Function CloseFor

11、m(ByVal sKey As String, ByVal obj As Object)sKey: Key,注意不能是form的Hwnd,在窗体的生命周期中,此值必须唯一obj: Form对象。SetFormActive使某个窗口成为当前窗口Public Function SetFormActive(ByVal sKey As String, ByVal obj As Object)sKey: Key,注意不能是form的Hwnd,在窗体的生命周期中,此值必须唯一obj: Form对象2. 数据库修改菜单预置数据 -例:增加门户菜单,将您的程序挂接到供应链(SCMG)下面-select * f

12、rom ua_menu where cMenu_id=SCMG-select * from ua_subsys where cSub_Id=dmDELETE FROM UFSystem.dbo.ua_subsys WHERE cSub_id=DMINSERT INTO UFSystem.dbo.ua_subsys(cSub_id,cSub_name,iTasks,bInstalled,iVersion,cObjCreate,dStart,nType,cEntType,iOrder,cMonthEndFld)values(DM,DM,0,0,11.0,CreateCom,NULL,64,NULL

13、,100,NULL)DELETE FROM UFSystem.dbo.UA_Menu WHERE cMenu_Id=DMINSERT INTO UFSystem.dbo.UA_Menu(cMenu_Id, cMenu_Name, cMenu_Eng, cSub_Id, IGrade, cSupMenu_Id, bEndGrade, cAuth_Id, iOrder, iImgIndex, Paramters, Depends, Flag)VALUES(DM,测试产品,null,DM,0,SCMG,0,NULL,0,0,NULL,NULL,NULL)DELETE FROM UFSystem.db

14、o.UA_Menu WHERE cMenu_Id=DM01INSERT INTO UFSystem.dbo.UA_Menu(cMenu_Id, cMenu_Name, cMenu_Eng, cSub_Id, IGrade, cSupMenu_Id, bEndGrade, cAuth_Id, iOrder, iImgIndex, Paramters, Depends, Flag)VALUES(DM01,测试产品单据,null,DM,1,DM,1,NULL,0,0,NULL,NULL,NULL)DELETE FROM UFSystem.dbo.UA_Menu WHERE cMenu_Id=DM02INSERT INTO UFSystem.dbo.UA_Menu(cMenu_Id, cMenu_Name, cMenu_Eng, cSub_Id, IGrade, cSupMenu_Id, bEndGrade, cAuth_Id, iOrder, iImgIndex, Paramters, Depends, Flag)VALUES(DM02,测试产品单据列表,null,DM,1,DM,1,NULL,0,0,NULL,NULL,NULL)-增加idt对应记录DELETE FROM UFSystem.dbo.ua_idt where id=DMINSERT INTO UFSyste

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号