Example #1
0
        //回傳值 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;
            }
        }