人事单据二开扩展示例

栏目:s-hr cloud知识作者:金蝶来源:金蝶云社区发布:2024-09-22浏览:1

人事单据二开扩展示例

【适用版本】

  s-HR V8.5及以上


【应用场景】

  场景:给员工扩展一个属性,例如现住址,要求入职时就填写数据,并且在入职单生效后,员工基本信息能存储填写的现住址信息

  前端要求:如果保存时,现住地未填写,提示用户填写

  Java端要求:入职单提交生效后,也需要保存进员


【详细说明/示例/操作步骤】

1、  实体扩展

动态扩展平台高级版 --> 新建方案 --> 添加实体

  1.1入职单实体扩展

在动态扩展平台找到入职单实体,在员工入职分录加一个nowLiveAddr,并且保存,启用方案

上传图片


 1.2员工扩展

    因为要将字段反写到员工基本信息上,所以需要在员工表添加现住地字段。员工基本信息是历史模型,所以员工表和员工历史表都要添加此字段

在实体节点,右键,导入实体,选择员工_个人信息。如果搜索不到实体,可以在弹出框按F7,在空白框输入实体路径com.kingdee.eas.basedata.person.app.Person,点击确定。

2、视图扩展

  2.1入职视图中添加字段

<field name="entrys.nowLiveAddr" label="现住地"></field>

上传图片

    若入职单实体字段添加成功可在入职单看到现住地字段

上传图片

   2.2 员工基本信息视图添加字段

    因为场景需要将此字段反写到员工基本信息,所以要在员工基本信息页面同样配置一个现住地字段,用于单据生效后查看。

3、JS扩展

在入职单视图中加

<script src="${appPath}/customer/web/js/empEnrollBizBillHrManEditEx.js"></script>

jsClass需要调整为自己写的JS类,并且继承标准产品,部署到(部署目录要看自己对应的二开环境目录)

E:\EAS850_TRUNK\eas\server\deploy\easweb.ear\shr_web.war\addon\customer\web\js

3.1 测试js

   可在js中添加提示信息打出测试js是否被加载到

上传图片

上传图片上传图片

上传图片

当看到打印出提示时表示二开新加的js被加载到


3.2 必填校验.

添加成功后可实现对字段的必填校验。也可以通过视图配置此字段必填

上传图片

上传图片


此处仅做保存时校验,因此在doSave方法添加了校验,如果需要在提交工作流和提交生效做校验重写对应方法即可。



4、 后端扩展

4.1展入职单ControllerBean

单据生效方法为_entryEffect()。可重写_dowithSpecialFiledsEffect方法对字段反写逻辑做处理


4.2 打包部署后端代码


将编写后端类导出成jar包,并放入后端eas/server/lib/sp目录下


4.3 DEP启用扩展ControllerBeanEX

编写的后端代码关联到入职单实体,以此来实现入职单生效时走二开扩展的代码

在动态扩展平台中配置”入职单”实体的“实体扩展属性”,扩展名为controllerBeanEx的实体扩展属性,值为二开的类路径。保存启用方案。

controllerBeanEx=com.kingdee.customer.app.EmpEnrollBizBillControllerBeanEx



5、结果验证

按照上面步骤做完,并部署到测试环境后,可达到在入职单添加现住地字段,在单据生效后反写到员工基本信息

上传图片


【注意事项/常见错误】


    现象:很多同学在按照上面步骤做完后,发现查看信息变更记录,这里显示的“现住地扩展字段”却是空的。并没有将单据上的字段反写过来。

    

上传图片


原因:很多同学给员工基本信息添加字段时忽略了 员工实体是一个历史模型,除了要给当前实体添加字段,还需要给历史实体添加字段。添加上即可。此问题在上面给员工实体添加字段时有过强调。

上传图片











人事单据二开扩展示例

【适用版本】 s-HR V8.5及以上【应用场景】 场景:给员工扩展一个属性,例如现住址,要求入职时就填写数据,并且在入职单生效后,员工...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息