如何在K3 WISE BOS集成開發工具中自定義字段過濾條件


1.結論

對於輸入過濾條件后BOS報“列名不正確”的過濾條件,要在列名前增加x2標識

無效的過濾

FNumber in (002,003,004,005,011,020)

正確的過濾

x2.FNumber in (002,003,004,005,011,020)

2.完全可以不看的探索過程

有客戶需要我們在WISE中增加新單據,其中有個基礎資料字段需要根據客戶的的需求進行過濾。

我想這不是很簡單的嘛,甚至WISE BOS的文檔中直接都有操作方式。

4.3.2 字段屬性

 

每種字段類型都有一些屬性需要設置,通過設置屬性滿足來滿足實際的業務需要。

屬性

說明

適用范圍

過濾

設置基礎資料類型的過濾條件,用途是在F7或者F8的時候通過您所設置的條件去過濾掉一些不符合條件的數據,而這個屬性框里面需要維護的是用代碼寫的條件,以基礎資料是部門代碼為例,如果我需要過濾出部門代碼屬於某一類型部門的數據,那么我可以在過濾屬性欄寫下:FDProperty = 1070,那么在錄入單據時,該字段F7出來的數據一定都是屬於1070類型的部門代碼。您也可以在后台數據庫中執行以下SQL將屬性模板表中記錄的過濾字段FFilter的數據調出來參考着看看:SELECT FFilter,* from ICClassTableInfo

[基礎資料]

以上引用內容來自K3V14.0BOS用戶手冊

用戶需要的是對一個類型為部門的基礎資料字段過濾,讓用戶只能選擇總部的部門。部門本身並沒有標識表明是否為單據體,和客戶討論之后得出了總部部門的列表。

實際在數據庫里部門的結構如下

看上去,只要在對應字段的過濾屬性填下

FNumber in (002,003,004,005,011,020)

就行。然而,報錯了!

既然列名不明確,那我就明確一下列名試試,部門對應的表為t_Department,那我就改成

t_Department.FNumber in (002,003,004,005,011,020)

依然報錯,這次提示信息為“無法綁定由多個部分組成的標識符”,我將t_Department改為a/b/x均無法通過

 

好吧,看下文檔上的蛛絲馬跡。根據上面引用的文檔,我去ICClassTableInfo表查了過濾屬性FFilter,發現其中有一條Filter為

x2.FItemID<>GetFldValue(FDepartmentID,0)

懷着嘗試一下的心態,我將原來的過濾條件改為

x2.FNumber in (002,003,004,005,011,020)

BOS沒有報錯,保存,運行,OK!

 

個人認為是由於wise的數據結構是吧所有字段的過濾條件都至於同一張表單數據表中,導致過濾時選擇列明不明確,所以需要在之前增加標識,但是嘗試了一下x1,x3,都報“無法綁定由多個部分組成的標識符”,個人猜測是金蝶本身把當前基礎資料的標識符設置為了x2,具體細節還得慢慢探索才行。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM