在醫院的應用情境中,慢性病患可能每個月或每兩個月需要回診一次,而每次的藥單內容基本上大同小異。若能一鍵複製整張訂單,並自動更新回診日期,將能大幅提升效率。本文將以一個訂購香純滴雞精的範例,說明如何透過 AppSheet 的「深度複製 (Deep Copy)」功能,建立一個能複製整張訂單(包含所有訂單明細)的系統。
複製主表紀錄:建立一張新的訂單。 觸發子表紀錄:接著複製該訂單的所有明細。 單一複製子表記錄:建立新的明細,並將它們關聯到新的「訂單」上。
前往 Actions 頁籤,點擊 New Action。 For a record of this table:選擇你的子表(例如:訂單明細)。 Action name:給這個動作取一個容易辨識的名稱,例如「增新單筆明細」。 Do this:選擇 Data: Add a new row to another table using values from this row。 Table to add to:再次選擇你的子表(例如:訂單明細)。 Set these columns:設定要複製的欄位。 [主表的關聯欄位] (例如:訂單編號):這是最重要的部分,要讓新的明細關聯到新的訂單。公式為 MAXROW("訂單", "_ROWNUMBER"),這會找到「訂單」表中最新建立的那一筆紀錄。 [子表的欄位] (例如:產品):[產品] [子表的欄位] (例如:數量):[數量]
Appearance:將 Prominence 設定為 Do not display,因為這個動作不需要單獨被使用者看到。
前往 Actions 頁籤,點擊 New Action。 For a record of this table:選擇你的主表(例如:訂單)。 Action name:例如「複製訂單」。 Do this:選擇 Data: Add a new row to another table using values from this row。 Table to add to:再次選擇你的主表(例如:訂單)。 Set these columns: [主表的主鍵] (例如:訂單編號):UNIQUEID() 其他你想要複製的欄位 (例如:姓名):[姓名] 需要更新的欄位 (例如:購買日期):NOW()
Appearance:同樣設定為 Do not display。
前往 Actions 頁籤,點擊 New Action。 For a record of this table:選擇你的主表(例如:訂單)。 Action name:例如「觸發複製所有明細」。 Do this:選擇 Data: execute an action on a set of rows。 Referenced Table:選擇你的子表(例如:訂單明細)。 Referenced Rows:[Related 訂單明細s] Referenced Action:選擇第一步驟建立的「增新單筆明細」動作。 Appearance:同樣設定為 Do not display。
前往 Actions 頁籤,點擊 New Action。 For a record of this table:選擇你的主表(例如:訂單)。 Action name:例如「複製整張訂單」。 Do this:選擇 Grouped: execute a sequence of actions。 Actions:依序加入以下三個動作: 複製訂單 觸發複製所有明細
Appearance: Prominence:選擇你希望它顯示的位置,例如 Display overlay (會出現在右下角)。 Display name:可以再次輸入顯示的名稱。 Action icon:選擇一個適合的圖示,例如 Copy。
儲存變更:點擊右上角的 "Save" 按鈕。 同步 App:在手機或瀏覽器上同步你的 App,然後找到一筆含有子表記錄的主訂單。 測試:點擊你剛剛建立的「複製整張訂單」按鈕,你會看到一筆新的主訂單被建立,且子表內的紀錄也被完整複製過來,並關聯到新的訂單編號!
沒有留言:
張貼留言
注意:只有此網誌的成員可以留言。