金蝶EAS,编辑界面EditUI必录校验,业务校验,单据头及分录必输校验

来源:互联网 发布:苹果电脑编写代码软件 编辑:程序博客网 时间:2024/06/05 16:54

业务单据、基础资料,在编辑界面EditUI中进行必录校验时,可以直接从界面绑定的数据对象editData中获取值,无需通过界面控件取值。

对于单据头中的属性值,通过editData可以直接通过get方法获取到属性值。对于分录中的数据,可以先获取分录集合,然后遍历分录集合,进行非空校验。

在暂存、保存、提交时,框架会自动调用verifyInput必录校验方法。此时,界面控件中的值已经封装到界面对象中,因此无需直接从控件中取值。

/** * 必录校验 */protected void verifyInput(ActionEvent e) throws Exception {VerifyUtil.input(this, editData.getNumber(), "报表编码不能为空!");VerifyUtil.input(this, editData.getName(), "报表名称不能为空!");VerifyUtil.input(this, editData.getTitle(), "标题分录(取数类型)不能为空!");VerifyUtil.input(this, editData.getItem(), "项目分录(报表项目)不能为空!");isExistsNumber(); //编码是否存在ReportTitleCollection titles = editData.getTitle();for(int i = 0; i < titles.size(); i++){ReportTitleInfo title = titles.get(i);VerifyUtil.input(this, title.getTypeName(), "取数类型分录第" + (i + 1) + "行名称不能为空!");VerifyUtil.input(this, title.getColumnNo(), "取数类型分录第" + (i + 1) + "行列号不能为空!");if(VerifyUtil.isNull(title.getType()) && title.isIsValid()){Utils.warning(this, "取数类型分录第" + (i + 1) + "行,取数类型为空时,无法参与取数!");}}ReportItemCollection items = editData.getItem();for(int i = 0; i < items.size(); i++){ReportItemInfo item = items.get(i);VerifyUtil.input(this, item.getItemName(), "报表项目分录第" + (i + 1) + "行名称不能为空!");VerifyUtil.input(this, item.getRowNo(), "报表项目分录第" + (i + 1) + "行行号不能为空!");VerifyUtil.input(this, item.getColumnNo(), "报表项目分录第" + (i + 1) + "行列号不能为空!");if(VerifyUtil.isNull(item.getItem()) && item.isIsValid()){Utils.warning(this, "报表项目分录第" + (i + 1) + "行,报表项目为空时,无法参与取数!");}}}


必录校验常用代码片段:

/** * 必录校验,用于前端输入检查 * 参数为空时弹出警告信息并中断程序 * @param comp 父控件 * @param param 参数 * @param warning 警告信息 * @author 郭旭 *  */public static void input(Component comp, String param, String warning){if(param == null || param.trim().length() == 0){MsgBox.showWarning(comp, warning);SysUtil.abort();}}/** * 必录校验,用于前端输入检查 * 参数为空时弹出警告信息并中断程序 * @param comp 父控件 * @param param 参数 * @param warning 警告信息 * @author 郭旭 *  */public static void input(Component comp, Integer param, String warning){if(param == null){MsgBox.showWarning(comp, warning);SysUtil.abort();}}/** * 必录校验,用于前端输入检查 * 参数为空时弹出警告信息并中断程序 * @param comp 父控件 * @param param 参数 * @param warning 警告信息 * @author 郭旭 *  */public static void input(Component comp, Object param, String warning){if(param == null){MsgBox.showWarning(comp, warning);SysUtil.abort();}}/** * 必录校验,用于前端输入检查 * 参数为空时弹出警告信息并中断程序 * @param comp 父控件 * @param param 参数 * @param warning 警告信息 * @author 郭旭 *  */public static void input(Component comp, CoreBaseInfo param, String warning){if(param == null){MsgBox.showWarning(comp, warning);SysUtil.abort();}}/** * 必录校验,用于前端输入检查 * 参数为空时弹出警告信息并中断程序 * @param comp 父控件 * @param param 参数 * @param warning 警告信息 * @author 郭旭 *  */public static void input(Component comp, IObjectCollection param, String warning){if(param == null || param.isEmpty()){MsgBox.showWarning(comp, warning);SysUtil.abort();}}


弹出警告消息并中断程序:

/** * 警告并中断程序,用于前端 * @param comp 父控件 * @param msg 警告消息 *  */public static void warning(Component comp, String msg){MsgBox.showWarning(comp, msg);abort();}/** * 警告并中断程序,用于前端 * @param comp 父控件 * @param msg 警告消息 *  */public static void warning(Component comp, StringBuffer msg){MsgBox.showWarning(comp, msg.toString());abort();}




原创粉丝点击