1. 概述
1.1 版本
报表服务器版本 |
---|
11.0 |
1.2 问题描述
在预览一个模板时,出现如下图所示报错信息:
或在做模板过程中,日志出现报错提示:ERROR [standard] 错误代码:11300003 单元格计算死循环 出错对象: [B4, D4]
1.3 原因分析
在预览报错提示页面有关于具体情况的说明,分别如下:
1)如果出错对象只有一个单元格,比如 A1,则说明 A1 所引用的单元格出现了死循环。
2)如果出错对象是两个单元格,比如 [B1, A1],则说明 A1 和 B1 的左父格或者上父格设置出现了死循环。
3)如果出错对象是一个单元格,但用中括号标记出来了,比如 [A1] ,则说明 A1 的左父格或者上父格引用了自身。
2. 解决方案
分析检查下报错信息中相关的单元格,看其左、上父格的设置是否存在矛盾的地方。
例如:用设计器内置的 GettingStarted 模板示例,在单元格设置了错误的父格时,预览模板出现提示:错误代码:11300003 单元格计算死循环 出错对象: [B4, D4]
其对应的情况是 1.3 节的第 2)种情况,那么我们需要查看 B4 和 D4 单元格。
B4 单元格
D4 单元格
从上面两张图中可以看出 B4 单元格的左父格为 D4 单元格,而 D4 单元格的左父格为默认,这里双击 D4 单元格,可以看到默认的左父格其实为 B4 单元格。如下图所示:
故 B4 单元格的左父格为 D4 而 D4 单元格的左父格均却为 B4,就互相矛盾导致出现了逻辑错误。
观察整个表格,B4 单元格应跟随 A4 单元格扩展,故 B4 单元格的左父格应为 A4 单元格,那么这里将 B4 单元格左父格修改为「默认」或 A4,就不会出现死循环的问题了。