對(duì)于輸入過(guò)濾條件后BOS報(bào)“列名不正確”的過(guò)濾條件,要在列名前增加x2標(biāo)識(shí)
無(wú)效的過(guò)濾
FNumber in (002,003,004,005,011,020)
正確的過(guò)濾
x2.FNumber in (002,003,004,005,011,020)
有客戶需要我們?cè)赪ISE中增加新單據(jù),其中有個(gè)基礎(chǔ)資料字段需要根據(jù)客戶的的需求進(jìn)行過(guò)濾。
我想這不是很簡(jiǎn)單的嘛,甚至WISE BOS的文檔中直接都有操作方式。
4.3.2 字段屬性
每種字段類型都有一些屬性需要設(shè)置,通過(guò)設(shè)置屬性滿足來(lái)滿足實(shí)際的業(yè)務(wù)需要。
屬性
說(shuō)明
適用范圍
過(guò)濾
設(shè)置基礎(chǔ)資料類型的過(guò)濾條件,用途是在F7或者F8的時(shí)候通過(guò)您所設(shè)置的條件去過(guò)濾掉一些不符合條件的數(shù)據(jù),而這個(gè)屬性框里面需要維護(hù)的是用代碼寫(xiě)的條件,以基礎(chǔ)資料是部門代碼為例,如果我需要過(guò)濾出部門代碼屬于某一類型部門的數(shù)據(jù),那么我可以在過(guò)濾屬性欄寫(xiě)下:FDProperty = 1070,那么在錄入單據(jù)時(shí),該字段F7出來(lái)的數(shù)據(jù)一定都是屬于1070類型的部門代碼。您也可以在后臺(tái)數(shù)據(jù)庫(kù)中執(zhí)行以下SQL將屬性模板表中記錄的過(guò)濾字段FFilter的數(shù)據(jù)調(diào)出來(lái)參考著看看:SELECT FFilter,* from ICClassTableInfo
[基礎(chǔ)資料]
以上引用內(nèi)容來(lái)自K3V14.0BOS用戶手冊(cè)
用戶需要的是對(duì)一個(gè)類型為部門的基礎(chǔ)資料字段過(guò)濾,讓用戶只能選擇總部的部門。部門本身并沒(méi)有標(biāo)識(shí)表明是否為單據(jù)體,和客戶討論之后得出了總部部門的列表。
實(shí)際在數(shù)據(jù)庫(kù)里部門的結(jié)構(gòu)如下
看上去,只要在對(duì)應(yīng)字段的過(guò)濾屬性填下
1 | FNumber in (002,003,004,005,011,020) |
就行。然而,報(bào)錯(cuò)了!
既然列名不明確,那我就明確一下列名試試,部門對(duì)應(yīng)的表為t_Department,那我就改成
t_Department.FNumber in (002,003,004,005,011,020)
依然報(bào)錯(cuò),這次提示信息為“無(wú)法綁定由多個(gè)部分組成的標(biāo)識(shí)符”,我將t_Department改為a/b/x均無(wú)法通過(guò)
好吧,看下文檔上的蛛絲馬跡。根據(jù)上面引用的文檔,我去ICClassTableInfo表查了過(guò)濾屬性FFilter,發(fā)現(xiàn)其中有一條Filter為
x2.FItemID<>GetFldValue(FDepartmentID,0)
懷著嘗試一下的心態(tài),我將原來(lái)的過(guò)濾條件改為
x2.FNumber in (002,003,004,005,011,020)
BOS沒(méi)有報(bào)錯(cuò),保存,運(yùn)行,OK!
個(gè)人認(rèn)為是由于wise的數(shù)據(jù)結(jié)構(gòu)是吧所有字段的過(guò)濾條件都至于同一張表單數(shù)據(jù)表中,導(dǎo)致過(guò)濾時(shí)選擇列明不明確,所以需要在之前增加標(biāo)識(shí),但是嘗試了一下x1,x3,都報(bào)“無(wú)法綁定由多個(gè)部分組成的標(biāo)識(shí)符”,個(gè)人猜測(cè)是金蝶本身把當(dāng)前基礎(chǔ)資料的標(biāo)識(shí)符設(shè)置為了x2,具體細(xì)節(jié)還得慢慢探索才行。
文章轉(zhuǎn)摘自:新田三十三