系统运维.数据异常.没有找到键为xxx的数据

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

系统运维.数据异常.没有找到键为xxx的数据

【问题描述】

运行时,单据类型列表,WebApi测试或者单据参数配置界面报错:没有找到键为xxx的数据。

设计器,打开子系统报错:没有找到键为xxx的数据。



【问题原因】

业务对象标识必须在多个元数据主从表中保持大小写一致,虽然Sql Server类型的数据库不区分字符大小写,但是ORM底层代码按表主键值去检索数据时,是严格区分大小写的,于是就有问题了。



【解决办法】

<1>根据报错提示中给出的业务对象标识,去数据库检索所有可能出现大小写不一致的数据,并基于元数据XML中的业务对象标识进行数据修正。

/*检测是否存在业务对象标识大小写不一致的情况*/

SELECT FID,FKERNELXML FROM T_META_OBJECTTYPE WHERE FID='PUR_PurchaseOrder'

SELECT FID FROM T_META_OBJECTTYPE_E WHERE FID='PUR_PurchaseOrder'

SELECT FID FROM T_META_OBJECTTYPE_L WHERE FID='PUR_PurchaseOrder'

SELECT FID,FENTRYID FROM T_META_OBJECTTYPENAMEEX WHERE FID='PUR_PurchaseOrder'

SELECT FENTRYID FROM T_META_OBJECTTYPENAMEEX_L WHERE FENTRYID='PUR_PurchaseOrder'



<2>正确的业务对象标识,可参考表T_META_OBJECTTYPE中的FKERNELXML存储的元数据XML中的Id节点的值。如果上图中出现了业务对象标识大小写不一致的情况,需写Update语句进行修复。

例如:

UPDATE T_META_OBJECTTYPE_E SET FID='PUR_PurchaseOrder' WHERE FID='PUR_PurchaseOrder'

UPDATE T_META_OBJECTTYPE_L SET FID='PUR_PurchaseOrder' WHERE FID='PUR_PurchaseOrder'

UPDATE T_META_OBJECTTYPENAMEEX SET FID='PUR_PurchaseOrder',FENTRYID='PUR_PurchaseOrder' WHERE FID='PUR_PurchaseOrder'

UPDATE T_META_OBJECTTYPENAMEEX_L SET FENTRYID='PUR_PurchaseOrder' WHERE FENTRYID='PUR_PurchaseOrder'

---------------------------------------------------------------------------------------------------------













【金蝶云星空BOS二次开发案例演示】https://vip.kingdee.com/article/94751030918525696

系统运维.数据异常.没有找到键为xxx的数据

【问题描述】运行时,单据类型列表,WebApi测试或者单据参数配置界面报错:没有找到键为xxx的数据。设计器,打开子系统报错:没有找到键为x...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息