本帖最后由 Bella.Yuan 于 2023-1-5 19:03 编辑
众所周知,财务中的会计科目具有严格的勾稽关系,在报表统计查询时,需要按照树形结构来展示和选择,展示的时候也有严格的层级结构。
本文重点介绍树形结构数据在报表中的典型应用场景。
1、下拉树形结构
树形列表控件用于创建多层树形列表的参数选择面板,该控件构建树形列表时要求用于构建树形列表的字典数据具有明显的父子关系。在Wyn Enterprise中,提供了三种构建模式:两个字段递归、多个字段递归、单字段递归。
具体使用文档请参考:https://help.grapecity.com.cn/pages/viewpage.action?pageId=50017240
1、1单字段构建会计科目多维下拉
效果图:
单字段构建对应的数据结构:直接读取原始的会计科目表或者会计科目维度表,科目编号列具有递归关系。
该结构数据采用单字段构建方法,只需要给参数配置 科目编号字段即可自动递归。
单字段构建设置:
1、2多字段构建会计科目多维下拉
效果图:
多字段构建的数据结构:各级科目分别在不同的列,通过配置多列构建递归关系。
多字段构建设置:
2、树形结构报表
在报表统计展示时,财务三大报表有严格的格式要求,特别是科目的缩进展示和科目间的计算。财务三大报表资产负债表、利润表、现金流量表表均有科目层级缩进和计算的需求。
在Wyn Enterprise新版本当中,对矩表向导进行了增强,通过简单配置,可以快速构建树形报表结构。
实现步骤:
1、原始数据结构
2、将原始数据结构转换为多列层级数据。
示例脚本:
select * from (
/*获取三、四级科目关系*/
select tmp4.*,t4.科目编号 as 四级编号,t4.科目名称 as 四级科目名称 from (
/*获取二、三级科目关系*/
select * from (
select tmp2.*,t3.科目编号 as 三级编号,t3.科目名称 as 三级科目名称 from (
select * from (
/*获取一、二级科目关系*/
select t1.科目编号 as 一级编号,t1.科目名称 as 一级科目名称,t2.科目编号 as 二级编号,t2.科目名称 as 二级科目名称 from 科目表 t1
right join 科目表 t2 on t1.科目编号=LEFT(t2.科目编号,3)
) tmp1 where 一级编号<>二级编号
) tmp2
right join 科目表 t3 on tmp2.二级编号=LEFT(t3.科目编号,6)
) tmp3 where 一级编号 is not null
and 二级编号 is not null
and 二级编号<>三级编号
) tmp4
right join 科目表 t4 on tmp4.三级编号=LEFT(t4.科目编号,9)
) tmp5
where 三级编号 is not null
3、利用矩表设计报表,进行数据绑定和树形结构设置。
按照维度层级绑定数据,在布局选项中开启树形表格布局。
|
|