Exemplo n.º 1
0
        //回傳值 true.通過驗證 false.未通過驗證,會把值還原
        protected override bool WfItemCheck(object sender, ItemCheckInfo e)
        {
            int        iChkCnts    = 0;
            vw_cari030 masterModel = null;
            gba_tb     gbaModel    = null;

            try
            {
                masterModel = DrMaster.ToItem <vw_cari030>();

                #region 單頭 vw_cart100
                if (e.Row.Table.Prefix.ToLower() == "vw_cari030")
                {
                    switch (e.Column.ToLower())
                    {
                    case "cba01":
                        if (GlobalFn.isNullRet(e.Value, "") == "")
                        {
                            return(true);
                        }
                        if (FormEditMode == YREditType.新增)
                        {
                            if (BoCar.OfChkCbaPKExists(masterModel.cba01) == true)
                            {
                                WfShowErrorMsg("此科目分類碼已存在,請檢查!");
                                return(false);
                            }
                        }
                        break;

                    case "cba03":    //應收帳款
                        if (GlobalFn.isNullRet(e.Value, "") == "")
                        {
                            return(true);
                        }
                        gbaModel = BoGla.OfGetGbaModel(e.Value.ToString());
                        if (gbaModel == null)
                        {
                            WfShowErrorMsg("無此會計科目,請檢核!");
                            return(false);
                        }
                        if (gbaModel.gbavali != "Y")
                        {
                            WfShowErrorMsg("此會計科目已失效,請檢核!");
                            return(false);
                        }
                        if (gbaModel.gba06 != "2" && gbaModel.gba06 != "3")
                        {
                            WfShowErrorMsg("會計科目非明細或獨立科目,請檢核!");
                            return(false);
                        }
                        break;

                    case "cba04":    //銷貨收入
                        if (GlobalFn.isNullRet(e.Value, "") == "")
                        {
                            return(true);
                        }
                        gbaModel = BoGla.OfGetGbaModel(e.Value.ToString());
                        if (gbaModel == null)
                        {
                            WfShowErrorMsg("無此會計科目,請檢核!");
                            return(false);
                        }
                        if (gbaModel.gbavali != "Y")
                        {
                            WfShowErrorMsg("此會計科目已失效,請檢核!");
                            return(false);
                        }
                        if (gbaModel.gba06 != "2" && gbaModel.gba06 != "3")
                        {
                            WfShowErrorMsg("會計科目非明細或獨立科目,請檢核!");
                            return(false);
                        }
                        break;

                    case "cba05":    //銷項稅額
                        if (GlobalFn.isNullRet(e.Value, "") == "")
                        {
                            return(true);
                        }
                        gbaModel = BoGla.OfGetGbaModel(e.Value.ToString());
                        if (gbaModel == null)
                        {
                            WfShowErrorMsg("無此會計科目,請檢核!");
                            return(false);
                        }
                        if (gbaModel.gbavali != "Y")
                        {
                            WfShowErrorMsg("此會計科目已失效,請檢核!");
                            return(false);
                        }
                        if (gbaModel.gba06 != "2" && gbaModel.gba06 != "3")
                        {
                            WfShowErrorMsg("會計科目非明細或獨立科目,請檢核!");
                            return(false);
                        }
                        break;
                    }
                }
                #endregion

                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }