iT邦幫忙

2

【kintone】如何透過指定網址列 Query 篩選記錄

  • 分享至 

  • xImage
  •  

在 kintone 的清單一覽畫面中,我們可以透過「篩選器」設定條件,過濾出想查找的記錄。不過在某些情境下,篩選器的功能可能無法完全滿足使用者的需求。

🔍 範例情境

假設我們希望在「產品出貨記錄」中,篩選出狀態為「已出貨」,且產品代碼為「JCL-RX9000」或是產品代碼包含「MX」的記錄。

在篩選器中,我們可以設定以下三個條件:

  • 條件一:狀態 等於 已出貨
  • 條件二:產品代碼 等於 JCL-RX9000
  • 條件三:產品代碼 包含 MX

然而,kintone 的篩選器僅提供「滿足所有條件」或「滿足任一條件」兩種邏輯運算方式。

🧩 條件邏輯的限制

若選擇「滿足所有條件」,實際的查詢為:

條件一 AND 條件二 AND 條件三

由於沒有任何一筆記錄能同時滿足這三個條件,因此結果為「無符合記錄」。

若改成「滿足任一條件」,查詢邏輯變成:

條件一 OR 條件二 OR 條件三

但這樣的結果也不符合我們的需求。

換句話說,kintone 的篩選器無法設定成「條件一 AND (條件二 OR 條件三)」的組合。

✅ 替代方案:列出所有條件值

如果條件二與條件三的比對方式皆為「等於」,可考慮直接列出所有可能值,如下:

範例如下:

  • 條件一:狀態 等於 已出貨
  • 條件二:產品代碼 等於以下任意一個
    • JCL-RX9000
    • MX-1001
    • MX-2001
      ⋯⋯(列出所有包含 MX 的產品代碼)

這樣就能夠正確篩出我們想要的記錄。

但若資料種類繁多,手動列出所有值會非常不實際。

🧪 解法:使用網址列的 query 參數

在這種情況下,我們可以直接透過網址列中的 query 參數,自訂進階的篩選條件。

例如:

狀態 in ("已出貨") and (產品代碼 = "JCL-RX9000" or 產品代碼 like "MX")

將上述條件加到清單頁的網址列中:

https://sample.cybozu.com/k/123/?query=狀態 in ("已出貨") and (產品代碼 = "JCL-RX9000" or 產品代碼 like "MX")

請注意:query 參數需要經過 UTF-8 編碼,瀏覽器可能會自動將空格轉換成 %20。只要格式正確,透過此網址進入後就能看到符合條件的記錄:

若直接貼上原始 query 出現錯誤,可以打開開發者工具(DevTool)的 Console,使用以下 JavaScript 方法進行轉碼:

encodeURIComponent('狀態 in ("已出貨") and (產品代碼 = "JCL-RX9000" or 產品代碼 like "MX")')

🔧 小技巧:搭配 kintone JavaScript API

你也可以搭配原生篩選器操作,在 Console 使用:

kintone.app.getQueryCondition()

這樣可以先透過 UI 設定基本條件,再將取得的 query 字串稍作修改(例如加上 and (...) 或調整邏輯運算),就能更快速完成複雜篩選設定。

📌 結語

雖然這種操作方式對初學者來說不算直觀,但當遇到複雜邏輯的篩選需求時,透過網址列 query 參數仍是一種彈性高、無須額外開發的解法。不妨試著套用看看,也許能解決你在 kintone 使用上的某些小困擾!


圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言