用友U8各版本如果出现固定资产模块账表查询时数据有误,但是卡片管理中数据正确的情况下,在查询分析器中执行下述语句,注意下面红字部分,需要逐月修改执行。

begin  TRANSACTION kk

--创建临时表

CREATE TABLE #fq([sCardID] int ,PRIMARY key nonCLUSTERED ([sCardID]))

commit TRANSACTION  kk

--初始化定义变量

declare @Begin datetime,@end datetime,@iperiod int, @acc_id varchar(10), @acc_year varchar(10)

declare  @SQL nchar(2000)

--得到当前本数据库的有关信息

Select @acc_id=substring(db_name(),8,3), @acc_year=substring(db_name(),12,4), @iperiod=3 -----修改成需要重算总账的会计月份---

SELECT @Begin=[dBegin], @end =[dEnd]FROM [UFSystem].[dbo].[UA_Period]

where [cAcc_Id]=@acc_id and [iYear] =@acc_year and iId=@iperiod

--Select @acc_id,@acc_year,@iperiod,@Begin,@end

--取月初有效卡片序号数据,计算月初累计折旧数据

if @iperiod>12 return

insert #fq

SELECT max(C.[sCardID])FROM [fa_Cards] C

WHERE  (

(c.dInputDate<@Begin) AND

(c.dTransDate<@Begin Or c.dTransDate Is Null) AND

(c.dDisposeDate<@Begin Or c.dDisposeDate Is Null)

)

group by C.[sCardNum]

--Set @SQL=

update fa_total

set dblMonthDeprTotal=isnull(DT,0) ,dblMonthvalue=isnull(Dv,0)

FROM fa_total T

left join (

Select D.[sDeptNum],C.[sTypeNum],

sum(D.[dblValue]) DV,

sum(case @iperiod-1

when 0 then [dblDeprT1]-[dblDepr1]

when 1 then [dblDeprT1]

when 2 then [dblDeprT2]

when 3 then [dblDeprT3]

when 4 then [dblDeprT4]

when 5 then [dblDeprT5]

when 6 then [dblDeprT6]

when 7 then [dblDeprT7]

when 8 then [dblDeprT8]

when 9 then [dblDeprT9]

when 10 then [dblDeprT10]

when 11 then [dblDeprT11]

else 0 end) DT

from [fa_Cards] C JOIN  [fa_Cards_Detail] D ON D.[sCardID]=C.[sCardID]

JOIN [fa_DeprTransactions_Detail] P ON C.[sCardNum]=P.[sCardNum] AND D.[sDeptNum]=P.[sDeptNum]

join #fq on #fq.[sCardID]=C.[sCardID]

WHERE  C.[dDisposeDate] is null

group by D.[sDeptNum],C.[sTypeNum]

) as A

on T.[sDeptNum]=a.[sDeptNum] and T.[sTypeNum]=a.[sTypeNum]

where  (T.dblMonthDeprTotal<> isnull(DT,0) or T.dblMonthvalue<>isnull(Dv,0)) and

T.iperiod=@iperiod

--取月末有效卡片序号数据,计算月末累计折旧数据

truncate table #fq

insert #fq SELECT max(C.[sCardID])FROM [fa_Cards] C

WHERE  (

(c.dInputDate<=@end) AND

(c.dTransDate<=@end Or c.dTransDate Is Null) AND

(c.dDisposeDate<=@end Or c.dDisposeDate Is Null)

)

group by C.[sCardNum]

--Set @SQL=

update fa_total

set dblDeprTotal=isnull(DT,0),dblDepr=isnull(DP,0) ,dblvalue=isnull(Dv,0)

FROM fa_total T

left join (

Select D.[sDeptNum],C.[sTypeNum],

sum(D.[dblValue]) DV,

sum(

case @iperiod

when 1 then [dblDeprT1]

when 2 then [dblDeprT2]

when 3 then [dblDeprT3]

when 4 then [dblDeprT4]

when 5 then [dblDeprT5]

when 6 then [dblDeprT6]

when 7 then [dblDeprT7]

when 8 then [dblDeprT8]

when 9 then [dblDeprT9]

when 10 then [dblDeprT10]

when 11 then [dblDeprT11]

when 12 then [dblDeprT12]

else 0 end

) DT ,

sum(

case @iperiod

when 1 then [dblDepr1]

when 2 then [dblDepr2]

when 3 then [dblDepr3]

when 4 then [dblDepr4]

when 5 then [dblDepr5]

when 6 then [dblDepr6]

when 7 then [dblDepr7]

when 8 then [dblDepr8]

when 9 then [dblDepr9]

when 10 then [dblDepr10]

when 11 then [dblDepr11]

when 12 then [dblDepr12]

else 0 end) DP

from [fa_Cards] C JOIN  [fa_Cards_Detail] D ON D.[sCardID]=C.[sCardID]

JOIN [fa_DeprTransactions_Detail] P ON C.[sCardNum]=P.[sCardNum] AND D.[sDeptNum]=P.[sDeptNum]

join #fq on #fq.[sCardID]=C.[sCardID]

WHERE  C.[dDisposeDate] is null

group by D.[sDeptNum],C.[sTypeNum]

) as A

on T.[sDeptNum]=a.[sDeptNum] and T.[sTypeNum]=a.[sTypeNum]

where  (T.dblDeprTotal<> isnull(DT,0)  or t.dblDepr<>isnull(DP,0) or t.dblvalue<>isnull(Dv,0)) and

T.iperiod=@iperiod

truncate table #fq

--取本月新增或变动有效卡片序号数据,计算本月折旧变动情况

insert #fq

SELECT C.[sCardID]

FROM  [fa_Cards] C

WHERE  (

(c.dInputDate between @begin and @end) or

(c.dTransDate between @begin and @end)or

(c.dDisposeDate between @begin and @end)

)

update fa_total

set [dblTransInDeprTotal]=indt,[dblTransOutDeprTotal]=(outdt)

FROM fa_total T

left join (

Select D.[sDeptNum],C.[sTypeNum],

sum(d.[dblTransInDeprTCard]) inDt,

sum(d.[dblTransOutDeprTCard]+ case when c.iopttype<>3 then 0 else

case @iperiod

when 1 then p.[dblDepr1]

when 2 then  p.[dblDepr2]

when 3 then  p.[dblDepr3]

when 4 then  p.[dblDepr4]

when 5 then  p.[dblDepr5]

when 6 then  p.[dblDepr6]

when 7 then  p.[dblDepr7]

when 8 then  p.[dblDepr8]

when 9 then  p.[dblDepr9]

when 10 then  p.[dblDepr10]

when 11 then  p.[dblDepr11]

when 12 then  p.[dblDepr12]

else 0 end end ) outDT

from [fa_Cards] C JOIN  [fa_Cards_Detail] D ON D.[sCardID]=C.[sCardID]

JOIN [fa_DeprTransactions_Detail] P ON C.[sCardNum]=P.[sCardNum] AND D.[sDeptNum]=P.[sDeptNum]

join #fq on #fq.[sCardID]=C.[sCardID]

group by D.[sDeptNum],C.[sTypeNum]

) as A

on T.[sDeptNum]=a.[sDeptNum] and T.[sTypeNum]=a.[sTypeNum]

where   T.iperiod=@iperiod and

([dblTransOutDeprTotal]<>isnull(outdt,0)  or  [dblTransInDeprTotal]<>isnull(indt,0))

drop table #fq

转载于:https://www.cnblogs.com/martian6125/p/9631004.html

用友U8固定资产总账重算语句相关推荐

  1. 用友U8固定资产打开卡片管理报91错误

    问题现象 用友U8打开固定资产卡片管理,点确定后,提示:运行时错误91,未设置对象变量或with block变量 ## 解决方案 跟踪数据库发现数据库中的表缺数据导致的,先备份账套,然后执行下 ...

  2. 用友u8固定资产操作流程

    1.固定资产应用流程 业务编号              业务名称       固定资产管理 业务流程简述      固定资产管理日有业务 流程适用范围      固定资产的增加.减少.部门转移.其他 ...

  3. 用友U8 ERP生产订单查询语句SQL

    SELECT MoCode AS 生产订单号码 , MoTypeDesc AS 订单类型, UA_User.cUser_Name  AS 制单人, MakeDate AS 制单日期, (CASE  S ...

  4. 用友U8数据库插入存货明细账语句

    适用于[库存管理]与[收发存汇总表]结存不一致,且财务账无误,只有数量差异的情况. INSERT INTO [dbo].[IA_Subsidiary] ( [bRdFlag] , [cBusType] ...

  5. 【U8+】用友U8试算UFO报表后,显示#公式错误;并且函数向导中没有用友账务函数。

    [问题描述] 使用用友U8+16.1软件的时候, 打开UFO报表,计算资产负债表后,显示[#公式错误]. [排查过程] 开始以为是选择的报表模板文件有问题,将其文件发送到其他U8客户端电脑上,操作正常 ...

  6. 用友U8不得不说的问题

    注意:在进行数据库操作前或者没有把握的情况下,一定一定要对数据进行备份,备份. 1:固定资产模块恢复记账时提示:数据恢复失败,请于供应商联系. 解决方法:从另外一个启用了固定资产的帐套将accinfo ...

  7. 用友u8服务器优化,用友U8erp软件运行的性能优化方案图文教程

    今天一定要给大家分享一下用友U8erp软件运行的性能优化方案图文教程,以下方案来自用友软件官方维护工程师反馈在在处理客户问题的时候,有一类问题较为挠头,就是诸如用友U8服务器效率低下的问题.比如用友U ...

  8. 【U8+】总账期初余额开账按钮是灰色的

    [问题现象] 用友U8+增加新的会计期间后, 使用新年度登录软件后,[总账]-[期初]-[期初余额]中, 开账按钮是灰色的,并且没有会计科目, 进而导致新年度无法进行业务处理. [解决方法] 跟踪数据 ...

  9. 【U8+】用友U8+对账不平案例及方法总结

    [问题需求] 在使用用友U8+软件过程中,由于软件涉及到多方面的对账. 所以经常会遇到期初或结账时对账不平. [经验分享] 在众多对账中, 只有当[总账上下级](即:总账与明细账对账)不平的时候, 软 ...

最新文章

  1. Windows Azure开发者任务之五:配置虚拟机的“规模”
  2. java对Oracle数据库查询_java 连接Oracle数据库 查询
  3. 3-间隔插入排序C实现(希尔排序铺垫)
  4. 逆向project实战--Acid burn
  5. 正确地kill java历程
  6. 图谱实战 | 知识图谱构建的一站式平台gBuilder
  7. 给大家介绍一个日期输入控件javascript实现,我修改了下,符合我的习惯了,^_^!...
  8. Unity3D游戏开发之仿仙剑奇侠传一2D游戏 (一)
  9. WinForm播放视频
  10. HDU2522 A simple problem【分数与小数】
  11. js排序算法详解-桶排序
  12. 构建“.NET研究” View 时可能用到的代理函数调用顺序
  13. python wlsxwriter_python xlsxwriter模块的使用
  14. sql聚合函数及分组的注意事项
  15. matlab怎么画矩形世界地图,matlab绘制世界地图
  16. MIDAS截面特性计算器说明
  17. 《黑马程序员Android移动应用基础教程》学习笔记(1)
  18. 使用Certbot申请ssl证书
  19. 2.Hadoop 生态圈及核心组件简介
  20. 大数据和java的区别

热门文章

  1. strus2中配置jqgrid入门
  2. matlab完整脚本模板,在PyCharm中给Python脚本设置默认的代码模板和活动模板,文末有一个案例(MATLAB GUI和Qt对比做一个界面)...
  3. 混合模型简介与高斯混合模型
  4. ubuntu 16.04下切换python版本小结
  5. Apache Cordova介绍
  6. 如何制作一个简单的游戏 Cocos2d x 2 0 4
  7. 【C语言深入】[002] valotile 关键字:
  8. c语言大学期末考试题及答案,大学C语言期末考试题4及答案
  9. python的read函数调用报错_从零开始学Python(七):文件存储I/O流和异常捕捉
  10. android ndk 文件管理,Android NDK开发指南(二)Android.mk文件