问题现象: | 参照入库单生成发票的时候,在参照界面看到了多条重复记录,具体看附件里的截图(列如入库单号:201111213、201110lbk088这两张单据参照生成发票时出现多条重复记录。) |
问题原因: | |
解决方案: | 您好, 此问题【经查看数据/测试】现做如下分析与答复: 【问题原因】 由于不同合同的guid号有重复,所以参照入库单生成发票时,关联出来的记录重复; 【解决方案】 1、请在查询分析器中执行下面脚本,将合同guid重复的修改成不重复即可: --备份合同概要表 select * into cm_contract_bbak from Cm_contract_b --备份合同标的、条款表 select * into CM_Contract_Item_Bbak from CM_Contract_Item_B select * into CM_Contract_Caluse_B_bbak from CM_Contract_Caluse_B --整理数据开始 select * into tempCm_contract_b from CM_Contract_b where guid in (select guid from (select guid ,count(guid) as guidcont from CM_Contract_b group by GUID ) a where a.guidcont >1) select strcontractid ,guid into tempcm_contractbexec from tempCm_contract_b where 1=2 insert into tempcm_contractbexec select strcontractid ,NEWID() from tempCm_contract_b update Cm_contract_b set Cm_contract_b.GUID=a.guid from tempcm_contractbexec a inner join Cm_contract_b on a.strContractID =Cm_contract_b.strcontractid update CM_Contract_item_b set CM_Contract_item_b.GUID=a.guid from tempcm_contractbexec a inner join CM_Contract_item_b on a.strcontractid=CM_Contract_item_b.strContractID update CM_Contract_Caluse_B set GUID=a.guid from tempcm_contractbexec a inner join CM_Contract_Caluse_B on a.strcontractid=CM_Contract_Caluse_B.strContractID go 2、再执行下列脚本 查询是否有重复的合同编号。如果有则需要将重复合同编号的删除重做了。 select * from CM_Contract_b where guid in (select guid from (select guid ,count(guid) as guidcont from CM_Contract_b group by GUID ) a where a.guidcont >1) 由于此类问题曾出过补丁,建议用补丁自动更新工具下载安装最新合同模块补丁(cm结尾),以避免以后出现此问题; 【注意事项】修改前请务必做好数据备份;由于网站的关系,上述语句中如有标点符号' % + 必需在输入法为英文的状态下重新录入后再执行; |
相关补丁: | |
版本: | U8 V10.0 |
模块: | 采购管理 |
产品: | 供应链 |
问题名称: | 参照入库单生成发票看到了多条重复记录 |
最后更新: | 2012-02-16 23:24:55 |