固定资产折旧维护查询报错

栏目:eas cloud知识作者:金蝶来源:金蝶云社区发布:2024-09-22浏览:1

固定资产折旧维护查询报错

问题描述:

选择完对应期间后,点击【确定】立即报错,错误信息如下:

java.lang.NullPointerException: null
        at: java.math.BigDecimal.subtract(BigDecimal.java:1252)
        at: com.kingdee.eas.fi.fa.manage.client.FaDepreciationUI.getShowTableData(FaDepreciationUI.java:1289)
        at: com.kingdee.eas.fi.fa.manage.client.FaDepreciationUI.newShowData(FaDepreciationUI.java:1124)


处理方案:

以上报错是存在空值导致,先用以下语句查询哪些记录存在空值,并进行修复即可。

---折旧维护进入直接报空值错误排查语句
Select Entry.*
From  T_FA_FaDepreciationentry Entry 
 Inner Join T_FA_FaDepreciation Bill On  Entry.FLnkFaDepreEntry=Bill.FID
Where Bill.FcompanyID  =(Select FID From T_ORg_Company Where FNUMBER='组织编码' )
And  Bill.FPeriod In(Select FID From T_BD_Period Where FNUMBER=期间 ) 
And (Entry.FBeginDepre Is Null Or Entry.FDepreciation Is Null Or Entry.FShouldDepre Is Null 
     Or Entry.FNotDepre Is Null Or Entry.FEndDepre Is Null Or Entry.FYearAddUpDep Is Null  )

以上语句注意替换为正确的组织编码及期间。

1.当查询结果发现 FBeginDepre (期初折旧)字段为空值,则可获取折旧表该卡片上一期间期末折旧额进行更新,第一次参与折旧则为0.
2.当查询结果发现 FDepreciation (本期实提折旧)字段为空值,则可观察下 FShouldDepre (本期应提折旧) 是否也为空;
    如果不为空,则可直接更新FDepreciation = FShouldDepre ;
    如果同样为空,则可先更新为0,然后重提折旧。
3.当查询结果发现 FShouldDepre (本期应提折旧)字段为空值,则可观察下 FDepreciation (本期实提折旧) 是否也为空;    
      如果不为空,则可直接更新FShouldDepre=FDepreciation  ;  
      如果同样为空,则可先更新为0,然后重提折旧。
4.当查询结果发现 FNotDepre (本期未提折旧)字段为空值,
  查询期间为当前期间,更新当期未提折旧额语句如下:
  update t_Fa_Fadepreciationentry 
     set fnotdepre=(select c.fneatamt-c.fneatremvalue from T_FA_FaCurcard c 
                       where c.fcompanyid in(select fid from t_org_company where fnumber='组织编码') 
                             and c.fid=t_Fa_Fadepreciationentry.ffacurcardid) 
   where FLNKFADEPREENTRY in (select fid from t_fa_fadepreciation where fcompanyid in  (select fid from t_org_company where fnumber='组织编码')
                              and fperiod in (select fid from t_Bd_period where fnumber=期间))  
  查询期间为历史期间,非当前期间更新未提折旧额语句如下:
  update t_Fa_Fadepreciationentry 
     set fnotdepre=(select c.fneatamt-c.fneatremvalue from t_Fa_FAmoncard c where  c.fcompanyid in  (select fid from t_org_company where fnumber='公司编码') 
                      and c.ffaperiodid in (select fid from t_bd_period where fnumber=期间)                  
                      and c.ffacurcardid=t_Fa_Fadepreciationentry.ffacurcardid) 
  where FLNKFADEPREENTRY in (select fid from t_fa_fadepreciation where fcompanyid in  (select fid from t_org_company where fnumber='公司编码')
                             and fperiod in (select fid from t_Bd_period where fnumber=期间))
           And Isnull(fnotdepre,0) <>(select c.fneatamt-c.fneatremvalue from t_Fa_FAmoncard c 
                                         where c.fcompanyid in  (select fid from t_org_company where fnumber='公司编码')
                                            and c.ffaperiodid in (select fid from t_bd_period where fnumber=期间)                     
                                            and c.ffacurcardid=t_Fa_Fadepreciationentry.ffacurcardid)
5. 当查询结果发现 FEndDepre (期末折旧)字段为空值,则可按期末折旧=期初折旧+本期实提折旧进行更新。

 以上情况,3与4出现概率较大,更新数据前,请先备份,谨慎操作。 

固定资产折旧维护查询报错

问题描述:选择完对应期间后,点击【确定】立即报错,错误信息如下:java.lang.NullPointerException: null at: java.math.BigDecim...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息