兩種實作方式
SDK 提供兩種外部起單的實作方式,各有其優缺點,可以依照實際需求使用
透過 起單檔案 起單¶
藉由從指定表單取得 專屬的檔案
,透過 C# 的類別 (class) 與強行別的規範,協助開發人員輸入每個欄位的數值。
專屬的檔案
UOF X 能依照各表單的彈性設計結果,匯出成 C# 類別 (class) 格式。
其優點為:
- 對程式初學者較友善
- 程式撰寫較直覺,容易找到問題
- 在開發階段就能避免
資料型態問題
但相對的缺點為:
- 取得
專屬的檔案
有權限限制,需要表單管理員協助 - 當表單改版可能就需要 重新 取得新版
專屬的檔案
,流程較繁瑣
產生表單內容的程式碼撰寫範例如下
//Ede.Uofx.FormSchema 是表單專屬的檔案物件
var model = new Ede.Uofx.FormSchema()
{
Account = "Justin",
DeptCode = "PRX",
Urgent = true,
Opinion = "外部起單測試: " + DateTime.Now,
};
//表單各欄位資料型態明確
model.Fields.C002 = "Justin";
model.Fields.C003 = "Hello";
model.Fields.C004 = decimal.Parse("123.23");
model.Fields.C005 = DateTime.Now;
資料型態問題
表單的欄位有許多類型,例如在數值欄位卻寫入英文字串,就會發生資料型態錯誤。
透過 表單代號 起單¶
相對於透過 起單檔案 起單的方法,此方式可以讓開發人員專注於程式開發,表單資訊可以自行取得,沒有取得表單專屬檔案的問題。
其優點為:
- 開發流程上更快速
- 開發彈性較大
但相對的缺點為:
- 資料型態錯誤需實際送單後才能得知,除錯較困難 (可透過 FieldHelper 協助解決)
產生表單內容的程式碼撰寫範例如下
//表單基本資訊
var formHelper = new FormHelper("JustinTest");
formHelper.ApplyAccount("Justin", "PRX");
formHelper.Urgent();
formHelper.Opinion("外部起單測試: " + DateTime.Now);
//表單欄位
formHelper.FieldAdd("C002", FieldHelper.Base.Text("Justin"));
formHelper.FieldAdd("C003", FieldHelper.Base.Text("Hello"));
formHelper.FieldAdd("C004", FieldHelper.Base.Number(decimal.Parse("123.23")));
formHelper.FieldAdd("C005", FieldHelper.Base.Date(DateTime.Now));
//完成,產生表單物件
var form = formHelper.Complete();