【亚伟-苍穹系列】之如何修改单据继承的模板原创
金蝶云社区-王亚伟
王亚伟
23人赞赏了该文章 2,924次浏览 未经作者许可,禁止转载编辑于2022年05月05日 15:03:17
summary-icon摘要由AI智能服务提供

本文介绍了如何在不重新开发的情况下,通过修改单据元数据中的模板继承关系,将单据从继承“单据模板”改为继承“单据带组织模板”。具体步骤包括导出元数据、替换特定标签中的模板ID、再导入修改后的元数据。同时提醒基础资料处理时的注意事项和替换模板需谨慎。

案例说明

        1. 修改单据继承的基础模板;

        实际开发过程中,会出现开发时单据继承的模板是【单据模板】,后期使用过程中会发现原来是需要继承【单据带组织模板】的,这时如果重新开发将浪费大量的人力、物力以及时间,有没有一种更简便的方式可以实现这个效果呢?比如修改原来单据继承的模板,下面将对该方式进行具体的实现说明。


实现方案

    1.  导出需要修改的单据元数据;

    2.  替换元数据中.dym结尾的文件,将文件中所有<ParentId><InheritPath>标签中的源单ID按照规则进行替换;

    3.  导入修改后的元数据;

 

运行效果&操作步骤

1、 新建一个单据”替换单据模板”,继承【单据模板】;

image.png


2、 将元数据导出;

image.png


3、 打开【单据带组织模板】元数据的开发设计界面,点击右上角的XML,查询到【单据带组织模板】的ID(ab7efc31000010ac),拷贝出来;

image.png

image.png



4、 打开导出的元数据文件的ZIP包,用文件编辑器打开.dym结尾的文件,将文件中所有<ParentId>标签中的【单据模板】的ID替换成【单据带组织模板】的ID,将<InheritPath>标签中的ID按照【单据带组织模板】继承上游模板的ID顺序进行替换(比如【单据带组织模板】本身也是继承了【单据模板】,此处就需要替换为【单据带组织模板】ID和【单据模板】ID,按照顺序,中间用逗号间隔),保存

 image.pngimage.png

5、 将修改后的元数据文件导入系统,然后刷新,我们可以看到,单据继承的源页面已经被替换成【单据带组织模板】

image.png


6、 打开替换后的元数据,预览查看,检查验证是否有错误,完美搞定;


           image.png

     

       备注:基础资料也可参考此方法进行处理,需要注意<ParentId><InheritPath>标签中替换的内容,<ParentId>为继承模板的ID<InheritPath>为继承的模板及模板上游继承模板的ID可以从模板的元数据XML文件中查询到)。

             基础资料类型页面,请不要随意替换父页面。各模板之间差异较大,造成数据表结构不同,其中业务逻辑也不同,替换需慎重。



图标赞 23
23人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!