2022年2022年金蝶知识库文档 .pdf
金蝶知识库文档新 技术支持快递 第一百二十六期 撰稿、整理:刘艳艳 本期概述 当完成本快递学习之后,您将能够了解:zKIS 商贸版 V1.0 常见数据问题的处理方法 版权声明 本文件使用须知 著作权人保留本文件的内容的解释权,并且仅将本文件内容提供给阁下个人使用。对于内容中所含的版权和其他所有权声明,您应予以尊重并在其副本中予以保留。您不得以任何方式修改、复制、公开展示、公布或分发这些内容或者以其他方式把它们用于任何公开或商业目的。任何未经授权的使用都可能构成对版权、商标和其他法律权利的侵犯。如果您不接受或违反上述约定,您使用本文件的授权将自动终止,同时您应立即销毁任何已下载或打印好的本文件内容。 著作权人对本文件内容可用性不附加任何形式的保证,也不保证本文件内容的绝对准确性和绝对完整性。本文件中介绍的产品、技术、方案和配置等仅供您参考,且它们可能会随时变更,恕不另行通知。本文件中的内容也可能已经过期,著作权人不承诺更新它们。如需得到最新的技术信息和服务,您可向当地的金蝶业务联系人和合作伙伴进行咨询。 著作权声明 著作权所有 2008 金蝶软件(中国)有限公司 。 所有权利均予保留。 z KIS 商贸版 V1.0 常见数据问题专辑一 安全警示: z 由于数据存储、网络传输等不确定因素,在极少数的情况下会造成帐套数据的错误问题,为了您的帐套数据安全,请定时做好数据备份。 我们建议您每天备份帐套数据,且备份到其它的移动硬盘、U盘或者光盘存储器中,不要和原帐套数据存放在同一硬盘驱动器中。 z 本文档中所列举出部分数据修复方法仅供计算机类专业人士参考,如果遭遇类似问题我们建议您和您的服务提供商取得联系请求远程或现场服务。 z 在做任何操作以前请即刻备份帐套数据,以防操作失误或因其它原因造成数据损坏。 金蝶软件(中国)有限公司客户服务中心第 1 页共 10 页名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 10 页 - - - - - - - - - 金蝶知识库文档目录1.1 不能结束初始化 .31.2 特别科目中的销项税额科目不正确. 31.3 KIS 应付款汇总表和明细表显示有误. 41.4 在业务结账时提示“被零除错误”. 41.5 期末结存报错 .51.6 调拨单点击没有反应 .61.7 业务结账时提示:结账过程发生错误,请登陆重试. 61.8 重算本期成本报错“控件数组元素4 不存在” . 81.9 核算本期成本成功,但无成本计算单. 91.10 购货单保存时报“列名或所提供值的数目与表定义不匹配”.91.11 查询销售明细表提示超出内存. 10 金蝶软件(中国)有限公司客户服务中心第 2 页共 10 页名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 10 页 - - - - - - - - - 金蝶知识库文档1.1 初始化数据不平衡问题描述 结束初始化提示:科目初始余额试算不平衡,不能启用问题原因 通过跟踪结束初始化的过程,可以发现存货类科目的数据与实际不符。在企业管理器检查存货初始化余额表:ICInvInitial,会发现表设计金额小数位置保存为10位,而正常情况下,没有外币存在时,金额字段都应该是2位小数位的。 解决方法 更正金额字段的小数位数: alter table ICInvInitial alter column FAmount decimal(28, 2) 完成后,重新进行传递存货的初始余额数据,如果不平衡,再补充更正初始化数据后,试算平衡 1.2 特别科目中的销项税额科目不正确问题描述 特别科目中的“销项税额”科目不正确:现在销项税额科目是 2171.01.06(出口退税),本应该是2171.01.05(销项税额)问题原因 可能是导入的会计科目内码与账套不一致而引起的,如原帐套建立的时候选择的是小企业会计科目,建立好会计科目是从以前的帐套中导入的企业会计科目 解决方法 1、修改系统参数表默认“应交税金应交增值税销项税额”特别科目代码: update t_systemprofile set fvalue=2171.01.05 where fcategory=gl and fkey=especialacctouttax 2、修改科目表中“默认特别科目”标志: update t_account set fspecialtype=0 where fnumber=21710.01.06 update t_account set fspecialtype=2 where fnumber=21710.01.05 4、修改凭证制作对应业务生成凭证的单据规则基础表的对应科目: 金蝶软件(中国)有限公司客户服务中心第 3 页共 10 页名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 10 页 - - - - - - - - - 金蝶知识库文档Select faccountid from t_account where fnumber= 21710.01.05update t_vchmakebillrule set facctidfield=? where id=37 or id=44 or id=51-? 为前面取到的科目内码 1.3 KIS 应付款汇总表和明细表显示有误问题描述 供应商(代码S02.002 名称 深圳宏金电子 )在供应商基础资料明细里面的“期初应付”为0,但往来余额292314.3正好是等于期初余额的172589.3加上本期发生的119725 。而应付款汇总表和明细表的期初为零,期末只包含本期发生的119725. 另外科目余额表的期初余额显示正常。(据客户描述启用帐套前在科目余额表及供应商资料里都有录入这个供应商的期初余额。)。 问题原因 供应商基础资料表丢失了期初应付数据解决方法 update t_supplier set forireceamount=172589.3 where fname=深圳宏金电子1.4 在业务结账时提示“被零除错误”问题描述 在业务结账时提示“被零除错误” 问题原因 原因是出入库单据存在数量为0的物料 金蝶软件(中国)有限公司客户服务中心第 4 页共 10 页名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 10 页 - - - - - - - - - 金蝶知识库文档解决方法 1、通过单据表体找到单据数量为0的FID: select * from t_cc_stockbillentry where fqty=0 2、通过前面的 FID找出丢失数量的单据编号: select * from t_cc_stockbill where fid in (select fid from t_cc_stockbillentry where fqty=0) 3、根据实际情况更新单据数量: update t_cc_stockbillentry set fqty=? where fid=? 1.5 期末结存报错问题描述 业务模块期末结存出现提示:将截断字符串或二进制数据 问题原因 一般报将截断字符串或二进制数据,是由于单据或基础资料等手工录入的字符类型字段太长造成的。如:名称,代码,批号等。 解决方法 修改初始化余额表: update a set FBatchNo=? -select a.FBatchNo,a.* from ICInvInitial a join t_item b on a.fitemid=b.fitemid join t_stock c on a.fstockid=c.fitemid where b.fnumber=实际物料代码 and c.fname=实际仓库名称 修改仓库余额表: update a set FBatchNo=? -select a.FBatchNo,a.* from t_cc_bal a join t_item b on a.fitemid=b.fitemid join t_stock c on a.fstockid=c.fitemid where b.fnumber=实际物料代码 and c.fname=实际仓库名称 修改存货余额表 : update a set FBatchNo=? -select a.FBatchNo,a.* from t_cc_stock a join t_item b on a.fitemid=b.fitemid join t_stock c on a.fstockid=c.fitemid where b.fnumber=实际物料代码 and c.fname=实际仓库名称 金蝶软件(中国)有限公司客户服务中心第 5 页共 10 页名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 10 页 - - - - - - - - - 金蝶知识库文档修改即时库存表: update a set FBatchNo=? -select a.FBatchNo,a.* from t_cc_inventory a join t_item b on a.fitemid=b.fitemid join t_stock c on a.fstockid=c.fitemid where b.fnumber=实际物料代码 and c.fname=实际仓库名称 1.6 调拨单点击没有反应问题描述 调拨单点击没有反应,无法新增,卸载软件,重新安装也不行 问题原因 用户日志表 icclassuserprofile滞留了多余记录的原因。当用户开始一个操作时,会在该表记录用户的操作信息,而当该用户正常退出关闭程序后,该表记录也会被自动清除,如果用户在操作过程中突然中断、断电、或非法关机等,都有可能造成用户操作记录被滞留在表中,造成该用户下次查询功能。 解决方法 清除icclassuserprofile表中记录: delete from icclassuserprofile 注意:该表也记录一些叙时簿查询方案,清空后需重新设置方案 1.7 业务结账时提示:结账过程发生错误,请登陆重试问题描述 业务结账时提示:结账过程发生错误,请登陆重试问题原因 在商贸版中,只有分批认定法的物料才能使用保质期管理。客户没有使用分批计价法但启用了保质期管理,导致第二期业务不能结帐。下面是查找即使用分批认定又启用保质期的物料: select a.fitemid into t_temp from t_icitem a join t_submessage b on a.ftrack=b.finterid where b.fname= 分批认定法 and a.fkfperiod0 解决方法 1、查找启用保质期的非分批计价法的物料: select a.fitemid into t_temp from t_icitem a join t_submessage b on a.ftrack=b.finterid where b.fname= 分批认定法 and a.fkfperiod0 金蝶软件(中国)有限公司客户服务中心第 6 页共 10 页名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 10 页 - - - - - - - - - 金蝶知识库文档2、去掉物料的保质期属性: update t_icitem set FKFPeriod=0,FisKFPeriod=0 where fitemid in (select fitemid from t_temp) 3、更新三个余额表的保质期信息: update t_cc_bal set FKFPeriod=0,FKFDate=1900-01-01 00:00:00.000 ,FPeriodDate=1900-01-01 00:00:00.000 where fitemid in (select fitemid from t_temp) update t_cc_stock set FKFPeriod=0,FKFDate=1900-01-01 00:00:00.000 ,FPeriodDate=1900-01-01 00:00:00.000 where fitemid in (select fitemid from t_temp) update ICInvInitial set fkfdate=,fkfperiod=0,fdescdate= where fitemid=96 in (select fitemid from t_temp) 4、校正即时库存,更新及时库存表的保质期信息。 5、合并余额(下面为合并一个余额表t_cc_bal 的过程,其它余额表合并过程类同,这里不重复写语句,最后请校正即时库存): select * into #t1 from t_cc_bal where fitemid in(select distinct fitemid from t_temp) select FItemID,FYear,FPeriod,FStockID,FBatchNo,FAuxPropID,FStockInDate, sum(FBegQty) FBegQty, sum(FReceive) FReceive,sum(FSend) FSend,sum(FYtdReceive) FYtdReceive, sum(FYtdSend) FYtdSend,sum(FEndQty) FEndQty,sum(FBegBal) FBegBal,sum(FDebit) FDebit,sum(FCredit) FCredit,sum(FYtdDebit) FYtdDebit, sum(FYtdCredit) FYtdCredit,sum(FEndBal) FEndBal,sum(FBegDiff) FBegDiff, sum(FReceiveDiff) FReceiveDiff,sum(FSendDiff) FSendDiff, sum(FEndDiff) FEndDiff,sum(FYtdReceiveDiff) FYtdReceiveDiff,sum(FYtdSendDiff) FYtdSendDiff, sum(FSecBegQty) FSecBegQty,sum(FSecReceive) FSecReceive, sum(FSecSend) FSecSend,sum(FSecYtdReceive) FSecYtdReceive,sum(FSecYtdSend) FSecYtdSend,sum(FSecEndQty) FSecEndQty, max(FBillInterID) as FBillInterID into #t2 from #t1 group by FItemID,FYear,FPeriod,FStockID,FBatchNo,FAuxPropID,FStockInDate having count(*)1 select distinct t1.* from t_cc_bal t1, #t2 t2 where t1.FItemID= t2.FItemID and t1.FYear= t2.FYear and t1.FPeriod=t2. FPeriod and t1.FStockID=t2. FStockID and t1.FBatchNo= t2.FBatchNo and t1.FAuxPropID= t2.FAuxPropID and t1.FStockInDate= t2.FStockInDate 金蝶软件(中国)有限公司客户服务中心第 7 页共 10 页名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 10 页 - - - - - - - - - 金蝶知识库文档order by t1.fitemid delete t1 from t_cc_bal t1, #t2 t2 where t1.FItemID= t2.FItemID and t1.FYear= t2.FYear and t1.FPeriod=t2. FPeriod and t1.FStockID=t2. FStockID and t1.FBatchNo= t2.FBatchNo and t1.FAuxPropID= t2.FAuxPropID and t1.FStockInDate= t2.FStockInDate insert into t_cc_bal (FBrNo,FYear,FPeriod,FStockID,FItemID,FBatchNo,FBegQty,FReceive,FSend,FYtdReceive,FYtdSend,FEndQty,FBegBal,FDebit,FCredit,FYtdDebit,FYtdCredit,FEndBal,FBegDiff,FReceiveDiff,FSendDiff,FEndDiff,FBillInterID,FKFPeriod,FKFDate,FPeriodDate,FYtdReceiveDiff,FYtdSendDiff,FSecBegQty,FSecReceive,FSecSend,FSecYtdReceive,FSecYtdSend,FSecEndQty,FAuxPropID,FStockInDate) select null FBrNo,FYear,FPeriod,FStockID,FItemID,FBatchNo,FBegQty,FReceive,FSend,FYtdReceive,FYtdSend,FEndQty,FBegBal,FDebit,FCredit,FYtdDebit,FYtdCredit,FEndBal,FBegDiff,FReceiveDiff,FSendDiff,FEndDiff,FBillInterID,0,1900-01-01 00:00:00.000,1900-01-01 00:00:00.000,FYtdReceiveDiff,FYtdSendDiff,FSecBegQty,FSecReceive,FSecSend,FSecYtdReceive,FSecYtdSend,FSecEndQty,FAuxPropID,FStockInDate from #t2 drop table #t1 drop table #t2 1.8 重算本期成本报错“控件数组元素4 不存在”问题描述 重算本期成本到 60%,弹出空白界面,点确定后报错:控件数组元素4不存在,核算不成功 问题原因 销售单(委托结算类型)丢失了源单类型(委托代销单)和单号 或委托代销单(委托退货类型)丢失了源单类型(委托代销单)和单号 金蝶软件(中国)有限公司客户服务中心第 8 页共 10 页名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 10 页 - - - - - - - - - 金蝶知识库文档解决方法 下面提供查找这两种情况单据的语句:select b.fbillno from t_cc_stockbillentry a inner join t_cc_stockbill b on a.fid=b.fid where b.fclasstypeid=1030002 and b.fbilltypeid=3003 and (a.fbillno_src is null or a.fclassid_src=0 ) -委托结算(销售单)select b.fbillno from t_cc_stockbillentry a inner join t_cc_stockbill b on a.fid=b.fid where b.fclasstypeid=1030003 and b.fbilltypeid=3011 and (a.fbillno_src is null or a.fclassid_src=0 ) -委托退货(委托代销单)1.9 核算本期成本成功,但无成本计算单问题描述 核算本期成本成功,能查看成本计算报告,正常显示物料名称和仓库,状态为结转成功,但附件显示空白,不能查看成本计算表 问题原因 存货余额表丢了记录,如1期启用的帐套,本期为 3期,检查 t_cc_bal 存在1期记录,但2期3期记录都没有了。 解决方法 该问题直接反结帐,删除所有成本结转的凭证(通过勾选参数,但要先反结帐总账,反过账凭证),再重新结帐,记录即可自动补写。 1.10 购货单保存时报“列名或所提供值的数目与表定义不匹配”问题描述 购货单保存时报“列名或所提供值的数目与表定义不匹配” 问题原因 单据保存时通过 sp_WriteBack 存储过程会反写临时回写表TempWriteBack,当TempWriteBack表损坏时,如丢失列,对应的记录将无法插入 金蝶软件(中国)有限公司客户服务中心第 9 页共 10 页名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 10 页 - - - - - - - - - 金蝶知识库文档解决方法 解 决 办 法 可 以 通 过 企 业 管 理 器 重 新 创 建 表 TempWriteBack 和 存 储 过 程sp_WriteBack. 重建存储过程方法: 新建一空帐套(不需要做任何启用等操作)或利用其它无数据库损坏的帐套,在企业管理器中,进入新帐套数据库实体,找出存储过程sp_WriteBack ,双击该该存储过程,把语句复制出来,在查询分析器中执行即可(执行语句时要选则出现帐套问题的数据库实体),或直接在企业管理器新建存储过程。 重建表的方法: 同上利用新建好的帐套,在企业管理器中,进入新帐套数据库实体,找到表TempWriteBack,点右键,所有任务,生成SQL 脚本(注意勾选“选项”页签中的全部“表脚本选项”) ,将脚本保存后,在查询分析器中打开错误数据库实体,执行该脚本。这里重新生成表不是临时表,就需要先备份表,新表生成后,要再把备份记录插回去。 1.11 查询销售单明细表提示超出内存问题描述 查询销售单明细表提示超出内存 问题原因 一般报表查询出现这种情况是由于帐套数据库中滞留了报表过滤方案信息 解决方法 delete from icreportprofile 金蝶软件(中国)有限公司客户服务中心第 10 页共 10 页名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 10 页 - - - - - - - - -