动态罗列表如何实现必填项校验概述本文档介绍了如何在动态罗列表中校验罗列区域内的某个单元格必填读者对象本手册适用于金蝶合并报表测试、开发、实施人员。适用产品版本EASv8.2及以上版本目录1应用场景.......................................................................................................................12实现思路.......................................................................................................................13实现过程.......................................................................................................................13.1动态罗列表模板设置.......................................................................................................................................13.2模板检查方案设置...........................................................................................................................................24实现效果.......................................................................................................................31应用场景动态罗列表希望可以实现“一旦用户填写罗列项后,则该行的其他金额字段必须填写数值,不允许为空,如果必填项没有填写,则不允许审批或上报”。例:如下图报表,实现在罗列区域内,A列输入内容后,同一行的B、C列单元格必填;2实现思路控制报表不允许审批和上报一定是通过报表检查方案或者设置勾稽关系实现;但是由于动态罗列表中的罗列区域是动态变化的,因此无法直接在报表检查方案中指定某个单元格必填做检查,因此需要能将动态变化的检查结果输出到固定单元格,然后在检查方案中设置该固定单元格;3实现过程3.1动态罗列表模板设置修改原动态罗列表模板,在客户需要的项目之外,额外增加两列:注意:新增的两列需要通过向导增加报表项目,不能在报表中直接加1.一列文本型(如下图E列),用于检查每一行的必填项,公式样式=IF(IF(NOT(ISBLANK(A4)),AND(NOT(ISBLANK(B4)),NOT(ISBLANK(C4))),True),"","罗列项"+A4+"原值、折旧期间、剩余折旧期间存在为空内容,请检查")目前该公式实现的效果,两种情况下认为检查通过,不予提示:1.A4、B4、C4都不为空,不予提示;2.A4为空,不管B4和C4是否为空、不予提示;2.一列数值型(如下图F列),用于检查当前表页的必填项,依赖E列,每行设置公式=IF(E4="",0,1),最后将合计汇总到列头固定(如F3单元格中)该公式实现的效果:当E列没有提示信息,则返回0,否则返回1,最后将结果合计到列头中,如果这个合计不等于0,则说明该区域存在检查不通过的行;这个合计单元格用于设置报表检查方案3.2模板检查方案设置通过上面的合计单元格(如上图F3单元格)设置检查条件,如下图:补充说明:1.图中F列存在的作用就是为设置检查方案,因此该列在报表中可隐藏;2.在检查方案中“提示信息”需要将不通过的原因描述清楚,便于用户了解为什么检查不通过;4实现效果上述模板新建报表填写罗列项计算后,单元格会给出提示信息;报表审批或提交时触发报表检查,提示检查不通过: