- 1.81 MB
- 2022-05-17 13:32:53 发布
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
金蝶K/3WISEV12.2HR产品培训----基于考勤系统的业务模块二次开发金蝶软件(中国)有限公司
本节业务的功能概述功能概述:K3HR客户端平台是基于.NETFramework2.0平台之上开发C/S架构的全新HR管理平台。考虑到客户的业务场景是多种多样的,对于某些个性化的需求,系统不可能一一考虑周到,此时用户可以通过二次开发的途径,在HRFramework上扩充这些功能,从而实现对HR系统的“本地升级”。
本节业务的功能概述HRFramework架构介绍标准的业务模块二次开发示例一些小技巧系统常用环境变量和枚举常量
HRFramework架构介绍HRFramework应用程序结构HRFramework各个工程功能简介HRFramework工程的部署
HRFramework应用程序结构HRFramework应用程序结构
HRFramework各个工程功能简介公共工程Kingdee.K3.HR.BusinessFacade.Interface提供服务器端公开的接口声明,客户端通过引用本工程来取得要调用的接口签名Kingdee.K3.HR.Common公共工程,负责实现服务器端和客户端共用的业务逻辑和公共实体对象,如Remoting消息包的加密解密码、加压解压类,事件通知,日志记录,配置文件访问,异常处理类;公共常量如日期类型、Double类型等共用函数以及最大最小日期等系统常量,公共实体对象有登录用户信息、职员、F7参数及提示信息对象等
HRFramework各个工程功能简介服务器端工程Kingdee.K3.HR.Server服务器端宿主工程,主要是在启动时注册Remoting配置文件以提供服务,同时启动后台定时服务,当要公开新的服务时,需在配置文件中加上服务的签名.Kingdee.K3.HR.BusinessFacade业务外观类工程,负责系统的业务逻辑,对不同的业务系统,也建议对应不同的外观类工程本工程通过实现BusinessFacade.Interface声明的接口来提供服务Kingdee.K3.HR.ServerCommon服务器端共用类工程,如数据库访问类,客户端用户集合类.Kingdee.K3.HR.DataAccess业务数据访问类,为将应用程度与数据库解耦而设,主要负责与数据库的交互,如编写SQL从数据库取数、数据的更新删除等都在本工程实现.
HRFramework各个工程功能简介客户端工程Kingdee.K3.HR.ClientCommon客户端公共工程,包括客户端共用的用户控件,控件设置类、适配器类和常用环境变量,例如远程对象的工厂类,F7、进度条、对话框的适配器类,UI中背景颜色集合;常用用户控件包括职员列表控件、过滤方案.Kingdee.K3.HR.Client客户端主控台工程,运行后会读取Remoting配置文件以取得服务,同时负责用户登录和系统的导航,作为客户端各业务系统的统一入口,后续新业务模块加入时也必须从本工程进入.当要调用新增的服务时,要在配置文件中加上相关服务的签名。
HRFramework各个工程功能简介其他工程Kingdee.K3.HR.ATS.SiteServerWEB站点,服务器端在IIS上的宿主站点Kingdee.K3.HR.ATS.WebServiceWEB服务站点,通过WEB服务形式调用K3现有方法以取得账套信息,加密狗注册信息等
HRFramework层次架构HRFramework工程的部署DBServerFaçadeDataAccessServerCommonRuleResource业务接口类(BusinessFacade.Interface程序集)公共类(Common程序集)实体类(Model程序集)ClientATSUIReportUIOtherUIClientCommon
标准的业务模块二次开发示例环境准备创建新应用程序方案服务器端接口的声明和实体的实现服务器端业务逻辑的代码实现客户端界面的搭建.流程图的创建和模块入口的实现方案的编译和系统运行
标准的业务模块二次开发示例环境准备开发环境:VS.NET2005环境下进行开发Dev控件:DeveloperExpressInc.公司的DXperience套件(V10.4/V11版本为6.3.0,V12为8.1.2.0)将DEV相关组件拖入到Assembly目录
标准的业务模块二次开发示例创建新应用程序方案.服务端工程BF&DB层(Kingdee.K3.HR.Demo.BusinessFacade)编译输出路径“..binserver“接口层&实体层(Kingdee.K3.HR.Demo.BusinessFacade.Interface)编译输出路径“..binserver“和“..binclient“客户端工程UI层(Kingdee.K3.HR.Demo.UI)编译输出路径“..binclient“
标准的业务模块二次开发示例服务器端接口的声明和实体的实现在Kingdee.K3.HR.Demo.Interface工程中声明服务器端接口IOverTimeBF.如:对单据的查询、添加、修改、删除审核操作的接口声明。在Kingdee.K3.HR.Demo.Interface工程中定义实体类OverTimeSheet。如:编码、职员ID、时间等数据.并将实体加上可序列化[Serializable]标签。
标准的业务模块二次开发示例服务器端业务逻辑的代码实现Kingdee.K3.HR.Demo.BusinessFacade引用组件:Kingdee.K3.HR.Common.dll、Kingdee.K3.HR.ServerCommon.dll业务逻辑类OverTimeBF实现接口类IOverTimeBF声明的接口,同时需要继承MarshalByRefObject类新建数据访问类将业务逻辑类与数据库访问操作解耦。
标准的业务模块二次开发示例服务器端业务逻辑的代码实现修改Server工程配置文件,将实现的接口公开出来。步骤:修改Kingdee.K3.HR.Server.exe.config顺次找到下面节点------,在结点按Remoting配置格式加上要公开的接口,如下:
标准的业务模块二次开发示例客户端界面的搭建.Kingdee.K3.HR.Demo.UI引用组件:Kingdee.K3.HR.Common.dll、Kingdee.K3.HR.ClientCommon.dll、Kingdee.K3.HR.Demo.InterfaceV10.4/V11版本:需要修改Client工程配置文件。修改HRMain.exe.config顺次找到下面节点------。在结点按Remoting配置格式加上要公开的接口,如下:
标准的业务模块二次开发示例流程图的创建和模块入口的实现在主控台加上新增模块的入口在帐套上执行以下脚本,即可以根据您的需要增加对应的二级菜单到四级菜单,如果想把增加的程序挂到已有的菜单中去,可以先查找出对应的菜单编号,再修改脚本即可.
标准的业务模块二次开发示例流程图的创建和模块入口的实现新建流程图:以Administrator用户登录HR客户端系统,进入系统设置下的流程图设计,选择对应的菜单,新建流程图,保存即可。
标准的业务模块二次开发示例方案的编译和系统运行开发一个新增业务模块的工作基本完成,编译方案中的三个工程,运行主控台程序,即可在客户端主控台上看到新增的管理模块的入口。
一些小技巧远程对象的创建资源的增加和获取提示信息的显示方法职员列表控件的调用多语言处理异常处理
一些小技巧远程对象的创建在客户端要创建一个远程对象时,可以通过ClientCommon程序集下的Kingdee.K3.HR.ClientCommon.FactoryService.RemotingHelper类来实现,该类提供了一个泛型工厂方法:TCreateProxy();
一些小技巧资源的增加和获取客户端资源窗体自带的资源文件如(FrmOvertime.en.resx),工程级资源文件如(Resources.resx).代码中获取资源如下://R00382加班类型ControlSetting.CheckBaseEditIsNull(lookType,Resources.R00382);
一些小技巧资源的增加和获取服务端资源1.统一放在Kingdee.K3.HR.Resources工程中。2.工程Kingdee.K3.HR.Common.Resource.ResourceProxy中的GetResource()静态方法即是实现资源的访问。下面是该方法的原型:publicstaticstringGetResource(stringresourceID,paramsobject[]args);
一些小技巧资源的增加和获取工具栏图片资源1.统一放在Kingdee.K3.ImageRes.resources工程中。2.设计时将按钮的tag属性设好指定资源图片的资源名称,如下图3.在构造函数中调用ResourceProxy.LoadBarImages()动态加载即可,如:ResourceProxy.LoadBarImages(barManager);//装载工具栏图标资源
一些小技巧提示信息的显示方法Kingdee.K3.HR.ClientCommon.Public.DialogFactory类为一个适配器类,封装了提示信息的显示方法,因此系统中的所有提示信息必须统一调用该类的方法来显示.DialogFactory类的方法:显示一般提示信息和高级内容信息DialogResultShowMessage(stringmessage)DialogResultShowMessage(TipMessagemessage)DialogResultShowMessage(TipMessagemessage,TipMessageShowTypetype)显示询问信息,返回DialogResult.Yes和DialogResult.No两种结果DialogResultShowConfirmMessage(stringtext)DialogResultShowConfirmMessage(stringtext,stringcatption)
一些小技巧职员列表控件的调用位于Kingdee.K3.HR.ClientCommon命名空间下的EmployeeSelector类,它是一个公共的用户控件,负责职员的显示和过滤。该类主要的属性和方法如下:SelectedEmployeeIDArray属性:取得各所选中职员的ID数组SelectedEmployees属性:DataRow[]类型,取得已选择的若干个职员的信息Enabled属性:以设置控件内各交互控件的可用性SelectedEmployeesChange事件:该事件在用户改变列表框中的选中行时触发,事件发生时会告之外部用户选择的前一行行号和行记录以及当前选中的行号和行记录(为DataRow类型)。
一些小技巧多语言处理资源的多语言:增加多语言版本资源文件即可如图1。数据表中的多语言字段:在数据访问层取得当前语言版本,然后获取对应的字段。如图2:
一些小技巧异常处理异常类Kingdee.K3.HR.Common.ExceptionHandle.CheckException该异常类主要用于检验用户提供的数据是否正常来确定是否抛出,该类有一个Message属性,它是TipMessage对象,可以记录产生异常时的原因、高级内容等信息。
系统常用环境变量和枚举常量系统环境类客户端信息类系统约定颜色静态类其他
系统常用环境变量和枚举常量Kingdee.K3.HR.Common.Environment系统环境类NO属性或方法功能备注1MINDATE约定最小日期值2MAXDATE约定最大日期值3WARNING_DATA_COUNT考勤排班中警告数据上限4DISABLED_DATA_COUNT日历式排班中禁止展示数据上限5YESTERDAY昨天常量6TODAY今天常量以1900-01-10为基准7TOMORROW明天常量8DEFAULT_SHIFT默认班次9HOLIDAY_SHIFT节假日班次10SUNDAY_SHIFT周日班次11SATURDAY_SHIFT周六班次12AppPath系统当前所在目录13IP客户端IP14MachineName客户端机器名15ProcessID客户端程序的进程ID16WorkStation客户端工作站
系统常用环境变量和枚举常量Kingdee.K3.HR.ClientCommon.ClientInfo客户端信息类NO属性或方法功能备注1Session登录信息,LoginSession类型,包括账套信息,当前语言,访问中间层的网络信息等2PropsString连接字符串3UserSelf登录用户k/3基本信息,如登录用户账号、ID,客户端的IP、机器名等4HRUser登录用户HR基本信息,Employee类型
系统常用环境变量和枚举常量Kingdee.K3.HR.ClientCommon.BackgroundColor系统约定颜色静态类NO属性或方法功能备注1Selected选中行2FocusRow当前聚焦行3CanNotEdit不可编辑4Default默认颜色5Approval已审核行6Disable禁用行7Subtotal小计行8Summation合计行9Sumtotal总计行10Line固定列线11Blank空白的颜色
系统常用环境变量和枚举常量其他Kingdee.K3.HR.Common.EditStatus窗体编辑状态集合:共有新增(Add),编辑(Edit),浏览(Browse),批处理(EditBatch),复制新增(Copy),批量新增(AddBatch)五种Kingdee.K3.HR.Common.LEGALHOLIDAY_PROCESS_TYPE遇法定节假日处理方式:AUTODELAY=1(自动后延)AUTOREPLACE=2(自动替换)Kingdee.K3.HR.ClientCommon.KDDateTime时间类ServerDateTime属性可取得服务器当前时间
本节业务要点回顾HRFramework层次架构介绍标准的业务模块二次开发示例一些小技巧系统常用环境变量和枚举常量
谢谢!
特别声明没有金蝶软件(中国)有限公司的特别许可,任何人不能以任何形式或为任何目的复制或传播本文档的任何部分。本文档中包含的信息如有更改,恕不另行通知。由金蝶软件(中国)有限公司和其分销商所销售的某些软件产品包含有其它软件供应商版权所有的软件组件。Microsoft®、WINDOWS®、NT®、EXCEL®、Word®、PowerPoint®和SQLServer®是微软公司的注册商标。IBM®、DB2®、DB2通用数据库、OS/2®、ParallelSysplex®、MVS/ESA、AIX®、S/390®、AS/400®、OS/390®、OS/400®、iSeries、pSeries、xSeries、zSeries、z/OS、AFP、IntelligentMiner、WebSphere®、Netfinity®、Tivoli®、Informix和Informix®动态ServerTM是IBM公司在美国或其他公司的商标。ORACLE®是ORACLE公司的注册商标。UNIX®、X/Open®、OSF/1®和Motif®是OpenGroup的注册商标。Citrix®、Citrix徽标、ICA、ProgramNeighborhood®、MetaFrame®、WinFrame®、VideoFrame®、MultiWin®以及此处引用的Citrix产品名是CitrixSystems公司的商标或注册商标。HTML、DHTML、XML和XHTML是W3C®、WorldWideWeb协会、计算机科学实验室的商标或注册商标。JAVA®是SunMicrosystems公司的注册商标。JAVASCRIPT®SunMicrosystems公司的注册商标,由其技术开发和实施商Netscape许可使用。本文档提到的金蝶®、金蝶KIS®、金蝶K/3®、金蝶EAS®、Apusic®、金蝶iFly®和其它金蝶产品和服务以及它们各自的徽标是金蝶软件(中国)有限公司在中国和世界其它一些国家的商标或注册商标。本文档提到的所有其它产品和服务名称是它们各自公司的商标。