本文介绍了如何在不重新开发的情况下,通过修改单据元数据中的模板继承关系,将单据从继承“单据模板”改为继承“单据带组织模板”。具体步骤包括导出元数据、替换特定标签中的模板ID、再导入修改后的元数据。同时提醒基础资料处理时的注意事项和替换模板需谨慎。
案例说明
1. 修改单据继承的基础模板;
实际开发过程中,会出现开发时单据继承的模板是【单据模板】,后期使用过程中会发现原来是需要继承【单据带组织模板】的,这时如果重新开发将浪费大量的人力、物力以及时间,有没有一种更简便的方式可以实现这个效果呢?比如修改原来单据继承的模板,下面将对该方式进行具体的实现说明。
实现方案
1. 导出需要修改的单据元数据;
2. 替换元数据中.dym结尾的文件,将文件中所有<ParentId>和<InheritPath>标签中的源单ID按照规则进行替换;
3. 导入修改后的元数据;
运行效果&操作步骤
1、 新建一个单据”替换单据模板”,继承【单据模板】;
2、 将元数据导出;
3、 打开【单据带组织模板】元数据的开发设计界面,点击右上角的XML,查询到【单据带组织模板】的ID(ab7efc31000010ac),拷贝出来;
4、 打开导出的元数据文件的ZIP包,用文件编辑器打开.dym结尾的文件,将文件中所有<ParentId>标签中的【单据模板】的ID替换成【单据带组织模板】的ID,将<InheritPath>标签中的ID按照【单据带组织模板】继承上游模板的ID顺序进行替换(比如【单据带组织模板】本身也是继承了【单据模板】,此处就需要替换为【单据带组织模板】ID和【单据模板】ID,按照顺序,中间用逗号间隔),保存;
5、 将修改后的元数据文件导入系统,然后刷新,我们可以看到,单据继承的源页面已经被替换成【单据带组织模板】;
6、 打开替换后的元数据,预览查看,检查验证是否有错误,完美搞定;
备注:基础资料也可参考此方法进行处理,需要注意<ParentId>和<InheritPath>标签中替换的内容,<ParentId>为继承模板的ID,<InheritPath>为继承的模板及模板上游继承模板的ID(可以从模板的元数据XML文件中查询到)。
基础资料类型页面,请不要随意替换父页面。各模板之间差异较大,造成数据表结构不同,其中业务逻辑也不同,替换需慎重。