知识大全 经典案例 财务管理系统(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

相关参考

知识大全 经典案例 财务管理系统(6)[2]

  and科目代码=@dm  select@ye=isnull(@ye)  update本期明细帐簿  set余额=casewhen@fx=借方then  @ye+@jf@dfelse  @ye+@d

知识大全 经典案例 财务管理系统(2)[1]

    ——此文章摘自《Delphi数据库开发经典案例解析》定价¥ 特价¥ 购买>>  财务管理作为企业管理的组成部分与经济价值或财富的保值增值有关

知识大全 经典案例 财务管理系统(12)[1]

    ——此文章摘自《Delphi数据库开发经典案例解析》定价¥ 特价¥ 购买>>  //修改记录  procedureTDocuInputToo

知识大全 经典案例 财务管理系统(15)[1]

    ——此文章摘自《Delphi数据库开发经典案例解析》定价¥ 特价¥ 购买>>  //修改记录  procedureTDocuInputToo

知识大全 经典案例 财务管理系统(1)

    ——此文章摘自《Delphi数据库开发经典案例解析》定价¥ 特价¥ 购买>>项目背景  天津丰源汽车连锁服务有限公司成立于年由最初从事汽车及

知识大全 经典案例 财务管理系统(9)[1]

     ——此文章摘自《Delphi数据库开发经典案例解析》定价¥ 特价¥ 购买>> 新建一个窗体将窗体的Name属性设置为SecSettingC

知识大全 经典案例 财务管理系统(13)[1]

    ——此文章摘自《Delphi数据库开发经典案例解析》定价¥ 特价¥ 购买>>  完成帐户设置功能  ()新建一个窗体将窗体的Name属性设置

知识大全 经典案例 财务管理系统(10)[1]

    ——此文章摘自《Delphi数据库开发经典案例解析》定价¥ 特价¥ 购买>>  完成帐户设置功能  ()新建一个窗体将窗体的Name属性设置

知识大全 经典案例 财务管理系统(7)[1]

    ——此文章摘自《Delphi数据库开发经典案例解析》定价¥ 特价¥ 购买>>  ()利用系统默认生成的窗体作为主窗体并为其添加主菜单控件和其

知识大全 经典案例 财务管理系统(8)[1]

    ——此文章摘自《Delphi数据库开发经典案例解析》定价¥ 特价¥ 购买>>  在前面的章节中无论我们的程序是多文档还是多窗口结构使用到的窗