logo资料库

金蝶s-HR开发规范及培训.doc

第1页 / 共113页
第2页 / 共113页
第3页 / 共113页
第4页 / 共113页
第5页 / 共113页
第6页 / 共113页
第7页 / 共113页
第8页 / 共113页
资料共113页,剩余部分请下载后查看
目录
1概述
1.1目的
1.2涵盖内容
2开发规范
2.1 有关命名规范
2.1.1 包命名
2.1.2 类命名
2.1.3 方法命名
2.1.4 变量命名
2.1.5 常量命名
2.1.6 Facade命名
2.2 有关注释
2.2.1 程序文件头注释
2.2.2 方法头注释
2.2.3 关键点注释
2.3 格式规范
2.3.1 缩进
2.3.2 换行
2.3.3 对齐
2.4 异常处理
2.4.1 s-HR抛出异常方式
2.4.1.1 s-HR在Handler中抛出异常
2.4.1.1.1 EASBizException异常
2.4.1.1.2 BOSException异常
2.4.1.1.3 BOSException异常
2.4.1.1.4 其他异常
2.5 代码逻辑规范
2.6 写在最后
3培训
3.1 s-HR框架介绍
3.1.1 描述
3.1.2 s-HR 框架-技术架构
3.1.3 s-HR 框架-基本调用结构
3.1.4 s-HR 框架-J2EE架构
3.1.5 s-HR 框架-技术架构
3.1.6 s-HR 框架-WIF 前端交互框架
3.1.7 s-HR 框架-OSF开放服务框架
3.2 BOS元数据介绍
3.2.1 什么是元数据
3.2.2 解决方案
3.2.2.1 解决方案简介
3.2.2.2 支持语言
3.2.2.3 发布方案
3.2.3 包
3.2.3.1 包简介
3.2.4 实体(Entity)和关系(Relationship)
3.2.4.1 实体对象简介
3.2.4.2 实体对象属性
3.2.4.2.1 映射
3.2.4.2.2 数据类型
3.2.4.2.3 约束
3.2.4.2.4 计算公式
3.2.4.3 实体对象方法
3.2.4.4 实体对象事件
3.2.4.5 实体对象继承
3.2.4.6 实体关系介绍
3.2.4.7 “关联/聚合”和组合
3.2.4.8 定义多对多关联
3.2.4.9 定义关系的应用场景
3.2.5 数据表(Table)
3.2.5.1 数据表简介
3.2.5.2 字段(Column)
3.2.5.2.1 多语言字段
3.2.5.2.2 约束
3.2.5.3 索引
3.2.5.4 主键
3.2.5.5 外键
3.2.6 查询(Query)
3.2.6.1 查询简介
3.2.7 用户界面(UI)
3.2.7.1 用户界面简介
3.2.7.2 控件和布局
3.2.7.3 数据绑定
3.2.7.4 界面操作(Action)
3.2.7.5 界面状态
3.2.8 业务功能(Function)
3.2.8.1 业务功能简介
3.2.8.2 业务功能操作
3.2.9 功能(Facade)
3.2.9.1 功能简介
3.2.10 枚举(Enumeration)
3.2.10.1 枚举简介
3.2.11 异常(Exception)
3.2.11.1 异常简介
3.2.12 权限(Permission)
3.2.12.1 权限简介
3.2.12.2 权限项
3.2.13 多语言资源(Resource)
3.2.13.1 多语言资源简介
3.2.14 规则(Rule)
3.2.14.1 规则简介
3.2.15 业务数据类型(BizDataType)
3.2.15.1 业务数据类型简介
3.2.16 日志(Log)
3.2.16.1 日志简介
3.2.16.2 日志项
3.3 BOS开发平台介绍
3.3.1 开发平台
3.3.2 解决方案
3.3.2.1 名称解释
3.3.2.2 导入解决方案
3.3.2.2.1 本地导入
3.3.2.2.2 远程服务器导入
3.3.2.2.3 拷贝方式
3.3.2.3 删除解决方案
3.3.2.4 打开解决方案
3.3.2.5 设置解决方案
3.3.3 常用菜单
3.3.3.1 窗口 | 首选项
3.3.3.2 窗口 | 打开透视图
3.3.3.3 窗口 | 显示透视图
3.3.3.4 项目 | 自动构建
3.3.4 模块内菜单
3.3.4.1 业务建模工具
3.3.4.1.1 方案菜单
3.3.4.1.2 工具|更新数据库
3.3.4.1.3 工具|部署
3.3.4.1.4 工具|更新解决方案
3.3.4.1.5 运行|启动服务器
3.3.4.1.6 运行|启动客户端
3.3.4.1.7 运行|启动调试
3.3.4.2 设计开发工具
3.3.4.3 JAVA代码
3.3.4.4 调试工具
3.4 开发环境搭建
3.4.1 开发工具及环境准备
3.4.1.1 概述
3.4.2 环境搭建
3.4.3 启动服务
3.5 前端扩展
3.5.1 概述
3.5.2 需求
3.5.3 实现
3.6 后端(业务类)扩展
后端扩展用到的是BOS开发工具、BOS开发工具跟eclipse 差不多只是多了一些金蝶特有的一些功能
3.6.1 新开发单据
3.6.1.1 导入解决方案
3.6.1.2 创建业务单元
3.6.1.2.1 创建业务组别
3.6.1.2.2 创建业务单元
3.6.1.2.3 添加字段
3.6.1.2.4 添加流程涉及的方法
3.6.1.2.4.1 添加实体的扩展属性
3.6.1.2.4.2 添加流程涉及的方法及事件
3.6.1.3 发布业务单元
4开发经验及案例分享
4.1 通过web界面快速定位到该界面使用的视图
4.2 Debug 模式下查看界面运用的js 以及字段名称
4.3 JS获取界面操作状态
4.4 JS动态赋值取值
4.5 JS动态设置字段是否可编辑、以及动态设置是否必填
4.6 二次开发干货
4.6.1 shr列表单元格效果
4.6.2 shr列表单元格点击事件
4.6.3 shr列表导出
4.6.4 shr列表界面显示后台拼接数据
4.6.5 编辑表格冻结列
4.6.6 编辑表格合计行
4.6.7 表格表头居中
4.6.8 表格滚动条
4.6.9 合并列表表头
4.6.10shr控件赋值方法
4.6.11F7字段配置过滤视图
4.6.12handler调用接口两种方法
4.6.13js弹出纯文本div
4.6.14js弹出可输入信息对话框
4.6.15js分录F7过滤
4.6.16js给后台传参方法
4.6.17js回调handler两种方法.txt
4.6.18js获取url参数及列表界面设置初始化过滤条件
4.6.19js将F7字段设置成按钮样式
4.6.20js列表界面功能按钮标准模板
4.6.21js设置F7只读
4.6.22js提示框
4.6.23js移除必填项
4.6.24shr标准页面跳转模板
4.6.25shr常用表
4.6.26shr监听控件值改变方法
4.6.27下载单据全部附件方法
4.6.28Shr流程图及审批意见
4.6.29Shr视图
4.6.30shr 套打方法
4.6.31Shr调用service
4.6.32Shr消息
4.6.33Shr邮件
4.6.34初始化单据赋值
4.6.35废弃流程中的单据方法
4.6.36根据bostype及规则编码获得新编号
4.6.37根据ctx取表名
4.6.38根据人员id获取主岗位跟组织
4.6.39列表界面新增jqgrid表格
4.6.40列表视图查询过滤方法
4.6.41列表页面过滤方法handler
4.6.42日期格式过滤
4.6.43日期控件赋值
4.6.44设置编码规则不断号方法
4.6.45提交生效封装方法
4.7 薪酬函数开发说明
4.7.1 “取历史绝对期间数据”公式使用说明
4.7.2 薪酬公式开发配置说明
4.7.3 代码编写规范
4.7.4 核算函数查询
4.7.5 附录
4.8 权限配置文档(菜单权限)
4.8.1 权限分类配置
4.8.2 权限类型与组织关系
4.8.3 权限依赖
4.8.4 权限项URL信息
4.9 新开发单据按钮权限
4.10OSF调用
4.11 套打开发
4.11.1 客户端数据源和模板配置
4.11.2 视图配置套打按钮
4.11.3 前端JS代码修改
4.11.4 java代码修改(具体修改详细内容请看java代码.txt)
4.12 监听组织岗位人员变化service
4.12.1 新增OSF服务
4.12.2 将服务插入监听表
4.12.3 监听变化数据处理类
4.13 部署二开代码之后重启报错非法主键
4.14 F7字段配置过滤视图
4.14.1 配置F7字段UIPK
4.14.2 F7视图配置
4.14.3 F7视图处理类
4.15 JS获取URL参数及列表界面设置初始化过滤条件
4.16 列表界面导入开发
4.16.1 配置导入模板
4.16.2 配置实现类
4.16.3 配置导入按钮
4.17 与第三方系统集成单点登录以及OSF调用
4.18 与第三方系统待办已办消息集成
4.19 部署
重庆软博科技有限公司 密级: 文档编号: 金蝶 s-HR web 开发规范及培训 重庆软博科技有限公司 二〇一八年五月 1
重庆软博科技有限公司 密级:秘密 版本号说明与版本历史 版本号说明 本文档的内容可能由于项目的持续工作而发生更改。每次更改,文档的发布日期和递进版本号都将明显 的被更改。版本号的递进遵循以下原则: 版本 xx.yy.zzz z 当文档中仅加入了纯粹编辑的更改时,第三位数字发生增长。初始数字为 0。 Y 当其它类型的更改发生时,如技术改良、更正、维护等,第二位数字发生增长。初始数字为 0。 X 当文档确定为一个阶段性文档时,第一位数字发生增长。初始数字为 1。 版本历史 日期 版本 修改内容说明 评审号 变更控制号 作者 2018-05-31 1.0.0 创建文档编写大纲 邓泽鹏 第 2页 共 113页
重庆软博科技有限公司 密级:秘密 本文件中出现的任何文字叙述、文档格式、插图、照片、方法、过程等内容, 除另有特别注明,版权均属重庆软博科技有限公司所有,受到有关产权及版权法 保护。任何个人、机构未经重庆软博科技有限公司的书面授权许可,不得复制或 引用本文件的任何片断,无论通过电子形式或非电子形式。并不得向第三方展示、 传播本文件中的部分或全部内容。 第 3页 共 113页
重庆软博科技有限公司 密级:秘密 目录 第 4页 共 113页
重庆软博科技有限公司 密级:秘密 1 概述 1.1 目的 该文档是根据已开发项目之后整理出来的开发规范及培训资料以及经验分享,为了能使开发人员更好的 掌控金蝶 s-HR web 的二次开发以及为新员工提供的学习文档。 1.2 涵盖内容 1、开发规范 2、培训 3、经验、案例分享 2 开发规范 2.1 有关命名规范 尽量保证能够通过变量名得知变量的含义、尽量用通俗易懂的英文单词进行命名。 2.1.1 包命名  包命名采用全小写命名  通过唯一域名+组件来命名 2.1.2 类命名  类命名采用 Pascal 命名法  大写字母开头,各个单词首字母大写  如果是扩展系统的类或者 JS 文件名称命名为:标准的名称+Ext,包路径保持跟系统标准的一样。  如果是新开发单据 handler、JS:模型+EditHandler.java、模型名称+ListHandler.java 、模型名称+ Edit.js 、模型名称+List.js 第 5页 共 113页
重庆软博科技有限公司 密级:秘密 2.1.3 方法命名  方法命名采用 Camel 命名法  小写字母开头,各个单词首字母大写  属性的 getter 和 setter 方法尽量使用自动生成,并放在程序的后面。  Boolean 类型的属性的 get 方法应形如 isProperty() 2.1.4 变量命名  采用 Camel 命名法  小写字母开头,各个单词首字母大写  特有大写缩写词汇保持大写如:SQL  变量名字不宜过长,可适当采用缩减英文元音字母来缩短长度  假如缩短后名字重复,可以保留其中一个的部分元音字母 2.1.5 常量命名  采用全大写命名法  所有字母均大写 2.1.6 Facade 命名  类命名采用 Pascal 命名法  大写字母开头,各个单词首字母大写  以”Facade”结束 2.2 有关注释 开发人员都应该形成良好的写注释的习惯,方便以后阅读,以及为了后期生成可读性良好的 Java Doc。 第 6页 共 113页
重庆软博科技有限公司 密级:秘密 2.2.1 程序文件头注释 通过设置注释模板设置类、方法、变量注释。 codetemplates.xml 2.2.2 方法头注释 同上 2.2.3 关键点注释 应该包含如下信息: * 一些程序关键的地方 * 一些程序不易读的地方 * 编写代码过程中遇到问题的地方 * 需要提示读者的地方 注释应该写得少而易懂 若修改了文件,可以加上修改人的信息,和修改日期。 2.3 格式规范 2.3.1 缩进 应注意使用 format 来格式化代码,使用 Tab 键来缩进代码,相当于 4 个空格。 2.3.2 换行  if、while 等语句,假如体内只有一句代码也不要省略{},为了方便以后的增删  字符串过长考虑拆分成多行 2.3.3 对齐  类和方法的块注释必须紧贴类和方法  单独起行的//注释必须对齐被注释语句 第 7页 共 113页
重庆软博科技有限公司 密级:秘密 2.4 异常处理 2.4.1 s-HR 抛出异常方式 2.4.1.1 s-HR 在 Handler 中抛出异常 2.4.1.1.1 EASBizException 异常 捕捉到 EASBizException 抛出 ShrWebBizException(e.getMessage(),e),此时异常 提示信息正常,错误堆栈信息可以正常打印,推荐该方式。 } catch (EASBizException e) { throw new ShrWebBizException(e.getMessage(),e); } 2.4.1.1.2 BOSException 异常 BOSException 较为复杂,推荐方法为直接抛出 } catch (BOSException e) { throw new SHRWebException(e); } 第 8页 共 113页
分享到:
收藏