1.  固定资产计提折旧时提示借贷不平衡。

问题描述:  固定资产计提折旧提示借贷不平衡

问题原因:  借贷不平衡可以从三个方面去考虑:

1、 T_facard/t_fabalcard、t_faexpense/t_fabalexpense 表中的科目是否是

最明细科目, T_facard/t_fabalcard 表中的 fassetacctid/fdepracctid 是

否是固定资产和累计折旧科目;

2、 t_fadept 与 t_faexpense、t_fabaldept 与 t_fabalexpense 对应的部门是

否一致;

3、 t_fabaldept、t_fabalexpense 与 t_fabalance 对应的金额是否一致。可以

先去掉不需要生成凭证的参数,再计提折旧。金额不一致,一般是因为

t_fabaldept、t_fabalexpense 表中对应的科目或核算项目不正确造成的。

解决方法:

–判断卡片表中的固定资产/累计折旧科目是否是最明细科目:

select * from t_facard where fassetacctid not in (select faccountid from

t_account where fdetail=1)

select * from t_facard where fdepracctid not in (select faccountid from

t_account where fdetail=1)

–更新部门分配表与费用分配表中的部门一致性:

update a set a.fdeptid=b.fitemid from t_faexpense a join t_fadept b on

a.falterid=b.falterid

where b.fitemid<>a.fdeptid and b.frate=1

update a set a.fdeptid=b.fitemid from t_fabalexpense a join t_fabaldept

b on a.fbalid=b.fbalid

where b.fitemid<>a.fdeptid and b.frate=1

– 判断 t_ fabalexpense 与 t_fabalance 的金额一致性:

select * from t_fabalexpense where fbalid in (

select a.fbalid from t_fabalance a join

(select  fbalid,sum(famount)  famount  from  t_fabalexpense  group  by

fbalid) b on a.fbalid=b.fbalid and a.fdepr<>b.famount

where a.fbalid in (select fbalid from t_fabalance where fyear=???? and

fperiod=??))

 

2.    固定资产清单和固定资产折旧明细表部分固定资产显示错列.

问题描述:  在固定资产清单和固定资产折旧明细表中部分固定资产折卡片列错位

问题原因:  在录入固定资产卡片的时候,固定资产名称,编码,规格型号录入了回车,换

行,TAB,空格等非法字符.  一般情况下,从哪一列开始错位,可以考虑检查该列

的前一列字段是否有非法字符。

解决方法:

–去掉固定资产名称中的非法字符:

update  t_facard  set  fassetname=replace(fassetname,’  ‘,”)  where

charindex(‘ ‘,fassetname)>0

update  t_facard  set  fassetname=replace(fassetname,’  ‘,”)  where

charindex(‘ ‘,fassetname)>0

update t_facard set fassetname=replace(fassetname,char(10),”) where

charindex(char(10),fassetname)>0

update t_facard set fassetname=replace(fassetname,char(13),”) where

charindex(char(13),fassetname)>0

update  t_facard  set

fassetname=replace(fassetname,char(13)+char(10),”)  where

charindex(char(13)+char(10),fassetname)>0

update  t_fabalcard  set  fassetname=replace(fassetname,’  ‘,”)  where

charindex(‘ ‘,fassetname)>0

update  t_fabalcard  set  fassetname=replace(fassetname,’  ‘,”)  where

charindex(‘ ‘,fassetname)>0

update  t_fabalcard  set  fassetname=replace(fassetname,char(10),”)

where charindex(char(10),fassetname)>0

update  t_fabalcard  set  fassetname=replace(fassetname,char(13),”)

where charindex(char(13),fassetname)>0

update  t_fabalcard  set

fassetname=replace(fassetname,char(13)+char(10),”)  where

charindex(char(13)+char(10),fassetname)>0

–去掉固定资产编码中的非法字符:

update t_facard set fassetnumber=replace(fassetnumber,’ ‘,”) where

charindex(‘ ‘,fassetnumber)>0

update t_facard set fassetnumber=replace(fassetnumber,’ ‘,”) where

charindex(‘ ‘,fassetnumber)>0

update  t_facard  set  fassetnumber=replace(fassetnumber,char(10),”)

where charindex(char(10),fassetnumber)>0

update  t_facard  set  fassetnumber=replace(fassetnumber,char(13),”)

where charindex(char(13),fassetnumber)>0

update  t_facard  set

fassetnumber=replace(fassetnumber,char(13)+char(10),”)  where

charindex(char(13)+char(10),fassetnumber)>0

update t_fabalcard set fassetnumber=replace(fassetnumber,’ ‘,”) where

charindex(‘ ‘,fassetnumber)>0

update t_fabalcard set fassetnumber=replace(fassetnumber,’ ‘,”) where

charindex(‘ ‘,fassetnumber)>0

update t_fabalcard set fassetnumber=replace(fassetnumber,char(10),”)

where charindex(char(10),fassetnumber)>0

update t_fabalcard set fassetnumber=replace(fassetnumber,char(13),”)

where charindex(char(13),fassetnumber)>0

update
t_fabalcard  set

fassetnumber=replace(fassetnumber,char(13)+char(10),”)  where

charindex(char(13)+char(10),fassetnumber)>0

–去掉固定资产规格型号中的非法字符:

update t_facard set fmodel=replace(fmodel,’ ‘,”) where charindex(‘

‘,fmodel)>0

update t_facard set fmodel=replace(fmodel,’ ‘,”) where charindex(‘

‘,fmodel)>0

update  t_facard  set  fmodel=replace(fmodel,char(10),”)  where

charindex(char(10),fmodel)>0

update  t_facard  set  fmodel=replace(fmodel,char(13),”)  where

charindex(char(13),fmodel)>0

update t_facard set fmodel=replace(fmodel,char(13)+char(10),”) where

charindex(char(13)+char(10),fmodel)>0

update t_fabalcard set fmodel=replace(fmodel,’ ‘,”) where charindex(‘

‘,fmodel)>0

update t_fabalcard set fmodel=replace(fmodel,’ ‘,”) where charindex(‘

‘,fmodel)>0

update  t_fabalcard  set  fmodel=replace(fmodel,char(10),”)  where

charindex(char(10),fmodel)>0

update  t_fabalcard  set  fmodel=replace(fmodel,char(13),”)  where

charindex(char(13),fmodel)>0

update  t_fabalcard  set  fmodel=replace(fmodel,char(13)+char(10),”)

where charindex(char(13)+char(10),fmodel)>0

 

3.  固定资产不能清理。

问题描述:  情况一:固定资产清理保存时提示核算项目出错

情况二:固定资产卡片清理时,提示:可能由于网络问题,卡片保存失败,请

重新保存。错误代码:1000。

问题原因:  情况一:核算项目横表 t_ItemDetail 记录丢失,导致卡片中费用科目对应的核

算项目找不到对应值,一般导入的卡片可能出现该情况。

情况二:是客户打了新会计准则补丁没有进行数据升级所致,或者是账套重复

升级导致,系统在折旧政策表 t_FADeprPolicy 预设了 FID=1 的默认

折旧政策,同时更新卡片的折旧政策为默认的折旧政策。由于重复升级,

默认的折旧政策 id 变为 2,而卡片的折旧政策项未跟着更新,因此出

错。

解决方法:

情 况 一 如 果 t_ItemDetailv 表 中 的 记 录 存 在 , 可 参 考 下 面 过 程 补 回

t_ItemDetail 丢失的记录

–根据 t_ItemDetailV 补回 t_ItemDetail 丢失的记录

DECLARE @FDetailID     INT

DECLARE @FItemClassID  INT

DECLARE @FItemID       INT

DECLARE @FieldName     VARCHAR(80)

–SET     @FieldName=”

DECLARE Addt_ItemDetail SCROLL CURSOR FOR

SELECT DISTINCT * FROM t_ItemDetailv WHERE FDetailID NOT IN(SELECT

FDetailID FROM t_ItemDetail)

OPEN Addt_ItemDetail

FETCH Addt_ItemDetail INTO @FDetailID,@FItemClassID,@FItemID

WHILE @@Fetch_Status<>-1

BEGIN

SET  @FieldName=’F'+LTRIM(RTRIM(CAST(@FItemClassID  AS

VARCHAR(80)))) –求出字段名

IF  NOT  EXISTS  (SELECT  *  FROM  t_ItemDetail  WHERE

FDetailID=@FDetailID)

BEGIN

INSERT  INTO  t_ItemDetail    (FDetailID)  VALUES

(@FDetailID)

END

IF @FDetailID<>0

BEGIN

EXEC(‘UPDATE  t_ItemDetail  SET  ‘+  @FieldName+  ‘=’  +

@FItemID + ‘WHERE FDetailID=’+ @FDetailID)

UPDATE  t_ItemDetail  SET  FDetailCount=FDetailCount+1

WHERE FDetailID=@FDetailID

END

FETCH  NEXT  FROM  Addt_ItemDetail  INTO

@FDetailID,@FItemClassID,@FItemID

END

CLOSE Addt_ItemDetail

DEALLOCATE Addt_ItemDetail

 

情况二可执行补丁安装目录下的 KDdataupdate.exe 文件进行升级,或参考下面

修复:

UPDATE t_FaCard

SET  FDeprPolicyID=isnull((select  FID  from  t_FADeprPolicy  where

FDefault=1),1)

WHERE FDeprPolicyID not in (select FID from t_FADeprPolicy)

 

4.  固定资产导入数据后出错。

问题描述:  从旧帐套导入数据后,固定资产不能清除卡片,不能提折旧。

问题原因:  丢失了 2007 年 0 期记录(初始化记录),系统设置为 2007 年 1 月启用,可以通

过把起用期间改成引入帐套的启用期间处理。

解决方法: –设置固定资产启用期间为 2005 年 1 期:

update  t_systemprofile  set  fvalue=2005  where  fcategory=’fa’  and

fkey=’StartYear’

update  t_systemprofile  set  fvalue=1  where  fcategory=’fa’  and

fkey=’Startperiod’

–设置固定资产当前期间为 2007 年 1 期:

update  t_systemprofile  set  fvalue=2007  where  fcategory=’fa’  and

fkey=’currentYear’

update  t_systemprofile  set  fvalue=1  where  fcategory=’fa’  and

fkey=’currentperiod’

 

5.  计提折旧提示 NULL 无效。

问题描述:  固定资产计提折旧时提示:使用 NULL 无效,错误代码:94(5EH)

问题原因:  固定资产计提折旧提示 NULL 无效,通常有以下几种情况:

情况一:由标准版升级上来或用历史数据清除工具清除历史数据时丢失了 0 期

记录(初始化记录)的帐套;

情况二:引进卡片或结转新帐套的帐套,帐套被引入或保留了固定资产启用期

间之前的记录,而启用当期又没有 0 期记录(初始化记录);

情况三:日常期间丢失了大量余额记录的帐套。

解决方法:
情况一:如果固定资产丢失 0 期记录,可参考下面方式处理

1、 通过语句删除固定资产所有余额记录,将帐套反初始化(假设启用期间为

2006 年 1 期)

delete from t_fabalcard

delete from t_fabalcarditem

delete from t_fabaldept

delete from t_fabaldevice

delete from t_fabalexpense

delete from t_fabalorgfor

delete from t_fabalpurchase

delete from t_fabalance

update t_systemprofile set fvalue=0 where fcategory=’fa’ and fkey=’Closed’

update t_systemprofile set fvalue=2006 where fcategory=’fa’ and fkey=’ CurrentYear’

update t_systemprofile set fvalue=01 where fcategory=’fa’ and fkey=’ CurrentPeriod’

2、重新编辑保存初始化卡片,再结束初始化

3、对日常业务中的新增卡片和变动记录重新编辑、保存、提折旧,再一期一期

结帐。根据不同的帐套环境,有的帐套重新保存卡片时候需要对原来卡片添加

一点备注才能在余额表重写记录。

情况二:如果固定资产有启用期间之前的完整记录,可以通过修改参数表把启

用期间提前处理(提前到 t_fablance 表中的最前期间),也可以通过

删除以前的记录,补充 0 期记录处理。前者更简单。

update t_systemprofile set fvalue=???? where fcategory=’fa’ and fkey=’StartYear’

update t_systemprofile set fvalue=?? where fcategory=’fa’ and fkey=’Startperiod’

 

情况三:如果帐套从结束初始化当期开始有大量卡片的余额记录丢失,需要通

过反结帐反初始化,删除余额记录(只保留 0 期记录),直接关闭初始化,再对

日常业务的卡片重新编辑、保存、提折旧、结帐。

—-删除余额记录与情况一略有不同,其他步骤一样

select * into t_fabal_temp from t_fabalance where fperiod<>0

delete from t_fabalcard where fbalid in (select fbalid from t_fabal_temp)

delete from t_fabalcarditem where fbalid in (select fbalid from t_fabal_temp)

delete from t_fabaldept where fbalid in (select fbalid from t_fabal_temp)

delete from t_fabaldevice where fbalid in (select fbalid from t_fabal_temp)

delete from t_fabalexpense where fbalid in (select fbalid from t_fabal_temp)

delete from t_fabalorgfor where fbalid in (select fbalid from t_fabal_temp)

delete from t_fabalpurchase where fbalid in (select fbalid from t_fabal_temp)

delete from t_fabalance where fbalid in (select fbalid from t_fabal_temp)

drop table t_fabal_temp

update t_systemprofile set fvalue=0 where fcategory=’fa’ and fkey=’Closed’

update t_systemprofile set fvalue=???? where fcategory=’fa’ and fkey=’ CurrentYear’

update t_systemprofile set fvalue=?? where fcategory=’fa’ and fkey=’ CurrentPeriod’

 

6.  固定资产自动对账问题。

问题描述:  固定资产原值和累计折旧与总帐对不上。

问题原因:  固定资产与总帐对帐时,总帐 t_balance 取数,固定资产从 t_fabalance 取数,

如果包含未过帐,还要从 t_voucherentry 取数。如果是总帐部分数据少,可考

虑本期新增变动卡片是否全部生成凭证并过帐;是否 t_facard/t_fabalcard 表

中的 fassetacctid 和 fdepracctid 科目有错误,通常科目内码有为 0 的现象科

目为非明细科目;t_faexpense/t_fabalexpense 表中的费用科目和核算项目是

否正确。如果是固定资产部分数据少,则需要结合 t_fabalance 和 t_fabalcard

分析是哪张卡片的问题。

解决方法:

–下面假定累计折旧科目内码为 1175(该内码由 t_account 表取得),修复有

错误的累计折旧语句:

update t_fabalcard set fdepracctid=1175 where fdepracctid<>1175

update t_facard set fdepracctid=1175 where fdepracctid<>1175

 

7.  固定资产打开卡片查询方案时报错。

问题描述:  固定资产打开卡片查询方案时报错,有时打开其中一个查询时没有问题,但是

打开另一个就会有问题,删除这两个方案后重建也会报同样的问题

问题原因:  造成该账套问题的原因是:用户操作日志表 t_userprofile 中存留记录。当用

户开始一个操作的时候,该表会记录用户的操作;当用户正常退出关闭程序后,

记录也会被自动清空.如果用户在操作过程中突然中断(断电,非法关机等),那

些记录会被保留在表中,造成其它错误.通常是造成某一个用户不能查询报表

解决方法:

可以通过下面语句进行修复:

delete from t_userprofile

delete from t_funccontrol

注意:t_funccontrol 是网络控制表。清除 t_userprofile 表会清除掉一些字

定义的报表查询方案,删除该表后方案需要重建立。

 

8.  变动固定资产卡片时不能保存。

问题描述:  情 况 一 : 在 变 动 已 经 变 动 过 的 卡 片 , 不 让 保 存 , 提 示 : 表

‘AIS20070122081642.dbo.t_FABalExpense’;该列不允许空值。

INSERT 失败。

情况二: 变动卡片时提示,可能由于网络问题卡片保存失败请重新保存

(pt004072)

问题原因:  这两种情况通常都是由于 t_fabalexpense 表体损坏,需要重新生成该表.

解决方法:

可以在企业管理器中,通过其他完好帐套的fabalexpense表生成 SQL 脚本语句,

再在有问题帐套中执行该脚本重新生成 fabalexpense 表。

具体步骤:

–1,把原 t_fabalexpense 表数据备份到临时表:

select * into aaa from t_fabalexpense

–2,执行脚本重新生成 fabalexpense 表:

if  exists  (select  *  from  dbo.sysobjects  where  id  =

object_id(N’[dbo].[t_FABalExpense]‘)  and  OBJECTPROPERTY(id,

N’IsUserTable’) = 1)

drop table [dbo].[t_FABalExpense]

GO

CREATE TABLE [dbo].[t_FABalExpense] (

[FBalID] [int] NOT NULL ,

[FAcctID] [int] NOT NULL ,

[FDetailID] [int] NOT NULL ,

[FRate] [decimal](28, 10) NOT NULL ,

[FAmount] [money] NOT NULL ,

[fdeptid] [int] NOT NULL

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[t_FABalExpense] WITH NOCHECK ADD

CONSTRAINT [PK_t_FABalExpense] PRIMARY KEY  CLUSTERED

(

[FBalID],

[FAcctID],

[FDetailID],

[fdeptid]

)  ON [PRIMARY]

GO

ALTER TABLE [dbo].[t_FABalExpense] ADD

CONSTRAINT [DF_t_FABalExpense_FAcctID] DEFAULT (0) FOR [FAcctID],

CONSTRAINT [DF_t_FABalExpense_FDetailID] DEFAULT (0) FOR [FDetailID],

CONSTRAINT [DF__t_fabalex__fdept__7A12F3AE] DEFAULT (0) FOR [fdeptid]

GO

ALTER TABLE [dbo].[t_FABalExpense] ADD

CONSTRAINT [FK_t_FABalExpense_t_FABalance] FOREIGN KEY

([FBalID]

) REFERENCES [dbo].[t_FABalance] ([FBalID]

)

GO

–3,把数据从备份表插回新表:

insert into t_fabalexpense select * from aaa

–4,清除备份表:

drop table aaa

 

9.  固定资产变动后计提折旧问题。

问题描述:  06 年 12 期时对资产编码为:cd020731 的卡片进行变动,变动项为折旧费用分

配科目,将原“管理费-公司”变动为“管理费-仓储”。变动后计提折旧,除下

一期该卡片折旧额累计到“管理费-仓储”外,之后再计提的折旧额又提到以前

“管理费-公司”里面。

问题原因:  原因是反结帐回去,然后再修改费用科目,这样回导致在结帐回去时,修改的

信息不会根更新。

固定资产反结帐多期后对卡片进行部门和折旧费用科目的变动,不钩选相关参

数,变动下期开始生效.由于固定资产反结帐时不会自动清除余额表的记录。

t_fadept/t_faexpense、t_fabaldept/t_fabalexpense 表在变动下期,记录被

更新一次,接下去的期间记录不会被更新。

解决方法:  反结帐多期做卡片变动,需要手工删除反结帐期间之后的余额数据,变动后再

结帐回来。

10.  固定资产明细帐查询提示类型不匹配。

问题描述:  固定资产明细帐查询提示类型不匹配。

问题原因:  原因是系统参数表中丢失记录.

解决方法:

1,新建一帐套,并确保会计期间数与客户的实际情况相符

2,将新建帐套的数据库实体替代以下语句的数据库实体

Insert into t_SystemProfile

select *  From AIS20060607105241..t_SystemProfile Where FCategory =

‘FA’ And  FKey = ‘PeriodCount’