1、创建供应商应付预付账款明细总表存储过程:sp_getAccount_detail,代码如下:

create procedure [dbo].[sp_getAccount_detail]@StartYear int,@StartPeriod int,@EndYear int,@EndPeriod int,@FAcctNumber nvarchar(20),@FItemNumber nvarchar(200)
as
set nocount ondeclare @curYear int
declare @curPeriod intselect @curYear=FValue from t_SystemProfile where Fkey='CurrentYear' and FCategory='GL'
select @curPeriod=FValue from t_SystemProfile where Fkey='CurrentPeriod' and FCategory='GL'create table #report_sum
(
FID int identity(1,1),
FSuppID int,
FAcctountID int,
FDC int,
FIndex int,
FYear int,
FPeriod int,
FDate datetime,
FTrnasDate datetime,
FVoucherID int,
FExplanation nvarchar(1000),
FDebit decimal(21,10),
FCredit decimal(21,10),
FEndBalance decimal(21,10)
)insert into #report_sum
(FSuppID,FAcctountID,FDC,FIndex,FYear,FPeriod,FEndBalance)
select
F8,u1.FAccountID,t3.FDC,-1,u1.FYear,u1.FPeriod,u1.FBeginBalance*t3.FDC
from t_Balance u1
inner join t_ItemDetail t1 on u1.FDetailID=t1.FDetailID
inner join t_Item t2 on t2.FItemID=t1.F8
inner join t_Account t3 on t3.FAccountID=u1.FAccountID
where u1.FCurrencyID=0
and u1.FYear*12+u1.FPeriod>=@StartYear*12+@StartPeriod
and u1.FYear*12+u1.FPeriod<=@EndYear*12+@EndPeriod
and u1.FYear*12+u1.FPeriod<=@curYear*12+@curPeriod
and t2.FNumber=@FItemNumber
and t3.FNumber like @FAcctNumber
and t3.FDetail=1insert into #report_sum
(FSuppID,FAcctountID,FDC,FIndex,FYear,FPeriod,FEndBalance)
select
F8,u1.FAccountID,t3.FDC,1,u1.FYear,u1.FPeriod,u1.FEndBalance*t3.FDC
from t_Balance u1
inner join t_ItemDetail t1 on u1.FDetailID=t1.FDetailID
inner join t_Item t2 on t2.FItemID=t1.F8
inner join t_Account t3 on t3.FAccountID=u1.FAccountID
where u1.FCurrencyID=0
and u1.FYear*12+u1.FPeriod>=@StartYear*12+@StartPeriod
and u1.FYear*12+u1.FPeriod<@EndYear*12+@EndPeriod
and u1.FYear*12+u1.FPeriod<@curYear*12+@curPeriod
and t2.FNumber=@FItemNumber
and t3.FNumber like @FAcctNumber
and t3.FDetail=1insert into #report_sum
(FSuppID,FAcctountID,FDc,FIndex,FYear,FPeriod,FDate,FTrnasDate,FVoucherID,FExplanation,FDebit,FCredit)
select
F8,t1.FAccountID,t4.FDC,0,u1.FYear,u1.FPeriod,u1.FDate,u1.FTransDate,u1.FVoucherID,t1.FExplanation,
CASE WHEN t1.FDC=1 THEN t1.FAmount ELSE 0 END as FDebit, CASE WHEN t1.FDC=0 THEN t1.FAmount ELSE 0 END as FCredit
from t_Voucher u1
inner join t_VoucherEntry t1 on u1.FVoucherID=t1.FVoucherID
inner join t_ItemDetail t2 on t2.FDetailID=t1.FDetailID
inner join t_Item t3 on t3.FItemID=t2.F8
inner join t_Account t4 on t4.FAccountID=t1.FAccountID
where u1.FYear*12+u1.FPeriod>=@StartYear*12+@StartPeriod
and u1.FYear*12+u1.FPeriod<=@EndYear*12+@EndPeriod
and t4.FNumber like @FAcctNumberand t3.FNumber=@FItemNumberand t4.FDetail=1
order by u1.FYear,u1.FPeriod,u1.Fdate,u1.FVoucherIDdeclare @FID int, @Findex int,@FDC int,@FYear int,@FPeriod int,@FDebit decimal(21,10),
@FCredit decimal(21,10),@FEndBalance decimal(21,10),@FCurBanalce decimal(21,10),
@FOldAccountID int,@FCurAccountID intset @FCurBanalce=0
set @FEndBalance=0
set @FOldAccountID=0declare cur_list cursor for
select FAcctountID,FID,FIndex,FDC,FYear,FPeriod,isnull(FDebit,0),isnull(FCredit,0),FEndBalance from #report_sum order by FAcctountID,FYear,FPeriod,FIndex,FIDopen cur_listfetch next from cur_list
into @FCurAccountID,@FID,@Findex, @FDC,@FYear,@FPeriod,@FDebit,@FCredit,@FEndBalancewhile @@FETCH_STATUS=0
beginif @FOldAccountID<>@FCurAccountIDbeginset @FCurBanalce=0set @FOldAccountID=@FCurAccountIDendif @Findex=-1beginset @FCurBanalce=@FEndBalanceendif @Findex=0beginset @FCurBanalce=@FCurBanalce+@FDC*@FDebit-@FDC*@FCreditupdate u1set u1.FEndBalance=@FCurBanalcefrom #report_sum u1where u1.FID=@FIDendfetch next from cur_listinto @FCurAccountID,@FID,@Findex, @FDC,@FYear,@FPeriod,@FDebit,@FCredit,@FEndBalance
end
close cur_list
deallocate cur_listselect
t4.FNumber 供应商代码,
t4.FName 供应商名称,
u1.FYear 年度,
u1.FPeriod  期间,
t1.FNumber 科目代码,
t1.FName 科目名称,
u1.FDate 凭证日期,
u1.FTrnasDate 业务日期,
t3.FName+'-'+convert(nvarchar(20),t2.FNumber) 凭证字号,
isnull(u1.FExplanation,'')+(case when u1.FIndex=-1 then '期初' when u1.FIndex=1 then '结存' else '' end ) 摘要,
u1.FDebit 借方金额,
u1.FCredit 贷方金额,
u1.FEndBalance 余额
from #report_sum u1
inner join t_account t1 on u1.FAcctountID=t1.FAccountID
left join t_Voucher t2 on t2.FVoucherID=u1.FVoucherID
left join t_VoucherGroup t3 on t3.FGroupID=t2.FGroupID
left join t_Item t4 on t4.FItemID=u1.FSuppID
order by u1.FAcctountID,u1.FYear,u1.FPeriod,u1.FIndex,u1.FIDdrop table #report_sum

2、创建供应商应付明细账存储过程:sp_getAccount_detail_2202,代码如下:

create procedure [dbo].[sp_getAccount_detail_2202]@StartYear int,@StartPeriod int,@EndYear int,@EndPeriod int,@FItemNumber nvarchar(200)asbeginexec sp_getAccount_detail @StartYear,@StartPeriod,@EndYear,@EndPeriod,'2202%',@FItemNumberend

3、创建供应商预付明细账存储过程:sp_getAccount_detail_1123,代码如下:

create procedure [dbo].[sp_getAccount_detail_1123]@StartYear int,@StartPeriod int,@EndYear int,@EndPeriod int,@FItemNumber nvarchar(200)asbeginexec sp_getAccount_detail @StartYear,@StartPeriod,@EndYear,@EndPeriod,'1123%',@FItemNumberend

4、K3查询分析工具先创建如下SQL关键字:

关键字  标题  数据类型  数据来源  字段  是否允许录入
*StartYear*  开始年度  数字型  手工录入  无  允许录入
*StartPeriod*  开始期间  数字型  手工录入  无  允许录入
#EndYear#  截止年度  数字型  手工录入  无  允许录入
#EndPeriod#  截止期间  数字型  手工录入  无  允许录入
@SuppNumber@  供应商代码  字符串  供应商  代码 允许录入

5、K3查询分析工具创建供应商应付账款明细表,sql语句为:

exec sp_getAccount_detail_2202 *StartYear*,*StartPeriod*,#EndYear#,#EndPeriod#,'@SuppNumber@'

6、K3查询分析工具创建供应商预付账款明细表,sql语句为:

exec sp_getAccount_detail_1123 *StartYear*,*StartPeriod*,#EndYear#,#EndPeriod#,'@SuppNumber@'

开发完毕。
















												

金蝶K3 SQL报表系列-供应商应付/预付账款明细表相关推荐

  1. 金蝶K3 SQL报表系列-供应商科目余额表

    创建存储过程:exec sp_get_supply_balance 代码如下: create procedure [dbo].[sp_get_supply_balance] as set nocoun ...

  2. 金蝶K3 SQL报表系列-BOM成本汇总表

    1.创建供应商维护价格视图z_view_SupplyRatePrice,代码如下: create view [dbo].[z_view_SupplyRatePrice] as select u1.*, ...

  3. 金蝶K3 SQL报表系列-委外核销检查表

    1.创建存储过程:sp_ICStockBill_Check create procedure [dbo].[sp_ICStockBill_Check] as set nocount on declar ...

  4. 金蝶K3 SQL报表系列-库存账龄分析

    1.创建存储过程:sql代码如下: create procedure [dbo].[rk_sp_stock_Age] @paraYear int, @parePeriod int as declare ...

  5. 金蝶K3 SQL报表系列-委外未勾稽明细表金蝶K3 SQL报表系列-委外未勾稽明细表

    select u1.FBillNo 单据编号, u1.FDate 日期, t3.FNumber as 供应商代码, t3.FName as 供应商, t4.FNumber 物料代码, t4.FName ...

  6. 金蝶K3 SQL报表系列-委外未勾稽明细表

    select u1.FBillNo 单据编号, u1.FDate 日期, t3.FNumber as 供应商代码, t3.FName as 供应商, t4.FNumber 物料代码, t4.FName ...

  7. 金蝶K3 SQL报表系列-客户科目余额表(可用于生成客户保证金查询报表等)

    select k3.FNumber 客户代码, k3.FName 客户名称, k2.FNumber 科目代码, k2.FFullName 科目名称, k.FEndBalance 余额from (sel ...

  8. 金蝶K3直接SQL报表实现动态行转列报表

    我们知道,在BOS开发中,想实现动态行转列报表,可以使用交叉分析表来实现,但交叉分析表不太灵活,比如当动态列中有需要复杂的逻辑运算来实现时就无能为力了,下面介绍使用直接SQL报表来实现,也许能给你一点 ...

  9. Excel+MSSQL开发金蝶K3欠料报表

    将K3所有订单需求.MRP运算.库存及在途数据等数据整体展示,适合计划部门根据报表数据统筹考量物料供给情况,特制作此报表及Excel集成工具,以减少手工汇总统计的工作量. 本代码适用于金蝶K3 WIS ...

最新文章

  1. 微信这个坑**的内置浏览器--我很无语
  2. Spring Ioc源码分析 之 Bean的加载(5):循环依赖处理(populateBean())
  3. bpmn2 vue 设计器_vue项目中使用bpmn-基础篇
  4. http协议组成(请求状态码)
  5. 游戏提高性能 游戏降帧处理
  6. python大小写转换_python字符串大小写转换
  7. 哪个版本好_揭秘爱他美奶粉哪个版本好?不同版本爱他美奶粉区别差异是什么?...
  8. 关于Mac下mysql8.0的启动
  9. 飞思卡尔芯片k66单片机溢出_飞思卡尔HCS12系列 Flash的加密解密解决方法
  10. python实现文件管理系统_Python - 文件管理系统
  11. 金蝶K3与IMS系统搭建销售订单交期回复系统
  12. html背景图片被白色覆盖,html – CSS背景图片淡出白色
  13. 上网本丢失F盘怎么恢复
  14. [Hadoop性能调优]
  15. jquery 元素节点操作 - 创建节点、插入节点、删除节点
  16. php printer 使用,printer扩张的一些使用疑问
  17. 8.9 五色定理(Heawood 1890)
  18. 0x00000000该内存不能为read
  19. Mybatis(day1)快速入门
  20. java 生成 文件 md5_JAVA版文件MD5生成器

热门文章

  1. JavaScript4种数组随机选取实战源码
  2. 记玄妙莫测的透明代理
  3. 黑苹果 10.15 catalina 因特尔蓝牙驱动
  4. sham-link和路由选路
  5. 【英语总结】十二月引领~
  6. JavaseSE笔试选择题(知识点总结)
  7. AOP之@AspectJ技术原理详解
  8. NICEGUI---ROS开发之中常用的GUI工具
  9. 不及格的小A 360笔试 C++
  10. android蓝牙广播自定义,Android 蓝牙相关的广播