k3 Cloud 如何开发 直接SQL

时间:2024-04-01 21:50:53

 

 

直接SQL报表开发起来,非常的简单快捷,不需要编写代码,只要有一点点SQL语言基础即可,深受欢迎。

 

本帖按步骤演示如何新开发一个直接SQL报表。

 

步骤一: 在BOS设计器,点击新建菜单,创建直接SQL报表

 k3 Cloud 如何开发 直接SQL

 

步骤二:点击数据源属性,打开数据源配置向导界面

 k3 Cloud 如何开发 直接SQL

 

步骤三:输入SQL语句(关键步骤)

 k3 Cloud 如何开发 直接SQL

 

步骤四:设置报表列属性:标题、可见、宽度

 k3 Cloud 如何开发 直接SQL

 

步骤五:设置需要合计的字段

 k3 Cloud 如何开发 直接SQL

 

步骤六:完成数据源设计

 k3 Cloud 如何开发 直接SQL

 

步骤七:把新开发的报表,发布到主控台,供用户使用

 k3 Cloud 如何开发 直接SQL

 

步骤八:重新登陆K/3 Cloud,在主控台看到新开发的直接SQL报表

 k3 Cloud 如何开发 直接SQL

 

步骤九:SQL语句中嵌入的关键字,需要由用户输入实际值替代:

相当于由用户输入过滤条件

 k3 Cloud 如何开发 直接SQL

 

步骤十:报表运行效果

 k3 Cloud 如何开发 直接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