业务流程问题1--正确修改表定义中的表名

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

业务流程问题1--正确修改表定义中的表名

一、现象

当单据进行流转时,后台会根据formId,实体key,和实体对应的表名在表定义中产生一条记录,此记录就是这些数据的关系,此记录中的表名用来在Lk表,流程实例节点表,反写快照表中,一旦产生此实体对应的表名就固定了,不会因实体修改表名而改变,如果需要改变,则需要把相关的数据删除,再重启IIS才能生效,大概的做法:

1、把已产生关联的下游单据全部删除(下游单据删除会删除下游单据的Lk表数据,流程实例,反写快照数据)

2、修改定义表(t_bf_tableDefine)中的表编码

3、重启IIS.

如果无法把相关的下游单据删除,则需要修改(Lk表数据,流程实例,反写快照数据)的数据,否则下游单据操作会报错,如下面的错误:

1)同一个反写规则找到了多个源单实体,反写源单不明确,无法反写!

2)

调用堆栈: Server stack trace:   在 Kingdee.BOS.App.Core.BusinessFlow.WriteBackEngine.LoadSrcBillPKValues(Entity sourceEntity, List`1 sourceEntryIds)

image.webp

二、说明

流程节点和反写快照中的表名都是来自表定义,如果表定义中的表编码修改,则需要同步修改此两者中的数据,反写快照还需要修改备份和归档中的数据,而且反写快照是使用xml存储,现在是加密存储,非常麻烦,所以强烈建议不要修改表名。

三、修改最新反写快照中的表名

1)找到对应的反写快照,取出fxmlbody中的数据

select * from t_bf_instanceSnap  where FCID = 'xxxxx'

2)反写数据不包含<xzip>节点,取节点中的数据解压

image.webp

3)解密数据,替换相应的表名

在线解压地址:https://www.bejson.com/encrypt/gzip/

image.webp

4)替换后再进行gzip加密,注意加密时不要带xml声明 “<?xml version="1.0" encoding="utf-16"?>”

image.webp

5)加密文本加上<xzip>节点,更新到反写快照表上

update t_bf_instanceSnap set  FXMLBODY='<xzip>H4sIAAAAAAAAA9WU30rDMBTG730KH2BZkjZ/DITcdTgQhHboZUnTUyx2da6ture3TTt1u5uMwS6SHDgn33dyfhCdvAC0Rsdvn43fjV7m41pllWnTKE6jrw3UDcRQrrOobrc7jYecjvoqzuQdIxoPscY/W/JXZHUg8t5B0x7LUMECzg9kvMRimd9io5/jroJmOr2wLYBb6nKUAc0RE4ohJaRDVICUQeYCAnZqJR4uJv5pT7YyQjIy7zseYo2nBPZV948bk9gP0HiI+uRo9+sKjDvliEK8cBQxIgVSBRCU5cyygoaFU/Jcrnj/aOxr/4mGXhMaGobs8mhOdz0PmuCa0HCq5gG/NJrTXY/Q4PFf67XHYXoa3baBNdTtbNEPtGx36UNZv86Y5JzK/Rj9r3jzDUfNUWUeBQAA</xzip>' where FCID = 'xxxxx'

四、具体参考

1、[单据反写]---如何修复反写快照中的表名






业务流程问题1--正确修改表定义中的表名

一、现象当单据进行流转时,后台会根据formId,实体key,和实体对应的表名在表定义中产生一条记录,此记录就是这些数据的关系,此记录中的...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息