2023年1月8日 星期日

ScriptCase 一開啟FORM 就強制是在 insert 新紀錄的表單

使用 sc_apl_conf("application", "start","new"); SC巨集 寫在 Event->onApplicationInit 裡面可以強制讓SC開啟表單時,直接在新增一筆新紀錄的狀態。 這種情形,開起來時,會出現空白表單,而帶有一個 "ADD"或"+加入" 的按鈕,還有一個退出按鈕。 這個介面,使用者如果真的是要新建一筆紀錄,他可以開始輸入資料到相對欄位中,然後再按下"+加入"按鈕,這樣就建立了一筆新紀錄。 然而,如果該表單還有子表單,就必須要先按了加入新紀錄,才能產生子表單的輸入畫面,才能輸入子表單資料欄位。例如:傳票、訂單、採購單等表單,都是有子表單輸入項目的表單。這樣一來,就不大直覺。 最直覺的方式,應該是:出現空白主表單+空白子表單,都有出現,全部輸入完畢後,使用者按"+加入"或"儲存",這樣才一次一起新增主紀錄以及子紀錄(一對多的子表格內容) 這一點要想一想,如何處理。

一樣的問題,有人在 SC 論壇上發問: 

如何判斷現在FORM是在 insert mode? 還是 update mode?

只要用  if (empty({primary_key})) 就可以知道是否為新增模式了。 如果 {promary_key} 是空白的,那麼就是在新增模式;反之,就是更新模式。 以上。