1. 程式人生 > >OutSystems中的靜態實體

OutSystems中的靜態實體

靜態實體由一組值組成,將靜態實體視為儲存在資料庫中的列舉或文字量。靜態實體的結構由屬性定義,而資料由Records管理。靜態實體始終是全域性的,靜態實體只能與其他靜態實體建立關係。

靜態實體將自動建立以下屬性:Id,Label,Order和Is_Active:
Id
作為唯一的記錄識別符號,它是靜態實體中唯一具有自動編號的屬性;

Label
應用程式中顯示的保留值;

Order
定義顯示給終端使用者的順序;

Is_Active

定義布林值Is_Active在執行時是否可用。例如,在scaffolding中使用靜態實體時,將忽略Is_Active設定為false的記錄;

您可以建立新的實體屬性並定義其型別。

靜態實體中的每個記錄都將Identifier屬性作為唯一控制代碼。設計應用程式時,請直接在業務邏輯中使用識別符號,例如:Entities.<StaticEntity>.<Identifier>

可用於靜態實體的唯一操作是Get <StaticEntity>操作,因為OutSystems保持資料的永續性,靜態實體資料僅在設計時可編輯。

您可以將現有實體轉換為靜態實體,反之亦然。將靜態實體轉換為實體後,記錄可通過資料庫查詢,並從Records資料夾中刪除。

例子

定義的不可變(常量)值時,請使用靜態實體。例如,在酒店應用程式中,我們可能需要一些預訂狀態:“已預訂”,“已簽入”,“已簽出”和“已取消”,還需要狀態的預設描述(例如“客人剛剛離開”為“簽出”)。

您的靜態實體狀態可能如下所示:

在這裡插入圖片描述

所有狀態都在靜態實體的Records資料夾中建立。如果選擇“CheckedOut”,屬性編輯器將顯示詳細資訊:

在這裡插入圖片描述

簽出狀態的識別符號為 CheckedOut,標籤為“Checked-Out”。欄位TextDescription是我們的自定義欄位,其字串值為"The guests have just left"。

您可以通過引用其識別符號來訪問已簽出狀態的記錄,如:Entities.Status.CheckedOut