系统运维.元数据恢复.基于元数据修改日志恢复元数据
【应用场景】
<1>BOSIDE中可以对元数据的XML直接修改,直接修改元数据XML,对操作者的要求极高,很容易改坏元数据,导致元数据损坏。
<2>用户二开使用的是BOS集成开发平台,希望能将某个元数据快速恢复到某个特定的版本(协同平台有svn管理元数据,可简单快速恢复)。
<3>星空版本不低于PT-146832 [7.5.1604.4](发布时间:2020/4/2)。
【案例演示】
扩展采购订单,分3次修改该扩展,然后通过元数据修改日志,将元数据恢复到第二次修改时的状态。
【实现步骤】
<1>BOSIDE扩展采购订单,新增文本字段,保存,新增文本字段1,保存,新增文本字段2,保存。
三次保存元数据的操作,将产生3条元数据修改日志。
<2>使用扩展层的采购订单的业务对象标识去查询元数据修改日志,并获取第二次元数据修改记录的内码,用于后面进行元数据恢复。
/*元数据修改日志*/ SELECT * FROM T_BAS_METADATALOG WHERE FOBJECTID='58f7a445-893e-48ab-a646-f1e34ff22cb6' /*元数据(多语言)修改日志*/ SELECT * FROM T_BAS_METADATALOG_L a LEFT JOIN T_BAS_METADATALOG b ON a.FID=b.FID WHERE b.FOBJECTID='58f7a445-893e-48ab-a646-f1e34ff22cb6'
此例中,第二次元数据修改日志的内码是425345。
<3>通过SQL,将元数据恢复到指定版本。
/*根据元数据修改日志恢复元数据*/ UPDATE T_META_OBJECTTYPE SET FKERNELXML=b.FKERNELXML --SELECT a.FKERNELXML,b.FKERNELXML FROM T_META_OBJECTTYPE a JOIN T_BAS_METADATALOG b ON a.FID=b.FOBJECTID WHERE b.FID=425345 /*根据元数据修改日志恢复元数据(多语言)*/ UPDATE T_META_OBJECTTYPE_L SET FKERNELXMLLANG=c.FKERNELXMLLANG --SELECT a.FKERNELXMLLANG,c.FKERNELXMLLANG FROM T_META_OBJECTTYPE_L a JOIN T_BAS_METADATALOG b ON a.FID=b.FOBJECTID JOIN T_BAS_METADATALOG_L c ON b.FID=c.FID AND a.FLOCALEID=c.FLOCALEID WHERE b.FID=425345
<4>重新打开采购订单扩展节点,此时,元数据已被恢复到第二次修改时的状态。
---------------------------------------------------------------------------------------------------------
【金蝶云星空BOS二次开发案例演示】https://vip.kingdee.com/article/94751030918525696
系统运维.元数据恢复.基于元数据修改日志恢复元数据
【应用场景】<1>BOSIDE中可以对元数据的XML直接修改,直接修改元数据XML,对操作者的要求极高,很容易改坏元数据,导致元数据损坏。<2>用户...
点击下载文档
上一篇:二开案例.列表插件.显示自定义面板下一篇:元数据修改日志
本文2024-09-23 04:00:34发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-162517.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章