
# 新扩展点实现方式
后续新增扩展点已全部通过统一SDK方式实现,请前往 [https://dev.kingdee.com/open](https://dev.kingdee.com/open)查看更多扩展点。

下文是旧的二开扩展实现方式,且此贴不再更新。
## 页面初始化数据服务
在页面初始化的数据中常常有二开的逻辑,或者需要修改标准字段的一些携带逻辑。这里提供了一个服务可以让二开修改单据初始化的数据包。
1. 实现接口 kd.fi.er.mservice.ext.IErService4Ext
代码示例
2. 把全类名注册进费用全局配置中(er_stdconfig),key是 ext.service.er

接口说明:
| 方法 | 描述 | 参数 |
| -------------- | ----------------------------------------------------------- | ----------------------------------------------------------- |
| initNewDataMap | 单据初始化数据,在填充页面之前触发。允许修改billMap中的内容 | view:当前单据的view对象 , billMap :将要填充到页面上的数据 |
| | | |
| | | |
## 出纳付款反写服务扩展
标准单据的付款单反写,有一套标准的实现。若有二开继承的单或者需要修改标准反写服务的逻辑,提供了二开扩展接口。 在 er_stdconfig里面添加二开的服务。 key是 【er.writeback.具体元数据标识 】, 比如 要替换费用报销单的反写服务, key就是 er.writeback.er_dailyreimbursebill . value是二开实现的服务全类名。 服务的基类为kd.fi.er.mservice.botp.writeback.AbstractWriteBackServcie
## 差旅标准服务扩展
差旅标准服务标准功能不满足需求的,可以通过注册二开服务的方式重写逻辑。
在 er_stdconfig里面添加二开的服务。 key是 IErTripStdService.要重写的方法名。
以下是两个常用重写方法:
- IErTripStdService.getAccmodationStd 补助住宿标准
- IErTripStdService.getVehicleStdByUserIdAndVehicleType 交通工具标准
value是二开类的全类名。 需要满足的规范:
1. 实现 IErTripStdService接口
2. 提供一个构造方法, 参数是 DynamicObject bill 。 目的是把单据的数据传递到二开的服务里,以便获取一些值用来做二开的逻辑。
3. 若只有单头信息还不满足二开的需要,可以提供两个参数的构造方法,参数 ( DynamicObject bill,Map<String,Object> extMap)
extMap的值,需