腳本技巧與訣竅
這裡收錄了我們在官方論壇上與 Ninox 社群分享過的所有技巧與訣竅。
本部分內容
Ninox 語言基礎Ninox 的腳本語言用於撰寫資料庫中的公式、按鈕與觸發器。本頁彙整了寫下第一行程式碼之前需要了解的內容。宣告變數:var 與 letvar 與 let 都可以用來宣告變數。與 JavaScript 不同的是,在 Ninox 中 let 和 var 在作用範圍上並沒有差別。撰寫自己的函式這道指令可用來建立新的方法,它可以是本機的(只限於宣告它的那段程式碼內使用),也可以是全域的(把它放進 Options/Global Functions 之中)。依條件選擇:if、then、elseif 陳述式可以回傳兩個不同的值。重點是這兩個值必須是相同型別,否則編譯器會回報錯誤:重複執行:for 與 while迴圈會重複執行某個動作:逐一處理某位客戶的所有發票並加總、每月建立一列、檢查表格中的每一筆記錄……尋找記錄:select、where、from、toselect 陳述式會回傳一個記錄(nid)陣列。它可以搭配 where、from 與 to 子句使用。排序結果:order byorder 陳述式會把一個由 nid、rid 或 JSON 物件組成的陣列排序,並回傳排序後的同一個陣列。order 後面可以選擇性地接上關鍵字 by。建立、刪除和複製記錄這些指令讓您可以建立、刪除與再製一筆記錄。它們的用法很單純,Ninox 官方文件也有完整說明:處理 JSON 資料若要建立一個 JSON 變數(編譯器稱之為 any,有時也稱 complex),請這樣宣告:使用陣列操作文字或數字陣列相當直接:Ninox 中未列入文件的函式有些函式並未收錄在 Ninox 的官方文件中。它們是我們檢視程式碼、理解其行為之後發現的。您也可以在 Ninext 的函數說明分頁中找到它們,連同 http() 的 nx-file 標頭。使用記錄 IDNinox 中每一筆新記錄都會取得一個唯一的 ID(識別碼)。 新表格的編號從 1 開始,每新增一筆就加 1(2、3 等等)。 被刪除的 ID 不會重新配發。因此,表格中最大的 ID 反映的是曾經建立過的記錄總數,包含那些已被刪除、不再看得到的記錄。 ID 的表示方式: ID 可以用數字或文字表示。 以文字表示時,ID 由表格的 ID(一個或多個大寫字母)加上記錄編號組成。 例如:"A1"動態選項清單:Dynamic Choice 與 MultiChoice動態選擇欄位回傳的是對應記錄 ID 的文字或數字,但無法直接取得所選的記錄。若要取得它們,可以用下列做法:公式欄位:循環參照欄位公式可以讀取關聯記錄的欄位,即使該記錄屬於同一張表。但它不能讀取該記錄上的自身欄位:公式編輯器會拒絕它,並顯示訊息「Circular reference」。
