1. 服务端controllerbean扩展方式:服务端需要进行标准产品的扩展需要修改两处内容:在实体上增加扩展属性并重新发布、新增扩展类并从controlbean实现类继承。
a. 修改实体或facade
需要在实体或facade的元数据中手工添加如下部分内容,添加完成后需要发布此实体元数据
<rs key="entityObject[com.kingdee.eas.scm.sm.pur.app.PurOrder].extendedProperty.controllerBeanEx"> <lang locale="en_US" value="com.kingdee.eas.scm.sm.pur.app.PurOrderControllerBeanEx" /> <lang locale="zh_CN" value="com.kingdee.eas.scm.sm.pur.app.PurOrderControllerBeanEx" /> <lang locale="zh_TW" value="com.kingdee.eas.scm.sm.pur.app.PurOrderControllerBeanEx" /> </rs>
com.kingdee.eas.scm.sm.pur.app.PurOrderControllerBeanEx是你的扩展类的全路径名称,名称可以任意
如果是需要对实体进行扩展,还可以通过如下方式:在bim工具中找到此实体对应的业务单元,打开并在“业务单元”菜单增加“功能”,增加一个空的功能后进行发布,即可自动生成类似上面的扩展属性部分内容。
b. 新增扩展类
按照第一步配置的扩展类名,从标准产品的ctrollerBean继承,进行相关方法和实现的覆写即可。如果发现父类中某些方法或属性是私有,则可以通过反射并修改访问属性来访问。
2. 客户端UI扩展方式:直接新增类比如VoucherEditUICTEx,从VoucherEditUI实现类继承,覆写其中方法,如果发现父类中某些方法或属性是私有,则可以通过反射并修改访问属性来访问。
注意:*CTEx ,前面的类名必须和标准产品的UI实现类名完全一致,并从此实现类继承过来。