《用友U8软件维护.ppt》由会员分享,可在线阅读,更多相关《用友U8软件维护.ppt(62页珍藏版)》请在三一办公上搜索。
1、2023/2/9,用友软件维护,U8产品支持部冯全2023/2/9,用友软件维护来源,硬件问题(硬件冲突或损坏,网络本身问题,硬件防火墙设置不当等)操作系统环境问题操作系统软件本身出现问题(包括资源分配,系统安全,病毒侵入)设置和安装(打印机,网络设置,ODBC设置,日期格式,计算机名称,登陆用户的权限和名称,相关目录或文件,许可证授权,服务设置等)数据库问题数据库的设置冲突(同硬件系统和软件系统)结构性损坏(包括物理文件和逻辑结构)对象结构的改变(包括系统对象和用户对象)逻辑结构的错误、数据内容的错误以上问题可通过数据库对比或事件查看器发现问题其他软件造成(软件冲突,网络冲突,网络流量限制)
2、软件本身逻辑错误、自身缺陷、老版本数据升级、年度数据的结转效率问题(通过优化部署数据库,优化软件代码,优化和提高硬性能件),硬件问题,磁盘损坏造成文件丢失或数据丢失甚至系统崩溃建议通过硬件解决(UPS,RAID,双机热备,系统集群等)网络本身问题造成数据丢失或网络不稳定建议通过改变网络拓扑或更换网络设备硬件防火墙设置不当等造成数据包丢失或不能访问服务器开放数据库端口:TCP1433,UDP1434开放U8服务端口:TCP4630开放HTTP端口:TCP80开放FTP端口:TCP21开放邮件服务器的端口用DOS命令NETSTAT和其他工具检测加密狗并口的设置(EPP+ECP混合模式)或通过使用U
3、SB加密狗,操作系统问题,操作系统软件本身出现问题Win9x的非法操作现象Win2000系列的安全问题造成病毒侵入操作系统不兼容(如WinXp,Win2003,IE版本问题)FAT分区会造成大数据量吞吐出错(建议改用NTFS分区)打印机设置打印问题(自定义纸张,打印机的驱动,系统不兼容最多)网络设置一般表现为不能访问服务器NetBEUI协议未安装(用友低版本)TCP/IP没有正确配置或未安装检查IP地址和掩码网络中启用DNS或WINS服务器,配置客户端HOSTS文件(Win2000在%system%driversetc,Win9x在%system%下。注:无扩展名),操作系统问题,ODBC设置
4、MSSQL系统注册丢失有可能造成客户端登陆不到服务器日期格式设置短日期格式未设置成”yyyy-mm-dd”,可能会出现跟日期相关的操作出错计算机名称设置建议由26个英文字符+10个阿拉伯数字组成,但开头要是字符登陆操作系统用户的名称同上面计算机名称设置的规范相同登陆操作系统用户的权限建议登陆用户有本地管理员的权限或对此用户单独授权(主要是本地%system%目录及其子目录和其他要操作目录的读写及可执行权限)。相关目录或文件的损坏、丢失、属性不正确(安全属性和读写设置)系统管理员密码丢失,案例1,环境:Win2000+U850+hp5000激光打印机现象:总帐打印和预览多栏帐时出错分析过程:检查
5、账页格式、纸张、打印驱动没有发现错误解决过程:添加打印机EPSON LQ-1600K,并设置为默认打印机打印时,选择hp5000打印机进行打印。此后预览,打印都正常拉备注:如果仍然不能解决还要检查数据库中的数据是否有问题,案例2,环境:站点 Win2000 profession+V812A现象:安装后软件进入总帐时,报七条错分析过程:软件正常安装,无杀毒软件、协议正常安装、网络正常使用。打开控制面板、察看网络协议、区域格式无问题由于系统管理不能运行来,所以软件不能运行配置网络协议有TCP/IP运行CLIREG32.EXE D配置DCOM均无效运行DCOMCNFG.EXE配置后也无效。解决过程:
6、添加NETBEUI协议后,软件即可正常运行。备注:WIN2000+V812A要求服务器可先删除注册表中UFKEY和KEYPRO的全部键值,案例3,环境:Win2000Server+MSSQL2000+U850现象:U8服务无法正常启动分析过程:重新启动并执行“系统管理”模块未能解决检查%system%目录下的sgv.dll和UMiscNT.dll(UMisc95.dll)文件存在,版本也一致解决过程:重建服务依次执行以下dos命令servernt-removeservernt installNet start ufnet备注:win98执行server95-removeserver95-ins
7、tall,数据库的设置冲突,数据库的许可证授权不足(在控制面板填加许可证)数据库的身份验证方式错误(要求混合验证)数据库的连接超时和并发用户等参数设置当数据库文件和日志的设置问题或受磁盘空间限制数据库的操作受或虚拟内存的限制数据库密码丢失(可用系统用户登陆后用sp_password修改密码),案例4,环境:客户端 Win2000 Profession+服务器Win2000Server+MSSQL2000+U850现象:工作站只能一个站点登录。一个站点工作一切正常,另第二个站点登录即死机并导致原先正常工作的站点也无法工作。分析过程:服务器的MSSQL和用友的服务都能正常启动服务器上用户已重装用友
8、软件未能解决解决过程:检查SQL SERVER企业管理器连接属性:并发用户的最大连接数为 5并发用户的最大连接数改为 0(无限制)备注:检查操作系统的许可证数目和数据库的许可证数目(NTServer或Win2000Sever以上系统+MSSQLServer标准版以上版本),案例5,环境:Win2000Server+MSSQL2000+U821现象:帐套输出失败分析过程:用数据库企业管理器备份失败检查数据库参数,发现用户数据数据库文件为100M左右,而日志文件高达7G以上,硬盘空间已不足。日志文件过度膨胀,导致空间不足解决过程:企业管理器中收缩数据设置数据库的自动收缩规则备注:可以用DBCC S
9、HRINKDATABASE收缩数据库,案例6,环境:WIN98+SQL7+U821现象:总账在查询明细账时出现错误分析过程:分析错误提示:”Cannot run SELECT INTO”很明显数据库”SELECT INTO”参数错误解决方法:在企业管理器中修改该数据库”SELECT INTO”参数为”true”备注:可在查询分析器中执行如下语句:sp_dboption ufdata_002_2003,SELECT INTO,true,数据库结构性损坏,有可能是停电,死机造成数据文件丢失、数据库质疑(通过备份或数据文件恢复)数据库表结构损坏、数据库的索引损坏(会出现查询、更新和添加的异常。可以通
10、过DBCC相关的命令修复数据库,如果修复不成功请用通过导数据表的方法,最大可能的恢复数据)恢复数据备份用企业管理器恢复或RESTORE DATABASE命令恢复数据库文件(Mdf,ldf)用SP_detach_db、SP_Attach_db、SP_Attach_single_file_db三命令灵活应用,同时结合重建日志(DBCC REBUILD_LOG),DBCC修复数据库CHECKALLOC 磁盘空间一致性CHECKCATALOG系统表CHECKCONSTRAINTS约束完整CHECKDB 结构完整性CHECKTABLE 页的完整性DBREINDEX 重建索引INDEXDEFRAG 整理索
11、引碎片SHRINKDATABASE 释放空间SHRINKFILE 释放文件空间HELP 语句的语法信息,语法示例1,从备份文件恢复数据库RESTORE DATABASE ufdata_001_2003 FROM DISK=NF:CUSTOMSUFDATA.BAk WITH FILE=1,NOUNLOAD,STATS=10,RECOVERY,REPLACE,MOVE NUfmodel_LOG TO Ne:WF821adminZT0012003UFData.ldf,MOVE NUfmodel TO Ne:WF821adminzT0012003UFData.mdf 从数据文件中恢复数据Sp_deta
12、ch_db ufdata_999_2002-分离数据库Sp_attach_db ufdata_999_2002,e:u8softzt9992002ufdata.mdf,e:u8softzt9992002ufdata.ldfSp_attach_single_file_db ufdata_999_2002,e:u8softzt9992002ufdata.mdf,语法示例2,检查数据库磁盘文件完整性ALTER DATABASE ufdata_999_2002 SET SINGLE_USERDBCC CHECKALLOC(ufdata_999_2002,REPAIR_REBUILD)ALTER DAT
13、ABASE ufdata_999_2002 SET MULTI_USER注:SQL7.0用sp_dboption ufdata_999_2002,single_user,true/false检查系统表的完整性DBCC CHECKCATALOG(ufdata_999_2002)检查约束完整性DBCC CHECKCONSTRAINTS with ALL_CONSTRAINTS检查结构完整性ALTER DATABASE ufdata_999_2002 SET SINGLE_USERDBCC CHECKDB(ufdata_999_2002,REPAIR_ALLOW_DATA_LOSS)ALTER DA
14、TABASE ufdata_999_2002 SET MULTI_USER 检查对象的页完整性ALTER DATABASE ufdata_999_2001 SET SINGLE_USERDBCC CHECKTABLE(code,REPAIR_REBUILD)ALTER DATABASE ufdata_999_2001 SET MULTI_USER,语法示例3,整理指定的表或视图的聚集索引和辅助索引碎片DBCC INDEXDEFRAG(ufdata_999_2002,code,ccode_name)释放指定数据库中的数据文件空间DBCC SHRINKDATABASE(ufdata_999_200
15、1,10)注:SQL7.0用SHRINKDB释放相关数据库的指定数据文件或日志文件空间USE ufdata_999_2001SP_HELPFILE 查看数据库有关信息后变更下面的语句后执行即可DBCC SHRINKFILE(ufmodel,70)DBCC SHRINKFILE(ufmodel_log,7)返回指定的 DBCC 语句的语法信息。Dbcc help(?),案例7,环境:Win2000 Profession+MSSQL2000+U850现象:U821数据引入到U850失败分析过程:初步判断为原数据库为SQL7.0数据损坏的可能性很大U821+SQL7.0环境引入成功在查询分析器中用D
16、BCC checkdb修复该数据库失败,系统表syscolumns索引出错多次修复的都如此见图:只能将该数据库的数据表导出到其他表中进行修补数据新建一个帐套作为导出目标备注:如果是非系统表的索引出错可用DBCC Dbreindex重建索引,案例7解决过程,用企业管理器将老的数据中的数据表导到新的数据库中,案例7解决过程,导出数据仍然有IA_subsibiary表导出失败手工写脚本导数据成功至此修复数据完毕,可以执行下一不操作备注:可用在MSSQL2000和SQL7.0中,案例8,环境:Win2000 Server+SQL7.0+U821现象:在应收应付、销售对单据审核、复核时出现运行实时错误,
17、连接失败分析过程:跟踪检查发现问题出在发票主表中。该表在查询分析器中打开时报错:“服务器:消息 823,级别 24,状态 2,行 1,连接中断”在企业管理器中打开该表或进行查询时报错:“MicrosoftODBC SQL Server Driver通讯链接失败”初步判断不是数据性错误,而存在结构性错误,需要修复数据库解决方法:在查询分析器中执行下面语句:sp_dboption ufdata_999_2002,single user,trueDBCC CHECKDB(ufdata_999_2002,REPAIR_ALLOW_DATA_LOSS)sp_dboption ufdata_999_200
18、2,single user,false备注:运行该语句前请不要打开可能涉及该数据库的一切程序执行,须反复多次执行该修复数据库语句,直到检测结果为“CHECKDB 发现了 0 个分配错误和 0 个一致性错误方可执行完毕。,案例9,环境:Win2000 Server+MSSQL2000+U850现象:数据库日志文件已经被删除只剩下MDF文件,而且没有其他的备份分析过程:用数据库附加命令无法附加现在只能重建数据库日志解决过程首先建立一个同名数据库,此例为UFDATA_001_2003停止数据库服务,然后用需要恢复的MDF文件覆盖新建的数据库文件此时启动数据库服务,进入企业管理器中查看,该数据库被设置
19、为置疑在这个状态下数据库是不可用的,见下图:,案例9解决过程,将该数据库的状态改变为紧急状态。进入查询分析器,对应MASTER数据库,执行如下语句:sp_configure allow,1-修改系统数据库为可以修改reconfigure with override-刷新数据库设置参数update sysdatabases set status=32768 where name=UFDATA_001_2003此时在企业管理器中刷新后可见如下图:重建数据库日志文件停止数据服务,把原来的LDF文件改名(不能删除)启动数据库服务,进入查询分析器MASTER库下执行下列语句:DBCC REBUILD_L
20、OG(UFDTA_001_2003,E:UFSOFT850ZT001UFDATA.LDF)-重建日志文件restore database UFDATA_001_2003 WITH RECOVERY,案例9解决过程,一般会返回如下的消息:警告:数据库 UFDATA_001_2003 的日志已重建。已失去事务的一致性。应运行 DBCC CHECKDB 以验证物理一致性。将必须重置数据库选项,并且可能需要删除多余的日志文件。DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。RESTORE DATABASE 操作成功地处理了 0 页,花费了 0.000 秒(0.000 MB/秒)
21、。如果返回的是上述信息,说明数据库已经默认了新建的日志文件,要是数据库不认,那么也不用往下看了,只能在覆盖MDF文件后把数据库的状态改为可用,然后输出其中的表了。此时该数据库的状态应该是处于DBO ONLY的状态,还需要把他的状态改为正常的状态才可以。在查询分析器中执行如下语句:update sysdatabases set status=4194316 where name=UFDATA_001_2003,案例9解决过程,修改系统数据库状态为不可写:sp_configure allow,0reconfigure with override检查数据库是否还有问题:sp_dboption ufd
22、ata_001_2003,single user,trueDBCC CHECKDB(ufdata_001_2003,REPAIR_ALLOW_DATA_LOSS)sp_dboption ufdata_001_2003,single user,false备注:如果有错误提示,那么还得用反复修复,直到没有任何错误提示为止。同时数据可能会丢失。如果修复不成功,只能把里面的数据导出了。但是,一般用这种方法恢复成功的希望还是很大的。要求客户,一定要作好数据库的日常备份,别想当然的就把客户的数据库日志文件给删除了。,对象结构的改变,表的丢失、更名;字段的丢失、增加、顺序的变更、属性的变更;默认的丢失字段位
23、置的变化,如果SQL脚本使用不规范会出错U821固定资产数据复制后没有PK的表增加UFGUID字段会出错如果不允许为空的字段没有默认可能会造成数据不能保存PK的丢失、增加、变更触发器的丢失、增加、变更关系的丢失、增加、变更索引的丢失、增加、变更视图的丢失、变更存储过程的丢失、变更其他的对象丢失、变更丢失的添加,增加的如果影响使用则删除,变更的如果不合理则修改,案例10,环境:Win2000+SQL7+U821现象:在用付款单做预付冲应付时,发现金额却变为负数,见图分析过程:检查数据表ap_detail没有发现问题使用SQL事件探查器建立跟踪,发现此查询涉及到这个视图:AP_Cancel1解决方
24、法:将AP_Cancel1的语法结构同演示帐套的AP_Cancel1对比,发现不一致修改该视图同演示帐套的一致问题解决备注:适用其他视图和存储过程,逻辑结构的错误,表内的数据逻辑结构错误数据丢失数据冗余表间的数据逻辑结构错误被引用表相对引用表的数据丢失引用表相对被引用表的数据冗余注:熟悉数据表的逻辑结构,语法示例4,表内数据丢失SELECT ccodeFROM GL_accsumgroup by ccodehaving count(i_id)12总账表中按科目划分有且只能由12条记录,每月一条记录SELECT ccode,cdept_id,cperson_id,ccus_id,csup_id,
25、citem_class,citem_id FROM GL_accass group by ccode,cdept_id,cperson_id,ccus_id,csup_id,citem_class,citem_id having count(i_id)12总账表中按科目和辅助项划分有且只能由12条记录,每月一条记录注:丢失的数据可根据具体情况选择合适的方法补充,语法示例5,表内数据冗余delete GL_accsum from GL_accsum as v where not exists(SELECT*FROM GL_accsum as a where iperiod between 1 a
26、nd 12 group by ccode,iperiod having min(i_id)=v.i_id)删除总账表中的冗余数据delete GL_accass from GL_accass v where not exists(SELECT*FROM GL_accass where iperiod between 1 and 12 group by ccode,cdept_id,cperson_id,ccus_id,csup_id,citem_class,citem_id,iperiod having min(i_id)=v.i_id)删除辅助总账表中的冗余数据delete IA_Summa
27、ry from IA_Summary v where not exists(SELECT*FROM IA_Summary where iMonth between 0 and 12 group by cWhCode,cInvCode,cDepCode,iMonth having min(AutoID)=v.AutoID)删除存货总账表中的冗余数据,语法示例6,表间数据丢失SELECT ccode FROM GL_accsum where not exists(SELECT*FROM code whereccode=GL_accsum.ccode)科目表相对辅助总账表的数据丢失SELECT cP
28、Zid FROM Ap_Detail where not exists(select*from GL_accvouch where cPZid=coutno_id)and cpzid is not null凭证表相对应收应付明细表的数据丢失SELECT case cFlag when ap then 供应商 when ar then 客户 end 丢失单位,cDwCodeFROM Ap_Detail where(cFlag=arand not exists(SELECT*FROM Customerwhere cCusCode=cDwCode)or(cFlag=apand not exists(
29、SELECT*FROM Vendorwhere cVenCode=cDwCode)客户表或供应商表相对应收应付明细表的数据丢失SELECT cDeptCode FROM Ap_Detail WHERE(cDeptCode NOT IN(SELECT cdepcode FROM department)部门档案相对应收应付明细表的数据丢失SELECT cperson FROM Ap_Detail WHERE(cperson NOT IN(SELECT cpersoncode FROM person)职员档案相对应收应付明细表的数据丢失,语法示例7,数据冗余和数据丢失的一致性delete from
30、fitem where not exists(select*from sysobjects where xtype=u and(name=ctable or name=cClasstable)项目大类档案表中对应表丢失造成项目大类档案表数据冗余delete FROM fa_JKSet where not exists(SELECT*FROM syscolumns where object_name(id)=fa_jkdata+cast(cJK_id as char)固定资产的数据接口表(fa_JKSet)对应的数据表丢失造成固定资产数据接口表的数据冗余delete FROM WA_JKSet
31、where not exists(SELECT*FROM syscolumns where object_name(id)=WA_jkdata+cast(cJK_id as char)工资的数据接口表(WA_JKSet)对应的数据表丢失造成工资数据接口表的数据冗余,语法示例8,数据丢失不同处理方式SELECT name FROM syscolumns where object_name(id)=wa_gzdata and left(name,2)=f_ and not exists(SELECT*FROM WA_GZtblset where iGZItem_id=substring(name,
32、3,3)工资数据表的字段对应的工资项目丢失,需要删除字段delete FROM WA_GZtblset where not exists(SELECT*FROM syscolumns where object_name(id)=wa_gzdata and name=f_+cast(iGZItem_id as char)工资项目表中的对应工资数据表字段丢失,删除项目工资汇总表(WA_gzhzb以FG_开头的字段)参照以上处理方式,Wa_gzdata同WA_gzhzb要数据一致,案例11,环境:Win2000+SQL7+U821现象:调整年初余额的,在银行科目下新增了一个银行科目10202,并录入
33、期初余额,刷新变为零,上级科目的汇总金额也没有发生变化分析过程:删除重建未能解决问题新建其他相邻科目录入正常解决过程:在查gl_accsum表时,发现科目10202删掉后,在表中还有记录,而且记录不完整,删除多余的记录重新建科目10202即可备注:同时补充数据库的外键关系,案例12,环境:Win2000+SQL7+U821现象:总帐中个人往来帐对帐不平分析过程:查找与错误有关的会计科目和相关凭证没有发现问题恢复到记帐前状态,重新记帐未能解决解决过程:检查数据表GL_ACCASS、GL_ACCSUM发现GL_ACCASS表此科目关于此人的有24条记录,正常情况12条把其中12条记录删除,重新登入
34、总帐并执行对帐,没有出现错误备注:在月末结帐后,客户由于公司内部员工部门调动,在人员档案中修改了人员的部门属性,导致总帐和个人往来明细帐对帐不平,案例13,环境:win2000+SQL2000+U821现象:发现应收冲应收业务处理错误,做取消转帐操作,程序一直未响应分析过程:后来经过跟踪发现数据库中对应的转帐处理生成的数据不完整解决过程:删除此次转帐生成的记录,从新进行并帐处理结果正确备注:造成此问题的原因是该客户在站点上做应收冲应收,由于数据量太大,等待大约十分钟后仍无反应,便即强行退出系统。建议不要选太多数据一起处理,否则会耗时太长。,案例14,环境:Win2000+SQL7+U821现象
35、:应付核销时提示:“实时错误94:NULL使用无效”如图:分析过程:查看其它客户,不是全有此现象。修复数据库没问题跟踪发现系统在检索视图AP_cancel1执行跟踪出的相关语句,仔细检查AP_cancel1及相关表Ap_detail。定位到一条错误记录上,发现和NULL值没关系。解决方法检查基础档案的完整性发现一个业务员丢失,职员调走。补上即可备注:可能还要检查部门和供应商等档案,数据内容的错误,表内数据的错误计算数据的错误逻辑数据的错误表间数据的错误(所有汇总表同明细表的逻辑和计算关系)引用和被引用计算数据的错误引用和被引用逻辑数据的错误,语法示例9,表内计算数据的错误update code
36、 set bend=0 FROM code where exists(SELECT*FROM code v where code.ccode=left(ccode,len(code.ccode)and code.ccodeccode)and bend0科目表非末级科目的末级标志错误update code set bend=1 FROM code where not exists(SELECT*FROM code v where ccode like code.ccode+_%)and bend1科目表末级科目的末级标志错误,语法示例10,表内逻辑数据的错误SELECT ccodeFROM co
37、dewhere cast(bperson as int)+cast(bcus as int)+cast(bsup as int)+cast(bdept as int)+cast(bitem as int)2科目表辅助核算的逻辑错误SELECT KEYWORD,GRADECLSNAME,LGRADE 最大级次,LGRADELEN 最大长度,len(CODINGRULE)总级次,(CODINGRULE/1000000000%10)+(CODINGRULE/100000000%10)+(CODINGRULE/10000000%10)+(CODINGRULE/1000000%10)+(CODINGRU
38、LE/100000%10)+(CODINGRULE/10000%10)+(CODINGRULE/1000%10)+(CODINGRULE/100%10)+(CODINGRULE/10%10)+(CODINGRULE%10)总长度FROM GradeDef检查编码级次表,案例15,环境:Win2000+SQL7+U821现象:某一凭证打印预览时提示运行时错误“3163”,字段太小而不能接受所要添加的数据的数量,之后就出现运行时错误429分析过程:查询该凭证没有问题检查数据库中凭证表,主要是摘要的内容没有发现非常用的字符解决过程:进一步检查该凭证表后发现GL_ACCVOUCH中的“IDOC”字段中
39、与直接反映的附件张数不同(原凭证上为1000而字段上为10000)将数据库中该字段改为1000即可备注:可能还要检查部门和供应商等档案,案例16,环境:Win2000+SQL7+U821现象:总帐中查询部门总帐一月到二月,发现:期初余额+本期借方发生-本期贷方期末余额分析过程:经过比较发现数据中凡是期初有余额的数据都查询不正确。查询部门总帐一月到一月,数据正确跟踪发现此查询共涉及以下几个表gl_accass、Department、code可以判断gl_accass有问题,案例16解决过程,解决过程:反记帐到期初在查gl_accsum表时,发现表中十二条记录有十一条是错误的借贷方向错误。应该是上
40、年结转下年时出现了问题。通过脚本更新即可查询数据正确备注:建议重新结转上年数据,案例17,环境:Win2000+SQL7+U821现象:存货中调拨单记帐错误而出入库单记帐正确分析过程:存货中对调拨单生成的其他出入库单单独记帐,数据正确解决过程:跟踪发现调拨单同其生成的出入单子表关联项数据错误取消单据记帐,然后做如下更新:update RdRecords set iTrIds=TransVouchs.AutoID FROM(RdRecords join RdRecord on RdRecord.id=RdRecords.id)join(TransVouch join TransVouchs on
41、 TransVouch.ctvcode=TransVouchs.ctvcode)onTransVouch.ctvcode=RdRecord.cbuscodeand RdRecords.cinvcode=TransVouchs.cinvcode where cvouchtype between 08 and 09 and TransVouchs.AutoIDiTrIds and iQuantity=iTVQuantity重新对调拨单记帐,数据正确备注:适用条件同一调拨单中同样的存货可有多条分录但数量不同,案例18,环境:Win2000+SQL7+U821现象:应收系统进行年度结转报:应收系统年度
42、结转失败 错误0 分析过程:检查基础档案(客户、部门、项目、个人)没有发现不匹配项解决方法:跟踪检查经检查发现在salebillvouch表中与ap_detail表中同一张发票的客户编码不同修改数据:update ap_detail set ap_detail.cdwcode=s.ccuscode from(salebillvouchs s1 join salebillvouch s on s1.sbvid=s.sbvid)join ap_detail a on a.ibvid=s1.autoidwhere s.cvouchtype=a.cvouchtype and s.csbvcode=a.
43、cvouchid and s.ccuscodea.cdwcode重新结转一切正常备注:应收应付年结经常有“错误0”,一般都同基础档案有关,案例19,环境:Win2000+SQL7+U821现象:应付系统中一张凭证查询不到分析过程:在总帐可以查询到此凭证,且是由应付生成的解决过程:经检查凭证表发现该凭证实际为一张其他应付单生成检查ap_vouch表中该单据记录处于尚未审核状态,所以在ap_detail表中应无该单据记录,因此也应无法生成相关凭证。在凭证表所发现的该凭证是不应该存在的。删掉凭证表中该凭证(取消记帐);运行以下语句:UPDATE Ap_Vouch SET cPZid=NULL WHE
44、RE(cVouchType=p0)AND(cDwCode=6569)AND(cVouchID=0000008305)最后在到应付系统中对0000008305号的其他应付单进行审核,再到应付单制单中生成相关凭证即可。备注:其他模块传到总帐中的凭证可以使用此方法,案例20,环境:Win2000+SQL7+U821现象:工资812A升级到U821时报错实时错误94:NULL值无效分析过程:检查工资数据表wa_gzdata未发现异常解决过程:检查工资项目表wa_gztblset发现几个工资项目为数字型,而小数位iDecimal字段为空将以上空值改为0重新升级顺利完成备注:工资升级NULL值无效一般都出
45、现在以上两表中,案例21,环境:Win2000+SQL7+U821现象:工资中进行类别汇总,出现工资项目数据溢出分析过程:检查对应的工资项目该工资项目为数值型,只有2位长(100),没有小数位。可以判断设置过小解决过程:修改该项目长度为8重新汇总没有出现异常备注:建议设定数字型工资项目长度为8,案例22,环境:Win2000+SQL7+U821现象:应收查询发票发现未结算的余额错误分析过程:查询演示帐套没有发现问题跟踪发现发票查询是在检索视图AP_SABILL,查看视图属性发现本币余额来源于sa_salebillvouchs中的SUM(iNatSum-iMoneySum)AS iRAmount
46、Salebillvouchs中的iMoneySum(结算金额)并不等于此张发票的结算金额通过差额发现:两者相差一个汇兑损益金额,案例22解决过程,解决过程删除ap_details中相关汇兑损益的记录删除gl_accvouch中的相应凭证执行下列语句update SaleBillVouchs set iMoneySum=Ap_Detail.icAmount FROM Ap_Detail,SaleBillVouchs where Ap_Detail.iBVid=SaleBillVouchs.autoid重做汇兑损益,重做凭证问题解决,案例23,环境:Win2000+U850现象:在管理驾驶舱控制台
47、做基础编码标准化向导,执行到部门标准时提示如下图错误信息分析过程:检查sqlsp3(sp2)的msadomd.dll文件版本号没有错误为:2.71.9030.0(2.61.7326.0)跟踪检查发现在检索编码级次解决过程:经查发现在Gradedef表中部门编码级次规则有误GODINGRULE字段多了一个“0”,将其删除即可。备注:同时注意科目编码规则,案例24,环境:Win2000+SQL7+U821现象:总帐期间损益结转失败分析过程:进入总账、明细账和辅助账中查询没有发现问题检查科目没有发现错误反记账,再记账,仍然如此,案例24解决过程,解决过程凭证表中去仔细检查,发现有关的记录中的供应商列
48、上竟然不是空的,而在科目表中看到这些科目是不是供应商核算将该科目改为供应商辅助项,然后再进行结转,一切正常备注:对账不平、报表取数不对、结转不成功,都可以归结为科目末级标志、辅助项错误,重复记录的存在等原因,从这几个方面入手,应该能提高解决问题的速度原来该公司在建账时操作员权限设置得不是很合理,很多操作员都有科目修改权限,这次问题发生就时因为其中一个操作员修改了科目辅助项所致。,案例25,环境:Win2000+U850现象:单据体自定义项6计算错误(存货的自定义项13*单据体自定义项5*数量)分析过程:检查存货档案自定义项没有数据被舍位,可判断是小数位引起的解决过程:查询单据模板Voucher
49、Items,果然是小数位numpoint被设置为零针对销售订单CardNum=17可以这样更改:update set=6 WHERE(CardNum=17)AND(CardItemName=存货自定义项13)再填单据数据正确备注:经查发现,14均存在同样的问题,可以统一更改,案例26,环境:win2000+SQL2000+U821现象:固定资产2月份与总帐对帐,原值平衡,累计折旧不平衡分析过程:注册一月份,对帐结果平衡联查凭证看到累计折旧总帐贷方发生额来自固定资产模块自动生成的折旧凭证。财务帐套是对的,错误出在固定资产帐套。固定资产与总帐对帐时累计折旧没有加上本月折旧额,导致对帐不平解决过程:
50、打开卡片管理。2月份折旧额是对的,但2月底累计折旧是1月底数据但从数据表现来看肯定是这些字段有非法字符,简单的打开数据表直接查看已经不能发现问题特制作脚本检查发现有换行符号和回车符号组合到一起,并改正,47389795.12-459177959.28=1471995.84,案例26解决过程,UPDATE fa_DeprTransactions SET dbldeprt1=dbldeprt0+dbldepr1,dbldeprt2=dbldeprt1+dbldepr2,dbldeprt3=dbldeprt2+dbldepr3,dbldeprt4=dbldeprt3+dbldepr4,dbldepr