ChatCoder除了可以用來開發表單之外,也可以使用在TRS的過帳處理當中,我們就以出貨單存檔時,要去過帳客戶資料與產品資料為例,來說明ChatCoder如何產生TRS的交易。
Step1>
在iCoder方案中的"TRS"節點"右鍵"/"新增",然後選擇交易處理名稱為"出貨單"並按下"確定",如下:
新增好"出貨單"這個TRS之後,視窗右下角多了一個"問AI"的小窗口,最後按下"確定"存檔之後,出貨單編號將自動編號並顯示,如下:
設定TRS之前,因為我們需要將出貨單的總金額累加到客戶資料表的"累計營收"欄位,但當初客戶資料表並沒有這個欄位,所以我們可以重新打開ChatCoder的"客戶資料表",然後加上這個欄位,如下:
接著,與之前的步驟一樣"匯出欄位",再來"匯出iTable",針對"iTable"進行存檔,並重新產生資料表與服務端與前端RWD網頁等,其中產生資料表時會詢問你是否要增加"累計營收"欄位,回答"確定"即可。
Step2> 點一下TRS設定頁面右下角的小視窗,可以打開"問AI"的視窗,如下:
將所要過帳交易的資料表與欄位,以自然語言的方式來描述,如下:
出貨單存檔時,可以將總金額累加到客戶資料表的累計營收欄位,並且出貨地址可以更新到客戶資料表的客戶地址,彼此的關聯關係為出貨單的客戶編號去找客戶資料表的客戶編號。
出貨單明細存檔時,要以數量去扣除產品資料表的現有庫存量,以主表的出貨日期去更換產品資料表的庫存日期,關聯為出貨單明細的產品編號對應到產品資料表的產品編號。
經過ChatGPT整理後,產生如下的結果:
檢視整理出來的表格,表格上有原始資料表與目的資料表,過帳時機通常是用"存檔"來表示新增/更改/刪除都會進行過帳(也可單獨指定只有新增或更改或刪除才進行),過帳計算的原始欄位與目的欄位,過帳計算方式可以是累加/更改/更換/累減不能小於0等等,最後為過帳時的欄位對應關係是以'='左邊原始表欄位對應到'='右邊的目的表欄位。
Step3> 如果產生的過帳表格沒有問題,即可透過"匯出TRS"來產生TRS的設定,左邊的"匯出TRS(覆蓋)"會將原來的TRS設定覆蓋掉,以新的表格內容取代。右邊的"匯出TRS(合併)",則會保留原來TRS設定再加上新的表格內容一起合併。如果是第一次使用則按下"匯出TRS(覆蓋)"即可。執行後,如下的結果:
產生出來的TRS設定,也可以自由調整,這部分的操作,請參考5-1
TRS過帳處理。
Step4> 最後,按下上方的"存檔"並"匯出"結果,此時系統會自動檢查你所陳訴的各個欄位名稱是否真實存在,如果不存在會提出錯誤,你可以透過"問AI"重新更正欄位名稱,或是直接在TRS設定中直接修改(按下"目的資料表"上方的"編輯"按鈕即可)。
這時,系統會自動在服務端的"出貨單"與"出貨單明細"貼上"TRS組件",只要有出貨單及出貨單明細存檔,就會同步進行這個過帳處理的動作。
Step5> 再來,我們可以透過"工具"/"SQL
Profiler"來追蹤一下是否按照我們所設定的交易模式來進行過帳。我們可以打開之前設計的"出貨單"(可以打開iTable裡的"出貨單"並按下"預覽"),並新增一筆資料,如下:
按下存檔後,除了會新增這個出貨單與出貨單明細之外,可以透過我們的SQL
Profiler來查看交易的語法,如下:
上圖中,主表出貨單INSERT完之後,有一行"UPDATE [客戶資料表]"會累加69000到累計營收,並把出貨地址更新到客戶地址中。第二段在出貨明細的INSERT之後,因為有兩筆所以分別對產品001與產品002進行了現有庫存的扣除,並以出貨日期去更新產品資料表的庫存日期。
Related Topics