//回傳值 true.通過驗證 false.未通過驗證, protected override bool WfItemCheck(object sender, ItemCheckInfo e) { baa_tb baaModel; vw_stpi010 masterModel; string errMsg; try { baaModel = BoBas.OfGetBaaModel(); masterModel = DrMaster.ToItem <vw_stpi010>(); #region 單頭-pick vw_stpi010 if (e.Row.Table.Prefix.ToLower() == "vw_stpi010") { switch (e.Column.ToLower()) { case "bab01": //單別 if (GlobalFn.varIsNull(e.Value)) { return(true); } if (GlobalFn.isNullRet(baaModel.baa06.Value, 0) != GlobalFn.isNullRet(e.Value, "").Length) { errMsg = string.Format("單別限定長度為{0}碼", GlobalFn.isNullRet(baaModel.baa06, "")); WfShowErrorMsg(errMsg); return(false); } if (BoBas.OfChkBabPKValid(GlobalFn.isNullRet(e.Value, "")) == true) { WfShowErrorMsg("單別已存在,請檢核!"); return(false); } break; case "bab03": //模組別 e.Row["bab04"] = ""; e.Row["bab04_c"] = ""; if (GlobalFn.varIsNull(e.Value)) { return(true); } WfDisplayMode(); ute_bab04.Focus(); break; case "bab04": //單據性質 if (GlobalFn.varIsNull(e.Value)) { e.Row["bab04_c"] = ""; e.Row["bab09"] = ""; WfSetControlReadonly(ute_bab09, true); return(true); } if (GlobalFn.varIsNull(masterModel.bab03)) { WfShowErrorMsg("請先輸入模組別!"); return(true); } if (BoAdm.OfChkAzf02Exists(masterModel.bab03, GlobalFn.isNullRet(e.Value, "")) == false) { WfShowErrorMsg("無此模組+單據性質!"); return(false); } if (e.Value.ToString() == "30" || e.Value.ToString() == "40") { WfSetControlReadonly(ute_bab09, false); WfItemChkForceFocus(ute_bab09); } else { WfSetControlReadonly(ute_bab09, true); } e.Row["bab09"] = ""; e.Row["bab04_c"] = BoAdm.OfGetAzf02(masterModel.bab03, GlobalFn.isNullRet(e.Value, "")); break; case "bab09": //轉應收單別 if (GlobalFn.varIsNull(e.Value)) { return(true); } if (GlobalFn.varIsNull(masterModel.bab04)) { WfShowErrorMsg("請先輸入單據性質!"); return(false); } if (masterModel.bab04 == "30") { if (BoCar.OfChkCacPKValid(e.Value.ToString(), "car", "11") == false) { WfShowErrorMsg("無此單別!"); return(false); } } else if (masterModel.bab04 == "40") { if (BoCar.OfChkCacPKValid(e.Value.ToString(), "car", "21") == false) { WfShowErrorMsg("無此單別!"); return(false); } } break; } } #endregion return(true); } catch (Exception ex) { throw ex; } }