1. 程式人生 > >SBO格式化搜尋取介面值方法和取日期值方法

SBO格式化搜尋取介面值方法和取日期值方法

格式化搜素的取欄位值的方法:

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()
取當前的日期