# 扩展行校验及自动计算 ## 报表设计界面:  ## 报表展现界面:  ## 校验规则: 列1=列2+列3+列4+列5 列1=列6+列11+列16 列2=列7+列12+列17 列3=列8+列13+列18 列4=列9+列14+列19 列5=列10+列15+列20 列6=列7+列8+列9+列10 列11=列12+列13+列14+列15 列16=列17+列18+列19+列20 行01=行02+行03+行04 行01=行06+行10+行11+行12+行13+行14+行15+行16 行06=行07+行08+行09 行02>=行07 行03>=行08 行04>=行09 ## 需求描述: 在现有报表模板的基础上 希望按照提供的校验规则,实现数据的校验和自动计算功能,完成数据的填报录入工作。 ## 痛点: 数据扩展行中 针对扩展出来的不同数据行 有不同的校验和计算规则 ,现状是扩展数据行只能设置一个统一的计算计算或者校验规则 ,不能根据 扩展出的特定行 设置校验或者自动计算规则。 ## 解决方案: 使用系统中jlcase()函数获取特定标识的数据行,然后根据获取到的数据行列来设置 特定的校验和自动计算规则。 详细了解jlcase()函数使用说明方法可参考:[jlcase() 函数使用说明]($document-book-help.html?docID=sjjc-1ch6qdg1c505k "jlcase() 函数使用说明")。 ## 实现效果设置方法 ### 情景一 **校验规则 :** 列1=列2+列3+列4+列5 **解 读:**第1列=第2列+第3列+第4列+第5列  **解决方法 :**设置校验规则 ${D9}==${E9}+${F9}+${G9}+${H9}  ### 情景二 **校验规则:**行01=行02+行03+行04 **解读:**第1行=第2行+第3行+第4行  **解决方法 :** 先设置自动计算然后设置校验 自动计算:jlcase(J9[C9==01][],J9[+1][]+J9[+2][]+J9[+3][])  校验:jlcase(J9[C9==01][],if(J9[][]==J9[+1][]+J9[+2][]+J9[+3][],true,false))  ### 情景三 **校验规则:**行06=行07+行08+行09 **解读:**第6行=第7行+第8行+第9行 **解决方法 :** 由于行为扩展行,扩展行中不同的行 有不同的计算规则,利用jlcase()函数支持多组运算的功能 ,实现方法如下: 自动计算:jlcase(J9[C9==01][],J9[+1][]+J9[+2][]+J9[+3][];J9[C9==06][],J9[+1][]+J9[+2][]+J9[+3][])  校验:jlcase(J9[C9==06][],if(J9[][]==J9[+1][]+J9[+2][]+J9[+3][],true,false)) ### 情景四 **校验规则:**行02>=07 **解读:**第2行>=第7行 **解决方法 :** 校验:jlcase(J9[C9==02][],if(J9[][]>=J9[+5][],true,false)) 
以上内容对您是否有帮助?