欄位與公式

欄位與公式分頁讓您找出選定欄位或全域函式的依賴關係。
也就是說,您可以查出所有用到某個特定欄位或全域函式的公式。

它包含兩個子分頁:列表(說明如下)與依賴樹(以圖形呈現同樣的依賴關係,見下文)。每個資料庫都會記住所選的子分頁與最後選取的欄位。

這有什麼用

當您要修改或刪除某個欄位或全域函式時,這項功能可協助您確認它對資料庫其餘部分的影響。

欄位與公式中 Invoice No 欄位的依賴關係

列表子分頁呈現兩個可收合的區段:

  • 表格.欄位 的腳本:所選元素本身的程式碼——欄位的公式與觸發器,或全域函式的程式碼——每個腳本前面都有其層級的徽章,程式碼則收合在下方;若沒有任何腳本,則顯示「此資料庫中未找到腳本」;
  • 依賴項 (N),或無依賴項:使用所選元素的腳本。

依賴影響層級

影響共分三個層級,以三種不同的徽章表示:

徽章公式使用者介面顯示
紅色徽章是是是該欄位被用在公式、觸發器(「On click」、「Trigger after update」、「Trigger on new record」)、全域函式、「After Open」觸發器或列印運算式中。任何修改或刪除都會影響資料庫的運作。
橘色徽章是是該欄位被某條介面規則使用:「Display field only, if」、「Writable if」、「Readable if」、「Trigger before view」、「Trigger after hide」、「Show as」、「Show data as」、動態選擇的公式,或連結的限制條件。修改它只會影響使用者介面的行為,不會影響資料庫功能或資料運算。
綠色徽章是該欄位僅供顯示之用:用在檢視的欄中(其公式或條件格式),或列印表格的欄中。修改它只會影響資料的呈現方式,不會改變使用者介面的行為或資料運算。

徽章中顯示的數字代表直接依賴項的數量;在列表中,某個依賴項徽章內的數字,則是計算它自己的依賴項。自 3.2.0 版起,這個數字在各處的計算方式都相同——清單、依賴樹與徽章——且不包括欄位本身的腳本。

理解依賴關係

一個欄位可以有多個依賴項,而每個依賴項本身也可能有自己的依賴項。
這種階層式結構有助於理解對某個欄位或函式所做的變更會如何影響資料庫。

展開至三個層級的巢狀依賴關係

點選列表中的某一行,會展開它自己的依賴項,再點一次則會收合;左側的 V 形箭頭標示出有依賴項的行。點選某一行的徽章,會在欄位與公式中選取該欄位(全域函式或「After Open」觸發器除外)。

直接使用

選擇一個表格或 Global Functions 這一列:

  • 點選左側的區域:清單會列出各個表格,排在它們前面的是兩個項目——資料庫的「After Open」觸發器,以及其全域函式。點選某個表格即可展開其欄位。

表格清單,最前面是「After Open」觸發器與全域函式

選擇一個欄位或函式:

  • 在右側的區域輸入幾個字母:清單只會保留包含這些字母的項目,範圍涵蓋所有表格。點選某個欄位或函式即可選取它。

以「Date」一詞篩選欄位

來自同一團隊其他資料庫的欄位與表格也會出現,並附有專屬圖示。來自 Ninox 已載入之另一個資料庫的依賴項(另一個使用本資料庫欄位的資料庫),也會出現在列表與依賴樹中,前面加上其資料庫的名稱;它們無法從這裡開啟:一則英文訊息(「This element belongs to another database…」)會請您開啟其資料庫。

使用欄位編輯器

在 Ninox 的「Edit fields」視窗中,每個在其他地方被使用的欄位都帶有顯示其依賴項的徽章。
點選這個徽章,就會開啟 Ninext 面板的欄位與公式,並選取該欄位。編輯欄位頁面會詳細說明這些徽章,以及如何從一個欄位切換到另一個欄位。

Ninox 的 Edit fields 視窗中,Customer 欄位的徽章

在欄位與公式中選取的 Customer 欄位

前往選定的欄位或函式

點選清單右側的紅色按鈕。它只在 Ninox 的編輯模式(「Edit mode」)下出現,而且只要 Ninox 中還有尚待儲存或取消的修改,它就會呈灰色。如果是欄位,Ninext 會在 Ninox 的表單中將它醒目標示,並附上一個扳手圖示:點選這個扳手,即可開啟欄位的編輯視窗。如果該欄位在表單上看不到,Ninext 會提議開啟欄位編輯器。

開啟所選欄位的編輯視窗

若是全域函式,則會開啟全域程式碼編輯器,並標示出相關的函式。

在所選函式的位置開啟全域程式碼

直接前往腳本

  • 點選結果列中的粗體部分(此處為「Show as」):Ninox 的編輯器會開啟含有該依賴關係的程式碼,並標示出相關的部分。
  • 滑鼠停留時出現在該列右側的紅色按鈕(在 Ninox 的編輯模式下),遵循與上方按鈕相同的規則。若該行屬於某個欄位(其公式、其某個觸發器、其「Show as」……),它會在表單中選取該欄位,並帶有一個框住的扳手;若是其他行(表格觸發器、檢視的欄、列印、全域函式、「After Open」),它會開啟腳本的編輯器,並且只帶有一個扳手。

點一下即可開啟依賴項的程式碼

長清單

長清單會以每批 100 行的方式顯示。在清單底部,+100 會顯示接下來的 100 行,全部(N) 則會顯示其餘的 N 行。

滑鼠停在欄位上時的徽章

在 Ninox 的編輯模式(「Edit mode」)下,將滑鼠停在表單中的某個欄位上,欄位右上角就會出現一個徽章。它匯集了以下功能,無須事先選取該欄位:

區域滑鼠停留時點選時
類型欄位的類型,或其公式傳回的類型。—
Fx(僅限公式欄位)完整的公式,並附有複製按鈕;其中的錯誤會加上底線(紅色波浪線,警告則為琥珀色點線),滑鼠停在加底線的段落上即可看到訊息。開啟 Ninox 的公式編輯器。
紅色扳手—開啟欄位的編輯視窗。
依賴項計數依賴樹的預覽。開啟 Ninext 面板,並在欄位與公式中選取該欄位。

計數的顏色代表影響層級,與上方的徽章相同;灰色的「0」表示沒有任何東西依賴該欄位。此徽章可在 Ninext 設定的「其他工具」區段中停用:懸停時顯示依賴徽章。

將滑鼠停在記錄的 NET Total 欄位上時出現的 Ninext 徽章;停在其計數上時,則出現依賴樹的預覽

依賴樹

依賴樹子分頁會從兩個方向繪出所選欄位的依賴關係:

  • 左側為上游:其公式所讀取的欄位;
  • 中間為欄位本身;
  • 右側為下游:使用它的公式。

編號的色帶(-2、-1、0、1、2…)標示各個層級。滑鼠停在某個儲格上時,其所在的鏈會亮起,其餘部分則變暗;在儲格的程式碼工具提示中,其直接父項的名稱會醒目標示。全域函式也能展開,顯示依賴它的項目(自 3.2.0 起)。

NET Total 欄位的依賴樹:編號的色帶、一個群集及其底部、一個滑鼠停留的儲格

在儲格中:

  • 徽章會以此欄位為中心重新繪製依賴樹,該欄位也會成為所選的欄位;
  • Fx 圖示在滑鼠停留時顯示程式碼,點選時開啟其編輯器;紅色按鈕遵循與列表中相同的規則;
  • 圓形的 + 徽章(展開)會展開該儲格的依賴項,−(摺疊)則將其收合——全域函式就是這樣展開的;在上游,另一個徽章可顯示或隱藏鏈以外的子項;
  • 劃掉的眼睛(隱藏此儲格)會隱藏該儲格。

當一欄中超過 10 個元素時,「… +N」儲格會顯示其餘的元素。

群集。 共用相同父項的儲格會被歸在一個框中,稱為群集。抓住它的把手,即可重新排序,或將它移到另一欄;群集被重新排序或移動之後,其角落會出現一個環形箭頭,可將它恢復到原來的位置。一個群集顯示 5 個儲格;其 −5、+5 與 全部 (N) 按鈕可以顯示更少或更多,一個箭頭可將它恢復為 5 個儲格,而其底部會指出還有多少個被隱藏。

工具列提供:

  • 複製為圖片:會開啟一個視窗,提供 複製(剪貼簿) 或 下載 PNG;
  • 眼睛圖示:顯示或隱藏被隱藏的儲格;它只在至少有一個儲格被隱藏時出現,並附上其數量;
  • 縮小、縮放百分比、放大與適應視圖;
  • 全螢幕:可按其按鈕或 Esc 鍵離開。

依賴樹會為每個欄位記住其隱藏的儲格與群集的排列。當您切換欄位時,它會保留目前的縮放比例,並將新的欄位置中;架構重新整理時,縮放比例與位置都不會改變。

將滑鼠停在徽章的依賴項計數上時,也會以預覽方式顯示同一棵依賴樹。

導航歷史

Ninext 面板頂端的腳印形狀圖示,在滑鼠停留或點選時,會開啟 Ninext 中最近檢視過的欄位、全域函式與報表清單——包括「After Open」觸發器。再次檢視的項目會移到清單底部,不會重複;點一下即可再次選取它。清單會保留當天的 50 筆項目;清除所有導航歷史可將其清空。這項歷史僅供管理員使用,可在 Ninext 設定的「介面增強」區段中停用:結構導覽歷史(管理員)。

請勿將它與 已檢視的記錄按鈕混淆:後者圖示相同,但位於 Ninox 的頂端列中,提供給所有使用者,列出最近開啟過的記錄(參見已檢視的記錄)。