如何制作“直接SQL账表”
【概述】
企业会有需求实现一些针对于本企业自定义的报表数据展示,如通过插件开发的形式处理,会增加成本,而通过使用数据库SQL语言编写实现,则可以快速实现需求。
【操作步骤】
注意:以下操作需要熟悉SQL语句才能进行操作
举例:根据单据编码获取采购订单信息报表
步骤一: 在BOS设计器,点击新建菜单,创建直接SQL报表
步骤二:点击数据源属性,打开数据源配置向导界面
步骤三:输入SQL语句(关键步骤)
步骤四:设置报表列属性:标题、可见、宽度
步骤五:设置需要合计的字段
步骤六:完成数据源设计
步骤七:把新开发的报表,发布到主控台,供用户使用
步骤八:重新登陆K/3 Cloud,在主控台看到新开发的直接SQL报表
步骤九:SQL语句中嵌入的关键字,需要由用户输入实际值替代:
相当于由用户输入过滤条件
步骤十:报表运行效果
小技巧:
1. 关键字:可以把SQL语句中,需要由最终用户输入的条件,定位为关键字;
2. 排序:不能使用ORDER BY子句指定排序字段,请改用,row_number() over (order by t0.FBillNo desc) as FIDENTITYID1实现;
示例SQL语句:
select t0.FID, t1.FENTRYID
,t0.FBILLNO
,t0.FDate
,t0.FDOCUMENTSTATUS
,t2.FLOCALCURRID
,ISNULL(t20.FPRICEDIGITS,4) AS FPRICEDIGITS
,ISNULL(t20.FAMOUNTDIGITS,2) AS FAMOUNTDIGITS
,t1.FMATERIALID
,t1M_L.FNAME as FMaterialName
,t1.FQTY
,t1u.FPRECISION as FUnitPrecision
,t1U_L.FNAME as FUnitName
,t1f.FTAXPRICE
,t1f.FALLAMOUNT
,row_number() over (order by t0.FBillNo desc) as FIDENTITYID1
from T_PUR_POORDER t0
inner join T_PUR_POORDERFIN t2 on (t0.FID = t2.FID)
left join T_BD_CURRENCY t20 on (t2.FLOCALCURRID = t20.FCURRENCYID)
inner join T_PUR_POORDERENTRY t1 on (t0.FID = t1.FID)
left join T_BD_MATERIAL_L t1M_L on (t1.FMATERIALID = t1m_l.FMATERIALID and t1M_L.FLOCALEID = 2052)
inner join T_PUR_POORDERENTRY_F t1F on (t1.FENTRYID = t1f.FENTRYID)
left join T_BD_UNIT t1U on (t1f.FPRICEUNITID = t1u.FUNITID)
left join T_BD_UNIT_L t1U_L on (t1U.FUNITID = t1U_L.FUNITID and t1U_L.FLOCALEID = 2052)
where t0.FBILLNO like '%#FBillNO#%'
and t0.FCREATORID = _CurrentUserId_
如何制作“直接SQL账表”
本文2024-09-23 04:16:13发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-164225.html