方式一:在元数据中配置穿透超链接

此方式支持直接在元数据配置中进行穿透超链接添加,不受excel或WPS本身超链接特性的影响,也不需要对URL进行转码,较为快捷方便

1、在excel模板中,找到需要设置穿透的单元格,右键-编辑超链接,编辑超链接meta.key,图中示例的key为D5

2、模板编辑完成后,在报表高级设置中配置

    "meta_hyper_link_context": {
        "key": "想跳转的超链接"
    }

例如:

报表穿透配置为弹窗

还是原来的超链接配置方式:
比如http://emp_list/model=EmployeeAll&page_size=20&page_index=1&tree_id=13613154&effect_date=2021-08-11&advance_filter_dict=%7badvance_filter_dict%7d
如果要配置为弹窗的话:

场景改为model_list_dialog即可
http://model_list_dialog/?model=Employee&key1=value1&key2=value2


方式二:原来的配置方式报表穿透


养成读文档的好习惯,是提升自己的最佳途径!

文档更新有时候不及时,文档或有遗漏!
各位查看文档有写的不清楚,不明白,遗漏的地方,请在下面直接备注,方便修改文档及帮助后来的老师理解文档。

谢谢合作!


1.穿透分类

类别

url的state

表穿透到另外一张表flex_report
表穿透到另外的页面(非表)不定(非flex_report)

2.穿透设置(excel超链接)

提供2016版本的EXCEL下载   excel2016 

数据穿透的实质:从当前页面点击数字或其他跳转到其他页面(所以穿透时需要知道穿透界面的url链接,不知道一定会失败

必看特殊注意事项!:

       url转码地址: url转码

  1. 特殊字符要替换:
    1. 比如@符号改为 %40
    2. 也可采用编码的方式
      1. 先全部解码,使链接中没有%40这种url字符(俗称百分号编码)
      2. 再进行编码(不可编码后二次编码,可以在转码链接点两下编码体验一下二次编码有什么结果~
  2. 因为第三步的替换可能出现 {} 嵌套的情况,导致超链接设置不成功,可以对url进行编码(步骤依然是:先解码-再编码,别多点了~
  3. 界面的state是 common_model_view/multi时,要改成 common_model_view_multi。(将/替换为_)

多选类型参数动态替换

假设 selected_emps是我们报表的一个过滤器key

想做如下超链接动态设置:http://flex_report?report=employee_analysis?filter=emps:{selected_emps}

    emps改为:emps:{selected_emps} => emps:%7bselected_emps%7d

    将{和}替换即可

    替换后:http://flex_report?report=employee_analysis?filter=emps:%7bselected_emps%7d

对于无法保存的超长链接处理技巧:

    在分析报表的meta_info中自定义,如下所示:

如此,在超链接中即可使用{link1}来代替长文本,用advance_xxxx来代替嵌套字典

除了要求外层必须取名叫meta_hyper_link_context以外
里面的键不限制取名,但是建议不要和正常上下文冲突。


3.参数的传递(重点)

报表穿透的url链接中,通常情况下都是有参数传递的。

可传递参数的分类:

固定的参数,例如:跳转到查询人员界面,固定查是正式员工的员工,就在url中直接写死是正式员工即可,这种类型不需要花括号包裹,因为没有做数据替换

报表选择器的参数,例如:有个选择器是组织选择器,跳转到查询人员界面,过滤是这个组织的人,用选择器的key代替filter_dict中组织id,这里直接用{CURRENT_DEPARTMENT}代替组织id即可

块数据中的参数,例如:这类型的参数有且只能在数据块的行中使用。如要传递 部门id就在url中写 {position.parent.id},人员id就写 {id} 

需要公式计算的参数, 这种需要在meta_hyper_link_context内设置一个inner_context并定义一个新的变量来接收公式,然后在对应的超链接里面通过{变量名}传参

例:根据行中月份取上年末日期

{
"meta_hyper_link_context": {
    "inner_context": {
        "last_year_day": "=YEAR_END(month_=D_S({month}, -1))"
    },
        "A2": "http://common_model_list?model=test_log&filter_dict={}&page_index=1&page_size=20&advance_filter_dict={'date_field':{'eq':'{last_year_day}'}}"
    }
}


特别注意:有这样的场景,穿透的界面要一个 数值型字符串('12345'),得到的数据是数值(12345) ,url链接中要这样写 '{num}',传字符串和穿透界面保持一致
报表定义示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37

{
    "data": [{
        "key": "emp_list",
        "source": "EMP_LIST()"
    }],
    "filter": [{
        "key": "CURRENT_DEPARTMENT",
        "role": "cm-org-emp.emp",
        "label": "组织",
        "state": null,
        "options": {
            "readOnly": false,
            "required": true,
            "data_type": "integer",
            "singleLine": true,
            "placeholder": "多组织选择器",
            "returnFormat": "object",
            "selectorType": 2,
            "selectorModel": "OrgDepartment",
            "data_precision": null
        },
        "component": "hc-tree-list-selector"
    }, {
        "key": "CURRENT_MONTH",
        "label": "月份",
        "options": {
            "format": "yyyy-MM",
            "default": true,
            "required": true,
            "inputLock": true,
            "singleLine": true
        },
        "component": "hc-input-datetime"
    }],
    "paging": true,
    "immediately": true
}


块数据返回值(有删减)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244

{
  "emp_list": [
    {
      "id": 1768087,
      "name": "区佩娟",
      "gender": "女",
      "native_place": "广东省广州市",
      "married": "已婚",
      "nation": "汉族",
      "identity_card": "440111196601150025",
      "age_count": 54,
      "working_years_count": 34,
      "service_length": 33,
      "position": {
        "id": 13753912,
        "name": "出纳",
        "parent": {
          "id": 13753381,
          "name": "工会"
        }
      }
    },
    {
      "id": 1768082,
      "name": "吴家栋",
      "gender": "男",
      "native_place": null,
      "married": "已婚",
      "nation": "汉族",
      "identity_card": "440105197809214814",
      "age_count": 41,
      "working_years_count": 22,
      "service_length": 22,
      "position": {
        "id": 13753917,
        "name": "施工管理员",
        "parent": {
          "id": 13753381,
          "name": "工会"
        }
      }
    },
    {
      "id": 1768085,
      "name": "谭振东",
      "gender": "男",
      "native_place": "广东省江门市",
      "married": "已婚",
      "nation": "汉族",
      "identity_card": "44010219690927401X",
      "age_count": 50,
      "working_years_count": 29,
      "service_length": 29,
      "position": {
        "id": 13753917,
        "name": "施工管理员",
        "parent": {
          "id": 13753381,
          "name": "工会"
        }
      }
    },
    {
      "id": 1767912,
      "name": "张聆",
      "gender": "女",
      "native_place": "广东省广州市",
      "married": "已婚",
      "nation": "汉族",
      "identity_card": "440106197110231844",
      "age_count": 48,
      "working_years_count": 30,
      "service_length": 30,
      "position": {
        "id": 13753892,
        "name": "劳动保护兼女工干事",
        "parent": {
          "id": 13753381,
          "name": "工会"
        }
      }
    },
    {
      "id": 1767910,
      "name": "张颖",
      "gender": "女",
      "native_place": "广东省茂名市",
      "married": "已婚",
      "nation": "汉族",
      "identity_card": "440105198301302121",
      "age_count": 37,
      "working_years_count": 18,
      "service_length": 18,
      "position": {
        "id": 13753887,
        "name": "文体宣传干事",
        "parent": {
          "id": 13753381,
          "name": "工会"
        }
      }
    },
    {
      "id": 1768083,
      "name": "曾洁仪",
      "gender": "女",
      "native_place": "广东省广州市",
      "married": "已婚",
      "nation": "汉族",
      "identity_card": "440103197012205125",
      "age_count": 49,
      "working_years_count": 28,
      "service_length": 28,
      "position": {
        "id": 13753907,
        "name": "会计文员",
        "parent": {
          "id": 13753381,
          "name": "工会"
        }
      }
    },
    {
      "id": 1767913,
      "name": "沈智宏",
      "gender": "男",
      "native_place": "广东省广州市",
      "married": "已婚",
      "nation": "汉族",
      "identity_card": "440103198109105133",
      "age_count": 38,
      "working_years_count": 15,
      "service_length": 15,
      "position": {
        "id": 13753897,
        "name": "安全监督兼劳动竞赛管理员",
        "parent": {
          "id": 13753381,
          "name": "工会"
        }
      }
    },
    {
      "id": 1767909,
      "name": "林蓉丽",
      "gender": "女",
      "native_place": "四川省",
      "married": "已婚",
      "nation": "汉族",
      "identity_card": "512930197308270260",
      "age_count": 46,
      "working_years_count": 23,
      "service_length": 19,
      "position": {
        "id": 13753867,
        "name": "工会副主席",
        "parent": {
          "id": 13753381,
          "name": "工会"
        }
      }
    },
    {
      "id": 1768086,
      "name": "曲楚庭",
      "gender": "男",
      "native_place": "河南省",
      "married": "已婚",
      "nation": "汉族",
      "identity_card": "440103198112235131",
      "age_count": 38,
      "working_years_count": 17,
      "service_length": 17,
      "position": {
        "id": 13753922,
        "name": "司机兼报装员",
        "parent": {
          "id": 13753381,
          "name": "工会"
        }
      }
    },
    {
      "id": 1768084,
      "name": "余健雄",
      "gender": "男",
      "native_place": null,
      "married": "已婚",
      "nation": "汉族",
      "identity_card": "440103196709085114",
      "age_count": 52,
      "working_years_count": 35,
      "service_length": 35,
      "position": {
        "id": 13753917,
        "name": "施工管理员",
        "parent": {
          "id": 13753381,
          "name": "工会"
        }
      }
    },
    {
      "id": 1767911,
      "name": "李林志",
      "gender": "男",
      "native_place": null,
      "married": "已婚",
      "nation": "汉族",
      "identity_card": "440102197507201410",
      "age_count": 44,
      "working_years_count": 13,
      "service_length": 13,
      "position": {
        "id": 13753902,
        "name": "司机",
        "parent": {
          "id": 13753381,
          "name": "工会"
        }
      }
    },
    {
      "id": 1767914,
      "name": "伍凌云",
      "gender": "女",
      "native_place": "江西省吉安市",
      "married": "未婚",
      "nation": "汉族",
      "identity_card": "36242219931012432X",
      "age_count": 26,
      "working_years_count": 0,
      "service_length": 0,
      "position": {
        "id": 13753877,
        "name": "组织干事及文书档案员",
        "parent": {
          "id": 13753381,
          "name": "工会"
        }
      }
    }
  ]
}

4.被穿透报表相关设置

  • 被穿透报表自动计算需加入参数
    • immediately: true
    • auto_recalc_time: 300
  • auto_recalc_time参数:
    • 单位:秒
    • 默认自动重算时间:7 * 24 * 3600 (超过一周打开自动重算)

5. 穿透配置打开新标签页

{
  "configs": {
    "hyper_link_config": {
      "open_new_page": true
    }
  }
}


  • 无标签