电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

表V_CRE_ITEMCLASSDOC中出现重复的主键(FItemID)数据

来源:金蝶云社区作者:金蝶2024-09-234

表V_CRE_ITEMCLASSDOC中出现重复的主键(FItemID)数据

1、信用常见问题点:信用档案列表打开时提示:表V_CRE_ITEMCLASSDOC中读取出的数据,出现重复的主键(FItemID)数据:xxxxxxx,请检查此表是否设置了主键或主键是否是FItemID;

2、分析:这个视图为信用档案中对象类型多类别基础资料,其中包括基础资料--客户、销售员、销售组、销售部门、销售组织、集团客户。V_CRE_ITEMCLASSDOC的主键(FItemID)来源于以上所有基础资料,一般来说,所有的基础资料的主键来源于同一个种子数表,但是不排查异常发生,比如说二开改造了主键的数据来源,使得不同的基础资料主键存在重复,导致报错。

    还有一个特殊情况,就是在扩展信用档案二开的时候去掉了对象类型的不重建视图的勾选项,如下图所示:

image.webp   上图这种情况也会导致报错。

3、解决办法:针对重复的数据,如果对象是客户;

      其他重复的基础资料,如果没有引用过,删除基础资料然后重新创建即可,如果已经引用过,重建视图,把重复的那个基础资料在视图中删除即可,如下图所示:

image.webp


注意:V_CRE_ITEMCLASSDOC、V_CRE_ITEMCLASSDOC_L俩个视图都需要重建。

针对上面第2点中的特殊情况,需要重建视图;脚本如下:
DROP VIEW V_CRE_ITEMCLASSDOC;

CREATE VIEW V_CRE_ITEMCLASSDOC 

AS SELECT FCUSTID fitemid, 'BD_Customer' fformid, FNUMBER fnumber, FMASTERID fmasterid, FCREATEORGID fcreateorgid, FUSEORGID fuseorgid, FDOCUMENTSTATUS fdocumentstatus, FFORBIDSTATUS fforbidstatus, FCREATORID fcreatorid, FMODIFIERID fmodifierid, FCREATEDATE fcreatedate, FMODIFYDATE fmodifydate FROM T_BD_CUSTOMER 

UNION ALL SELECT FORGID fitemid, 'ORG_Organizations' fformid, FNUMBER fnumber, FORGID fmasterid, 0 fcreateorgid, 0 fuseorgid, FDOCUMENTSTATUS fdocumentstatus, FFORBIDSTATUS fforbidstatus, FCREATORID fcreatorid, FMODIFIERID fmodifierid, FCREATEDATE fcreatedate, FMODIFYDATE fmodifydate FROM T_ORG_ORGANIZATIONS

UNION ALL SELECT FDEPTID fitemid, 'BD_Department' fformid, FNUMBER fnumber, FMASTERID fmasterid, FCREATEORGID 

fcreateorgid, FUSEORGID fuseorgid, FDOCUMENTSTATUS fdocumentstatus, FFORBIDSTATUS fforbidstatus, FCREATORID fcreatorid, FMODIFIERID fmodifierid, FCREATEDATE fcreatedate, FMODIFYDATE fmodifydate FROM T_BD_DEPARTMENT 

UNION ALL SELECT B.FENTRYID fitemid, 'BD_SaleGroup' fformid, B.FNUMBER fnumber, B.FENTRYID fmasterid, B.FBIZORGID fcreateorgid, B.FBIZORGID fuseorgid, 'C' fdocumentstatus, 'A' fforbidstatus, A.FCREATORID fcreatorid, A.FMODIFIERID fmodifierid, A.FCREATEDATE fcreatedate, A.FMODIFYDATE fmodifydate

 FROM T_BD_OPERATORGROUP A INNER JOIN T_BD_OPERATORGROUPENTRY B ON A.FOPERATORGROUPID = B.FOPERATORGROUPID WHERE ((B.FISUSE = '1' AND B.FENTRYID NOT IN (SELECT FCUSTID FROM T_BD_CUSTOMER)) AND B.FENTRYID NOT IN (SELECT FDEPTID FROM T_

表V_CRE_ITEMCLASSDOC中出现重复的主键(FItemID)数据

1、信用常见问题点:信用档案列表打开时提示:表V_CRE_ITEMCLASSDOC中读取出的数据,出现重复的主键(FItemID)数据:xxxxxxx,请检查此表是否...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信