知识大全 经典案例 财务管理系统(6)[1]
Posted 余额
篇首语:没有失败,只有暂时停止成功。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 经典案例 财务管理系统(6)[1]相关的知识,希望对你有一定的参考价值。
创建存储过程
系统使用了 sf_初始化帐户 sf_启用帐户 sf_凭证过帐 sf_期末结帐 和 sf_计算资产负债表 个存储过程 实现的功能分别为新建帐套 启用帐套 凭证过帐确认 期末结帐和运算指定会计期间的资产负债表等功能 具体计算方法在下面的脚本中有详细的注释 读者可以参考这些注释
create proc sf_初始化帐户
as
begin tran
清除原来数据 从新建立帐户
delete from 帐簿初始化表
设置帐户初始基本数据
insert into 帐簿初始化表
(科目代码 科目名称 累计借方 累计贷方 期初余额 余额方向)
select 科目代码 科目名称 余额方向 from 科目表
设置初始信息
update 系统参数表 set 取值 = datepart(mm getdate())
where 参数名称 = 会计期间开始月份
update 系统参数表 set 取值 = datepart(mm getdate())
where 参数名称 = 当前会计期间
mit
GO
create proc sf_启用帐户
as
begin tran
清除原来数据 从新建立帐户
delete from 科目余额表
delete from 本期汇总帐簿
delete from 本期明细帐簿
delete from 分录表
delete from 分录表历史
delete from 凭证表
delete from 凭证表历史
设置本期汇总帐簿及科目余额表
insert into 本期汇总帐簿 select 科目代码 期初余额
期初余额 余额方向 from 帐簿初始化表
update 本期汇总帐簿 set 会计期间=b 取值 from
系统参数表 as b where 参数名称= 当前会计期间
insert into 科目余额表(科目代码 期初借方余额 期初贷方余额
本期借方发生额 本期贷方发生额 本年借方累计发生额
本年贷方累计发生额 本期借方余额 本期贷方余额
余额方向)
select 科目代码 累计借方 累计贷方
case when 余额方向= 借方 then 期初余额 else end
case when 余额方向= 贷方 then 期初余额 else end
余额方向 from 帐簿初始化表
update 科目余额表 set 会计期间=b 取值 from
系统参数表 as b where 参数名称= 当前会计期间
mit
GO
create proc sf_凭证过帐
as
begin tran
设置本期汇总帐簿信息
update 本期汇总帐簿 set 本期借方合计 = 本期借方合计 + b 借方
本期贷方合计 = 本期贷方合计 + b 贷方
本年借方累计 = 本年借方累计 + b 借方
本年贷方累计 = 本年贷方累计 + b 贷方
余额 = 余额 + case when 余额方向= 借方 then (借方 贷方)
else (贷方 借方) end
from 本期汇总帐簿 as a
(select 科目代码 sum(借方) as 借方 sum(贷方) as 贷方
from 分录表 as f 凭证表 as p where f 凭证编号 = p 凭证编号
group by f 科目代码) as b
where a 科目代码 = b 科目代码
设置本期明细帐簿信息
insert into 本期明细帐簿(分录编号 会计期间 凭证字号 凭证编号 摘要
科目代码 借方 贷方 数量 单价 结算方式 结算号 结算日期)
select 编号 会计期间 凭证字号 p 凭证编号 摘要 科目代码 借方 贷方 数量 单价
结算方式 结算号 结算日期 from 凭证表 as p 分录表 as f where f 凭证编号 = p
凭证编号
计算余额
update 本期明细帐簿
set 余额方向=a 余额方向 from 科目表 as a
where 本期明细帐簿 科目代码=a 科目代码
通过游标循环计算余额
declare @bh int @dm char( ) @jf money @df money
declare @fx char( ) @bj char( ) @ye money @kjqj int
declare mycursor cursor for select 内部编号 科目代码
借方 贷方 余额方向 余额标记 会计期间 from 本期明细帐簿
where 余额标记 is null order by 内部编号
open mycursor
fetch next from mycursor into @bh @dm @jf @df @fx @bj @kjqj
while (@@fetch_status= )
begin
select @ye = 余额 from 本期明细帐簿 where 内部编号 in (select max(内部编号) from
本期明细帐簿 where 内部编号 < @bh and 科目代码=@dm and 余额标记 = 是 )
没有 本期第一条明细 从科目余额表取余额
if(@ye is null)
select @ye = case when 余额方向= 借方 then
本期借方余额 本期贷方余额 else
本期贷方余额 本期借方余额 end
from 科目余额表 where 会计期间 = @kjqj
cha138/Article/program/Delphi/201311/24741相关参考
and科目代码=@dm select@ye=isnull(@ye) update本期明细帐簿 set余额=casewhen@fx=借方then @ye+@jf@dfelse @ye+@d
——此文章摘自《Delphi数据库开发经典案例解析》定价¥ 特价¥ 购买>> 财务管理作为企业管理的组成部分与经济价值或财富的保值增值有关
——此文章摘自《Delphi数据库开发经典案例解析》定价¥ 特价¥ 购买>> //修改记录 procedureTDocuInputToo
——此文章摘自《Delphi数据库开发经典案例解析》定价¥ 特价¥ 购买>> //修改记录 procedureTDocuInputToo
——此文章摘自《Delphi数据库开发经典案例解析》定价¥ 特价¥ 购买>>项目背景 天津丰源汽车连锁服务有限公司成立于年由最初从事汽车及
——此文章摘自《Delphi数据库开发经典案例解析》定价¥ 特价¥ 购买>> 新建一个窗体将窗体的Name属性设置为SecSettingC
——此文章摘自《Delphi数据库开发经典案例解析》定价¥ 特价¥ 购买>> 完成帐户设置功能 ()新建一个窗体将窗体的Name属性设置
——此文章摘自《Delphi数据库开发经典案例解析》定价¥ 特价¥ 购买>> 完成帐户设置功能 ()新建一个窗体将窗体的Name属性设置
——此文章摘自《Delphi数据库开发经典案例解析》定价¥ 特价¥ 购买>> ()利用系统默认生成的窗体作为主窗体并为其添加主菜单控件和其
——此文章摘自《Delphi数据库开发经典案例解析》定价¥ 特价¥ 购买>> 在前面的章节中无论我们的程序是多文档还是多窗口结构使用到的窗