系統使用了
create proc sf_初始化帳戶
as
begin tran
delete from 帳簿初始化表
insert into 帳簿初始化表
(科目代碼
select 科目代碼
update 系統參數表 set 取值 = datepart(mm
where 參數名稱 =
update 系統參數表 set 取值 = datepart(mm
where 參數名稱 =
commit
GO
create proc sf_啟用帳戶
as
begin tran
delete from 科目余額表
delete from 本期匯總帳簿
delete from 本期明細帳簿
delete from 分錄表
delete from 分錄表歷史
delete from 憑證表
delete from 憑證表歷史
insert into 本期匯總帳簿 select 科目代碼
update 本期匯總帳簿 set 會計期間=b
系統參數表 as b where 參數名稱=
insert into 科目余額表(科目代碼
本期借方發生額
本年貸方累計發生額
余額方向)
select 科目代碼
case when 余額方向=
case when 余額方向=
余額方向 from 帳簿初始化表
update 科目余額表 set 會計期間=b
系統參數表 as b where 參數名稱=
commit
GO
create proc sf_憑證過帳
as
begin tran
update 本期匯總帳簿 set 本期借方合計 = 本期借方合計 + b
本期貸方合計 = 本期貸方合計 + b
本年借方累計 = 本年借方累計 + b
本年貸方累計 = 本年貸方累計 + b
余額 = 余額 + case when 余額方向=
else (貸方
from 本期匯總帳簿 as a
(select 科目代碼
from 分錄表 as f
group by f
where a
insert into 本期明細帳簿(分錄編號
科目代碼
select 編號
結算方式
憑證編號
update 本期明細帳簿
set 余額方向=a
where 本期明細帳簿
declare @bh int
declare @fx char(
declare mycursor cursor for select 內部編號
借方
where 余額標記 is null order by 內部編號
open mycursor
fetch next from mycursor into @bh
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 余額方向=
本期借方余額
本期貸方余額
from 科目余額表 where 會計期間 = @kjqj
[
From:http://tw.wingwit.com/Article/program/Delphi/201311/24741.html