1、 金蝶知识库文档 金蝶软件(中国)有限公司 技术支持部 第 1 页 共 15 页 新 技术支持快递 第 389期 撰稿、整理: 曾宪武 本文档对数据处理中出现的特定问题进行分析汇总,给出了具体的解决方案。通过本文档的学习,有利于提高处理具体数据问题的分析能力。 鉴于数据问题执行语句时,针对不同版本有严格的区别,请认真理解每个问题的处理思路后,再参考 SQL语句进行问题处理。 当完成本快递学习之后,您将能够了解: K/3 常见数据问题的处理思路 本文件使用须知 著作权人保留本文件的内容的解释权,并且仅将本文件内容提供给阁下个人使用。对于内容中所含的版权和其 他所有权声明,您应予以尊重并在其副本中
2、予以保留。您不得以任何方式修改、复制、公开展示、公布或分发这些内容或者以其他方式把它们用于任何公开或商业目的。任何未经授权的使用都可能构成对版权、商标和其他法律权利的侵犯。如果您不接受或违反上述约定,您使用本文件的授权将自动终止,同时您应立即销毁任何已下载或打印好的本文件内容。 著作权人对本文件内容可用性不附加任何形式的保证,也不保证本文件内容的绝对准确性和绝对完整性。本文件中介绍的产品、技术、方案和配置等仅供您参考,且它们可能会随时变更,恕不另行通知。本文件 中的内容也可能已经过期,著作权人不承诺更新它们。如需得到最新的技术信息和服务,您可向当地的金蝶业务联系人和合作伙伴进行咨询。 著作权声
3、明 著作权所有 2006 金蝶软件(中国)有限公司 。 所有权利均予保留。 安全警示: l 由于数据存储、网络传输等不确定因素,在极少数的情况下会造成 账 套数据的错误问题,为了您的 账 套数据 安全,请定时做好数据备份。 我们建议您每天备份 账 套数据,且备份到其它的移动硬盘、 U 盘或者光盘存储器 中,不要和 原 账 套数据存放在同一硬盘驱动器中。 l 本文档中所列举出部分数据修复方法仅供计算机类专业人士参考,如果遭遇类似问题我们建议您和您的服务 提供商取得联系请求远程或现场服务。 l 在做任何操作以前请即刻备份 账 套数据,以防操作失误或因其它原因造成数据损坏。 本期概述 版权声明 金蝶
4、知识库文档 金蝶软件(中国)有限公司 技术支持部 第 2 页 共 15 页 目 录 1. 查询即时库存提示遇到以零作除数 . 3 2. 审核委外加工入库单提示“审核不成功” . 3 3. VMI 物料消耗结算单打开报错提示 automation 错误 . 4 4. 供应链结束初始化提示不能往 ICInvInitial.FBillInterID 插入 NULL值 4 5. 存货核算生成凭证界面过滤赊销销售出库时提示“填充数据出错” . 5 6. BOS 数据交换平台导出物料时提示:未设置对象变量或 With block 变量 5 7. 即时库存有库存信息,但是单据录入时提示库存为零 . 6 8.
5、 外购入库单下推采购发票保存时报错 . 6 9. 创建 VMI 物料消耗结算单时领料单没有参与结算 . 6 10. 打开 查询分析工具时系统会提示没有查看权限 7 11. 部分物料复制时提示“当前数据不存在” 7 12. 销售合同可以重复生成销售订单 9 13. 新增、保存供应商档案报错 . 10 14. 销售订单进行删行时提示删除行出错 . 11 15. BOS 单据“部门申请单”下推生成 BOS单据“申请汇总单”,点击物料名称排序后部分物料的名称为空 11 16. 存货核算 -外购入库生成凭证提示取分录金额出错, facctid 无效 . 12 17. 应付款冲应收款进行核销时提示采购订单
6、第一行执行金额不能超过订单的价税合计 12 18. 供应链存货核算无法结帐,提示有单据上计划单价与物料计划单价不符 13 19. 审核发货通知单时提示“最早超期应收单据超支期限” . 14 20. 部分物料做领料单保存时会提示插入重复键 . 14 金蝶知识库文档 金蝶软件(中国)有限公司 技术支持部 第 3 页 共 15 页 1. 查询即时库存提示遇到以零作除数 问题主题: 查询即时库存提示遇到以零作除数 问题描述: 进入即时库存点击仓库按钮,选择 32号库时报错:查询数据库时出错。原因:遇到以零作除数错误 处理思路及方法:原因: 后台 存在部分物料的库存计量单位为所在计量单位组的浮动计量单位
7、,这是不符合逻辑的,而且前台查看物料属性时库存计量单位是为空的。 解决方法: 可以执行以下语句解决 : update a set a.FStoreUnitID = b.FMeasureUnitID from t_ICItemBase a join t_MeasureUnit b on a.FUnitGroupID = b.FUnitGroupID and a.FUnitID = b.FMeasureUnitID where a.FStoreUnitID = (select FMeasureUnitID from t_MeasureUnit where FConversation = 2) 2.
8、 审核委外加工入库单提示“审核不成功” 问题主题 : 审核委外加工入库单提示“审核不成功” 问题描述: 审核委外加工入库单提示“审核不成功” 处理思路及方法:原因: 审核委外加工入库单时系统会往表 ICShop_ItemConsume 插入数据,但是表 ICShop_ItemConsume 的单据内码 FInterID小于表 ICMaxNum字段 FMaxNum的值 解决方法: 执行以下语句修正表 ICMaxNum 字段 FMaxNum的值: update ICMaxNum set FMaxNum = (select max(FInterID) from ICShop_ItemConsume)
9、 金蝶知识库文档 金蝶软件(中国)有限公司 技术支持部 第 4 页 共 15 页 where FTableName = ICShop_ItemConsume 3. VMI 物料消耗结算单打开报错提示 automation 错误 问题主题: VMI 物料消耗结算单打开报错提示 automation错误 问题描述: VMI 物料消耗结算单打开报错提示 automation错误,进去后序时簿界面全部显示斜线 处理思路及方法:原因:经跟踪后台语句,异常 定位在以下查询语句 select t1.FDestClassTypeID as FClassID,t2.FName_CHS as FName, FAl
10、lowCopy,FAllowCheck,FAllowForceCheck, t1.FRemark, t1.FFlowControl,t1.FUseSpec FROM ICClassLink t1 left join ICClassType t2 on t1.FDestClassTypeID=t2.FID where t1.FSourClassTypeID=1007602 and t1.FIsUsed = 2 AND t1.FUnControl & 2 = 2 AND t1.FUnControl & 8 8 4. 供应链结束初始化提示不能往 ICInvInitial.FBillInterID 插
11、入 NULL 值 问题主题: 供应链结束初始化提示不能往 ICInvInitial.FBillInterID 插入NULL 值 问题描述: 供应链结束初始化提示不能往 ICInvInitial.FBillInterID 插入NULL 值 处理思路及方法:原因: 这是因为初始化余 额表 ICInvInitial 存在一条多余记录,这条记录所对应的物料 03.01已经在物料表 t_icitem丢失了。可以通过以下语句查询初始化余额表 ICInvInitial的多余记录和物料 03.01的信息: select * from ICInvInitial where FItemID not in (sel
12、ect 金蝶知识库文档 金蝶软件(中国)有限公司 技术支持部 第 5 页 共 15 页 FItemID from t_ICItem) select * from t_Item where FItemClassID = 4 and FDetail = 1 and FItemID not in (select FItemID from t_ICItem) 解决方法: 须执行以下语句删除异常数据,即可正常结束初始化: delete from ICInvInitial where FItemID not in (select FItemID from t_ICItem) delete from t_I
13、tem where FItemClassID = 4 and FDetail = 1 and FItemID not in (select FItemID from t_ICItem) 5. 存货核算生成凭证界面过滤赊销销售出库时提示“填充数据出错” 问题主题: 存货核算生成凭证界面过滤赊销销售出库时提示“填充数据出错” 问题描述: 销售出库单序时簿显示空白行、存货核算生成凭证界面过滤赊销销售出库时提示“填充数据出错” 处理思路及方法:原因: 因为销售出库单 XOUT000709 的购货单位、销售方式为空 解决方法: 可以执行语句修正购货单位、销售方式的数据: -000201 为客户代码,赊销
14、为销售方式名称,请按实际情况修改 update ICStockBill set FSupplyID = (SELECT FItemID FROM t_Organization where FNumber = 000201), FSaleStyle = (SELECT FInterID FROM t_SubMessage Where FTypeID=101 and FName = 赊销 ) where FBillNo in (XOUT000709) 或者直接反审核销售出库单 XOUT000709修改即可。 6. BOS 数据交换平台导出物料时提示:未设置对象变量或 With block 变量 问
15、题主题: BOS 数据交换平台导出物料时提示:未设置对象变量或 With block 变量 问题描述: BOS 数据交换平台导出物料时提示:未设置对象变量或 With block 变量 处理思路及方法:原因: 经分析是因为物料自定义字段“外贸分类”有数据问题。该字段对应后台的字段为 F_139,存储辅助资料“外贸分类”的内码,但是账套中存在部分物料的自定义字段“外贸分类” F_139 存储的数据金蝶知识库文档 金蝶软件(中国)有限公司 技术支持部 第 6 页 共 15 页 却为物料代码,可以通过以下语句查询: select F_139,* from t_icitem where F_139 =
16、 fnumber 解决方法: 请在前台修正上述查询出来的物料的“外贸分类”,保存成功后即可正常导出。 7. 即时库存有库存信息,但是单据录入时提示库存为零 问题主题: 即时库存有库存信息,但是单据录入时提示库存为零 问题描述: 即时库存有库存信息,但是单据录入时提示库存为零 处理思路及方法:原因: 由于系统表 t_SystemProfile 缺少记录引起的。可以执行以下语句补回丢失记录: insert into t_SystemProfile values(IC,InCludeDefectiveProducts,1,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL) 8
17、. 外购入库单下推采购发票保存时报错 问题主题: 外购入库单下推采购发票保存时报错 问题描述: 外购入库单下推采购发票保存时报错“保存出错,被关联的订单第1行付款关联金额超过最大可钩稽数值” 处理思路及方法:原因: 外购入库单的源单为采购订单,下推采购普通发票后会反写采购订单的付款关 联金额。经分析,采购订单的采购方式是现购,那么按照 K/3的业务逻辑,现购采购订单是不需要做预付单的,直接生成采购发票即可。而该订单下游存在预付单,请把该预付单删除,只生成采购发票即可。 9. 创建 VMI 物料消耗结算单时领料单没有参与结算 问题主题: 创建 VMI物料消耗结算单时领料单没有参与结算 金蝶知识库
18、文档 金蝶软件(中国)有限公司 技术支持部 第 7 页 共 15 页 问题描述: 创建 VMI物料消耗结算单时领料单 SOUT2014022023450、SOUT2014020623403 没有参与结算 处理思路及方法:原因: 因为这两张领料单表体 字段【结算标志】 FClosing为 NULL值。可以通过以下语句查询 FClosing 为 NULL值的所有未结算领料单: select FStatus,FTranType,FEntrySupply,FClosing,* from ICStockBill t INNER JOIN ICStockBillEntry te ON t.FInterID
19、=te.FInterID where FTranType IN(24) and FClosing is null 解决方法: 执行以下语句将 null值修改为 0即可: update te set te.FClosing = 0 from ICStockBill t INNER JOIN ICStockBillEntry te ON t.FInterID=te.FInterID where FTranType IN(24) and FClosing is null 10. 打开 查询分析工具时系统会提示没有查看权限 问题主题: 打开 查询分析工具时系统会提示没有查看权限 问题描述: 客户帐套中
20、给用户授予采购、销售、仓存管理系统中查询分析工具的查看权限,但点击“打开” 时系统仍然会提示没有查看权限 处理思路及方法:这是因为采购、销售、仓存管理系统中查询分析工具的查看权限只是能查看到查询分析报表的名称,如果需要权限查看报表里面的内容,则还需在“权限分组 1”下授予明细报表的权限。(在查询分析工具新增一个查询报表后系统会自动在“功能权限管理 高级 用户权限 权限分组 1”下增加相应的记录) 11. 部分物料复制时提示“当前数据不存在” 问题主题: 部分物料复制时提示“当前数据不存在” 问题描述: 部分物料复制时提示“当前数据不存在” 处理思路 原因: 金蝶知识库文档 金蝶软件(中国)有限
21、公司 技术支持部 第 8 页 共 15 页 及方法:( 1)修正核算项目表 t_Item 的物料数据 -第一:修正核算项目表 t_Item 中物料 366.P的 FDetail,它是非明细物料, FDetail=0 update t_Item set FDetail = 0 where FNumber = 366.P and FItemClassID = 4 -第二:修正核算项目表 t_Item 中物料的父级数据以及级次数据 if OBJECT_ID(t_Itembak1) 0 drop table t_Itembak1 go select substring(FNumber,1,(CHARI
22、NDEX(FShortNumber,FNumber)-2) fparentnumber,* into t_Itembak1 from t_Item where FItemID 0 and a.fitemclassid = 4 and a.FItemID 0 and c.fitemclassid = 4 -修正级次数据 update c set c.FLevel = a.FLevel + 1 from t_Item a join t_Itembak1 b on a.FNumber = b.fparentnumber join t_Item c on b.FItemID = c.FItemID w
23、here a.FItemID a.FLevel +1 and c.FItemID 0 drop table t_Itembak2 金蝶知识库文档 金蝶软件(中国)有限公司 技术支持部 第 9 页 共 15 页 go select substring(FNumber,1,(CHARINDEX(FShortNumber,FNumber)-2) fparentnumber,* into t_itembak2 from t_Item where FItemID 0 and a.fitemclassid = 2001 and a.FItemID 0 and c.fitemclassid = 2001 -
24、select a.FItemID afitemid, c.FParentID cFParentID, c.* update c set c.FParentID = a.FItemID from t_Item a join t_Itembak2 b on a.FNumber = b.fparentnumber join t_Item c on b.FItemID = c.FItemID where a.FItemID c.FParentID and c.FItemID 0 and a.fitemclassid = 2001 and c.FLevel 0 and c.fitemclassid =
25、2001 drop table t_Itembak2 12. 销售合同可以重复生成销售订单 问题主题: 销售合同可以重复生成销售订单 问题描述: 销售合同可以重复生成销售订单 处理思路 原因: 金蝶知识库文档 金蝶软件(中国)有限公司 技术支持部 第 10 页 共 15 页 及方法:经过分析发现实际情况是这样的:通过上拉关联方式新增销售订单,源单类型选为“ CRM销售合同”,保存后 系统没有将订单数量反写到销售合同的订单关联数量,导致部分销售合同可以重复生成销售订单。这是由于销售合同体表 t_rpContractEntry中两个分录内码字段 FDetailID、 FEntryID的数值不一致导
26、致的,可以通过以下语句查询 FDetailID、 FEntryID 数值不一致的销售合同: select b.fentryid,b.FDetailID,* from t_rpContract a join t_rpContractEntry b on a.FContractID = b.FContractID where b.FEntryID b.FDetailID ( 3)更新单据内码表 t_Identity 的记录: update t_Identity set FNext = IDENT_CURRENT(t_rpContractEntry)+1 WHERE FName = t_rpCont
27、ractEntry 13. 新增、保存供应商档案报错 问题主题: 新增、保存供应商档案报错 问题描述: 新增、保存供应商档案报错 处理思路及方法:原因: 因为供应商表 t_Supplier的字段 FID存在零记录,可以通过以下语句查询: select * from t_Supplier where FID = 0 解决方法: 执行以下语句将上述查询的结果删除后即可正常新增、保存供应商档案: 金蝶知识库文档 金蝶软件(中国)有限公司 技术支持部 第 11 页 共 15 页 delete from t_Supplier where FID = 0 同时,由于新增供应商档案也会往供应商档案供货范围明
28、细表ICVentorSupplyRange、供应商档案联系人明细表 ICVendorLinkMan写记录。上述两个数据表也存在零记录: select * from ICVentorSupplyRange where FID = 0 select * from ICVendorLinkMan where FID = 0 可以执行以下语句删除上述两个数据表的零记录: delete from ICVentorSupplyRange where FID = 0 delete from ICVendorLinkMan where FID = 0 14. 销售订单进行删行时提示删除行出错 问题主题: 销售
29、订单进行删行时提示删 除行出错 问题描述: 销售订单进行删行时提示删除行出错 处理思路及方法:原因: 这是因为自定义单据“订单计划排程”缺少了源单分录字段:客户账套中设置了销售订单下推至订单计划排程的业务流程,在销售订单删除行时系统会判断销售订单所能关联生成的下游单据的源单信息是否完整。 解决方法: 在 BOS界面中为自定义单据“订单计划排程”添加字段源单分录后,销售订单即可正常删除行。 15. BOS 单据“部门申请单”下推生成 BOS 单据“申请汇总单”, 点击物料名称排序后部分物料的名称为空 问题主题: BOS 单据“部门申请单”下推生成 BOS单据“申请汇总单”,点击物料名称排序后部分
30、物料的名称为空 问题描述: BOS 单据“部门申请单”下推生成 BOS单据“申请汇总单”,点击物料名称排序后部分物料的名称为空 处理思路及方法:原因: 经分析是目标单【申请汇总单】上“物料代码”值更新设置问题。 金蝶知识库文档 金蝶软件(中国)有限公司 技术支持部 第 12 页 共 15 页 解决方法: 参考以下步骤设置后去解决下推后物料代码排序后物料名称、规格型号个别为空的情况。 1、在【申请汇总单】表体“物料代码”字段值更新事件中第一个事件 ,关于自动携带物料名称和规格型号的值更新事件,然后勾选左下脚的“适用于选单值更新事件”参数; 2、然后停用【部门申请单】与【申请汇总单】的单据转换流程
31、,在“物料代码”关联的字段行,勾选参数“处理选单值更新事件”。 完成上述设置后就可以实现在下推后物料名称和规格型号自动触发值更新事件后填写数据,这样无论您如何排序物料代码都不会影响值的显示。 16. 存货核算 -外购入库生成凭证提示取分录金额出错, facctid 无效 问题主题: 存货核算 -外购入库生成凭证提示取 分录金额出错, facctid无效 问题描述: 存货核算 -外购入库生成凭证提示取分录金额出错, facctid无效 处理思路及方法:原因: 该问题是由于外购入库凭证模板中借方金额来源“费用发票金额”的科目来源取为“单据上物料的存货科目”: 首先,假如存在费用发票,对于这个的模板
32、设置会导致总账与仓存对账中不一致,因为仓存中物料存货科目的收入发出金额来源于库存单据。如果按这个模板设置的凭证能正常保存,会导致总账中物料存货科目的金额有问题; 再次,借方金额来源“费用发票金额”的科目来源 取为“单据上物料的存货科目”,而费用发票上是没有物料的,那么生成凭证时费用发票金额赋给单据上物料的存货科目也就没有根据。 综上所述,需要修改科目来源。 17. 应付款冲应收款进行核销时提示采购订单第一行执行金额不能超过订单的价税合计 问题主题: 应付款冲应收款进行核销时提示采购订单第一行执行金额不能超过订单的价税合计 问题描述: 应付款冲应收款进行核销时提示采购订单第一行执行金额不能超过订
33、单的价税合计 金蝶知识库文档 金蝶软件(中国)有限公司 技术支持部 第 13 页 共 15 页 处理思路及方法:原因: 业务流程是:采购订单 外购入 库单 采购发票,采购订单 付款单;应付核销是在应付款冲应收款中核销。 首先,按照 K/3的系统逻辑,采购订单下推付款单时是系统会将付款单的金额反写至采购订单的付款关联金额,应付款冲应收款核销后系统也会将采购发票的本次核销金额反写至采购订单的付款关联金额。比如采购订单 T140211214(金额为 26001.8)下推付款单后,会将付款金额 26001.8 反写采购订单的付款关联金额,而之后的应付款冲应收款核销又会将本次核销金额 26001.8 反
34、写至采购订单的付款关联金额,那么这时已经是超过了采购订 单的付款关联金额。 再次,如果采购发票需要进行应付款冲应收款核销,那采购发票对应的采购订单就不需要做付款单了;同样,如果需要做付款单就不需要进行应付款冲应收款核销,直接在应付款核销 -付款结算中核销即可。 18. 供应链存货核算无法结帐,提示有单据上计划单价与物料计划单价不符 问题主题: 供应链存货核算无法结帐,提示有单据上计划单价与物料计划单价不符 问题描述: 供应链存货核算无法结帐,提示有单据上计划单价与物料计划单价不符 处理思路及方法:原因: 可以通过以下语句 查询有异常的单据: select v1.FBillNo,v1.FTran
35、Type,v1.FDate,t2.FItemID,t2.FNumber,t2.FPlanPrice,u1.FPlanPrice,u1.FauxPlanPrice, u1.FBatchNo ,t2.FBatchManager from Icstockbillentry u1 inner join icstockbill v1 on u1.finterid=v1.finterid inner join t_icitem t2 on u1.fitemid=t2.fitemid where v1.FCancellation=0 and v1.FDate=2014-04-01 AND v1.FDateu1.FPlanPrice and t2.FTrack=81 and v1.FTranType=2014-04-01 AND v1.FDateu1.FPlanPrice and t2.FTrack=81 and v1.FTranType 81 and FPlanPrice is null 解决方法: 执行以下语句重置上述物料的计划单价为 0即可: update t_ICItemMaterial set FPlanPrice = 0.0000000000 where FTrack 81 and FPlanPrice is null