C/S门户集成
摘要
通过企业应用平台(简称门户),企业员工可以通过单一的访问入口访问企业的各种信息,定义自己的业务工作,并设计自己的工作流程。
企业应用平台通过各类导航执行具体的功能,通过桌面提供快捷常用功能和快捷报表信息,通过边框区提供辅助功能。
什么是门户?
门户(Portal):原意是指正门、房屋的出入口;现多用与互联网的门户网站,是指集成了多样化内容服务的Web站点,又称为网络门户;我们这里所说的门户是指客户服务器结构(C/S)的应用程序的入口,集成了用友U8应用的绝大部分内容,为用户提供了一个单一的入口。
U8门户是一个开放的平台,可以支持用户进行二次开发,以拓展U8的功能,满足用户个性化的业务场景。
目标
本文主要介绍使用门户提供的开发框架进行二次开发的相关事项,以方便将用户个性化的应用集成到U8门户中,以解决U8标准产品不提供的、用户实际工作需要的问题。
门户可以做什么?
门户可以将用户开发的程序,通过门户提供的扩展机制,集成到门户中。具体支持如下几种方式的扩展:
1.将使用VB开发的组件集成到门户
2.将使用.Net开发的UserControl集成到门户
3.将独立运行的Exe程序集成到门户
4.将使用.Net开发的ViewPart集成到门户
如何开发可与门户集成的VB dll?
1.代码修改(890/10.0/10.1)
第一步:引用UFPortalProxyInterface.dll组件
各接口含义如下:
1、Login接口( Private Function ILoginable_Login() As Boolean ),不管弹出的是模式窗体还是非模式窗体,此接口在成功登录后须返回True,而且要保证登录成功后,第二次调用此接口时也要返回True。只有在登录失败后方可返回False。也就是说此接口返回值的含义是是
否已经成功登录子系统。
2、LogOff接口( Private Function ILoginable_LogOff() As Boolean ),此接口的含义是执行LogOff过程,如查成功使该子系统LogOff状态返回True,否则返回False。也就是说,如果该子统还未登录,则真接返回False就可以了。如果系统处于已经登录的过程,则执行业务组原有所需的LogOff过程,如果执行功能,正确LogOff了子系统,则返回True,否则返回False。如果在实际程序中没有此过程,则直接返回True即可。
3、CallFunction接口(Private Function ILoginable_CallFunction() As Boolean)。如果您的应用没有子系统登录过程的产品,此值须返回True.
第二步:增加Business属性
可读可写,且对大小写敏感。此属性维护一个对于此业务工程全局变量,以实现和VB程序和Portal的交互。参考实现如下:
第三步:增加全局变量
新建一module文件,并加入如下全局变量
第四步:修改窗体
1、修改嵌入Portal的窗体文件
原来有MdiExtender控件的窗体,要嵌入Portal的窗体
修改方法:
调用CreateFormEnv方法
调用ShowForm方法
每个窗体都要有方法ExitForm
2、修改第一次弹出就是模态的窗体
可以直接使用通过采用VB窗体的Form.Show (vbModal)的方式,也调用ShowForm方法来显示此窗体。
3、由嵌入Portal的窗体弹出的窗体
不作修改,如果是模式窗体,请在此窗体上加入UFFormPartner控件
第五步:UFToolbar的修改,请参考《U8开发之工具栏控件》
2.数据库修改
3. 系统启用
如何开发可与门户集成的 .Net UserControl ?
1.
代码修改(890/10.0/10.1)
第一步:使用VisualStudio 创建项目https://www.doczj.com/doc/6f8569234.html,ProductSample
项目引用路
径:
U8安装路径\ Interop\Interop.U8Login
U8安装路径\Portal\UFIDA.U8.Portal.Framework.dll
U8安装路径\ Portal \UFIDA.U8.Portal.Proxy.dll
U8安装路径\ Portal \https://www.doczj.com/doc/6f8569234.html,mon.dll
第二步:继承NetLoginable,重载SubSysLogin,SubSysLogOff和CallFunction方法
第三步:实现INetUserControl,重载SubSysLogin,SubSysLogOff和CallFunction方法
2.预置菜单
3.部署
将程序集https://www.doczj.com/doc/6f8569234.html,ProductSample.dll拷贝到U8安装目录Portal目录下
如何将独立运行的Exe程序集成到门户?
1、菜单调整
进入UAP,打开开菜单调整工具;
2、新增菜单
鼠标选中需要挂接的文件夹(如果没有可以用菜单调整工具新建文件夹),点新增按钮;
自动生成
菜单的多语名称,将在U8左
树菜单里显示
如果是文件夹这里选否
3、保存
保存后,自动生成一个菜单编号;
4、编辑idt.dll文件
用文本编辑器打开并修改U8安装目录\Portal\idt.dll文件,在文件末尾的前
面增加一行 如何开发一个类似助手视图一样的视图,嵌入门户? 1、创建项目 使用VisualStudio创建项目UFIDA.U8.Portal.SampleViews ,项目引用路径: U8安装路径\Portal\UFIDA.U8.Portal.Framework.dll U8安装路径\ Portal \https://www.doczj.com/doc/6f8569234.html,mon.dll 2 3 4、部署 将UFIDA.U8.Portal.SampleViews.dll拷贝U8安装目录\Portal目录下 5、配置 进入单据页面设置,点“新增”按钮,输入标题,点“添加”按钮,选择“发布消息视图”,点“确定”按钮。 选中“关联菜单”页签,展开菜单树,选中“销售订单”,点“添加”。然后确定。 打开“销售订单”单据 可以看到视图已经展现在“销售订单”左边。