通过kPGetSql函数实现自定义资金报表
函数使用背景:
在EAS报表系统中通过已有函数无法完全获取业务系统和BOS开发的单据的数据,导致客户方一些重要的业务报表无法实现;客户希望能够提供一个报表取数公式,可以支持用户直接写SQL语句,并将SQL语句的结果返回到报表单元格上。
客户需求:
客户B提出财务资金报表的需求,通过自定义报表的方式来实现资金的实时监控;从收款单和付款单的项目字段取对应项目内容一定周期内的收支情况。
实现目标:自定义资金报表,从收付款单上取数。
收款单资金报表公式:=kPGetSql("select SUM(FACTUALAMT) as GG from T_CAS_ReceivingBillEntry e inner join T_CAS_ReceivingBill r on e.FRECEIVINGBILLID=r.FID inner join T_BD_GeneralAsstActType g on g.FID=e.CFFUNDSOURCEID inner join T_ORG_BaseUnit u on u.FID=r.FCOMPANYID where g.FNAME_L2='市财政工程建设资金' and u.FNAME_L2='XXX有限公司' and r.FBILLSTATUS='14' and year(r.FBIZDATE)=@year and month(r.FBIZDATE)=@period ","DECIMAL","GG","")
付款单资金报表公式:=kPGetSql("select SUM(FACTUALAMT) as KK from T_CAS_PaymentBillEntry e inner join T_CAS_PaymentBill r on e.FPAYMENTBILLID=r.FID inner join T_BD_GeneralAsstActType g on g.FID=e.CFFUNDUSEID inner join T_ORG_BaseUnit u on u.FID=r.FCOMPANYID where g.FNAME_L2='工程施工类' and u.FNAME_L2='XXX有限公司' and r.FBILLSTATUS='15' and year(r.FBIZDATE)=@year and month(r.FBIZDATE)=@period ","DECIMAL","KK","")
本年累计取数:
通过模板取数,本期累计=本期发生额+上期累计;每年的第一期=1月的发生额;=IF(rptDate("PERIOD")=1,C8,refm("","COMMONREPORT","001",0,-1,"工程资金情况表","D8","","","",False)+C8)
累计汇总:
通过模板取数,工程期初数据需要手工维护进报表。当期汇总=本期发生额+上期累计;
refm("","COMMONREPORT","001",0,-1,"工程资金情况表","E8","","","",False)+C8
通过kPGetSql函数实现自定义资金报表
本文2024-09-16 22:09:37发表“eas cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-eas-46303.html