相同点:
扩展&继承都可以实现系统原生单据的功能补充,都是在设计期对实体进行改造,运行期会根据差异化元数据叠加显示最终的效果,所以源单如果有修改都会影响到扩展或继承之后的单据。
不同点:
扩展是对源单实体进行改造增强,扩展之后最终系统中还是只存在1个实体—扩展之后的实体。
继承是对源单实体继承之后再改造,继承之后最终系统中存在2个实体:源单实体和继承实体。
具体对比:
扩展:数据库表不允许修改,使用原来的表。
继承:系统未控制数据库表修改。可以根据实际情况看是否需要保存在原来的数据库表里。
扩展:一个单只能扩展一次,但是可以对扩展之后的单再次扩展。
继承:一个单可以继承多次,继承后的单也可以继承多次。
扩展:在系统只能看到一张单,即扩展之后最终只有一个实体。
继承:在系统中是两张不同的单,即继承之后最终会有两个实体。
.扩展:系统中菜单、编码规则、权限、单据转换、工作流等都不需要重新配置。
继承:系统中菜单、编码规则、权限、单据转换、工作流等都需要重新配置继承后的单。
扩展:原单据入口会在运行期动态显示扩展后的单据。
继承:原单据入口和继承后的单据拥有独立的入口
扩展:使用标识都需要使用原单的标识,使用扩展单的标识可能会提示实体不存在。
继承:使用的标识是分开的,继承之后的单和原单的标识互相独立。

