SBO格式化搜索取界面值方法和取日期值方法

来源:互联网 发布:新浪股票数据api 编辑:程序博客网 时间:2024/06/05 04:27

 格式化搜素的取字段值的方法:

1.针对表头:$[表名.字段名]或者$[$Item.0]
2.针对表身:$[$Item.Column.0/number/currency/date],最常用的还是0和number这个2个参数。

如果是供表头的自定义字段调用,要在Item前加"-"号.

例:在采购订单中,取表身中的物料编号,$[$38.1.0/number]。

38表示表身,14表示第14列,0表示取这个格子里的值。


$[Tablename.Fieldname]

Tablename=表名 

Fieldname=字段名 

$[$Field Index. Field Column. Number/Currency/Date.0] 
Field Index
=Item
 
Field Column=Column
 

Number/Currency/Date.0=
有待查证具体作用,但是一般用‘0’ 

如果参与的字段包含金额和货币代码,并且您只要提取金额,可以使用 NUMBER 参数。   

如果参与的字段包含金额和货币代码,并且您只要提取货币代码,可以使用 CURRENCY  参数。  

如果参与的字段是日期字段,并且您要用它来计算,则使用 DATE 参数。


elect $[$38.u_test1.number]*u_test2 from oitm where itemcode = $[$38.1.0] 

SELECT  $[$ordr.U_Poundage.NUMBER]*$[$rdr1.U_BankRates.NUMBER] 





例子:【销售订单】【计算总重量:OITM销售数据.重量 *销售订单行数量】 
例子一:SELECT $[rdr1.Quantity] * T0.SWeight1 FROM OITM T0 WHERE$[rdr1.ItemCode] = T0.ItemCode 
例子二:SELECT $[$38.11.0] * T0.SWeight1 FROM OITM T0 WHERE$[$38.1.0] = T0.ItemCode 
两个例子实现一样的功能! 


报表取日期值作比较的方法

先看代码:【销售订单】【交货日期过期30天的SO列表.并列出超出时间】 

SELECTT0.DocNum,T0.DocDueDate AS 原交货日期,GETDATE() AS今天, DATEDIFF(Day,DocDueDate,GETDATE()) AS过期天数, T0.CardCode FROM OPOR T0 WHEREDATEDIFF(Day,DocDueDate,GETDATE()) > 30 

主要语法解释: 
DATEDIFF(datepart,startdate,enddate) 
计算startdateenddate之间的差值。 
datepart=
需要返回值的格式,一般填‘DAY’具体格式有那些请看SQL Server联机丛书。 
startdate=
开始时间 
enddate=
结束时间 

GETDATE()
取当前的日期

 

原创粉丝点击