Skip to content

报表机器管理

一、模块概述

1.1 模块简介

报表管理模块是安仕达ERP系统的报表设计、版本管理、权限管控核心功能,实现报表目录管理、新增/复制/修改/删除报表、锁定解锁、版本历史回溯、报表导入导出、模版批量下载、权限校验等全生命周期管理。

模块分为两大视图页面:

  1. 浏览管理页(主页面):报表列表,实现报表的浏览、打印、预览、增删改、加锁、版本查看;
  2. 编辑发布页(子页面):填写报表标题、备注说明,提交审批发布或驳回申请。

1.2 适用人员

  • 普通操作员:选择、预览、打印已发布报表;
  • 报表管理员:新增、修改、导入导出报表,锁定报表防止他人修改;
  • 开发人员:批量导出/导入报表包、下载标准报表模版、管理目录;
  • 超级管理员:目录删除、内部数据库切换、权限分配。

二、界面说明

2.1 入口和主界面

在 编码管理窗口 和 单据窗口 都可用很容易找到报表打印的入口。

编码打印的入口

image.png

单据打印的入口

image.png

我们进入的报表机器管理界面如下

image.png

报表列表(Eh表格)

列表字段说明:

字段说明
ID报表唯一编号 ReportID
报表别名报表显示名称
纸张类型连续纸/自定义大小
锁定是否被用户锁定,锁定后其他用户无法修改
加锁人锁定操作的操作员
修改人员最后编辑人
修改时间最后修改日期
发布审批状态
文件大小报表模板文件体积
报表标题打印时显示的标题文本

顶部工具栏按钮

image.png

按钮对应动作
退出关闭窗口
打印直接打印选中报表
预览打开报表预览窗口
增加报表新建空白报表
修改报表打开报表设计器编辑模板
删除报表逻辑删除(移入回收站)
报表加锁锁定当前报表
报表解锁解除锁定
复制当前报表一键克隆生成复件报表
导入报表从.sll文件导入外部报表
导出报表将报表模板导出为.sll文件
打印历史查看报表历史版本,支持版本回滚
申请模版审批提交报表发布申请

2.2 两种工作模式

报表机器的使用有2种工作模式:

【客户使用模式】

安仕达ERP软件最终客户使用软件下的模式,这模式下只需要下载云端报表直接使用,或者下载云端报表修改后即可。

【内部开发模式】

安仕达软件公司内部开发报表的模式,这个模式下要求客户端电脑同时启动 安仕达内部系统 和 安仕达烘焙ERP系统,安仕达烘焙ERP系统检测到 当前计算机已经登陆了 安仕达内部系统 后,就会认为自己处于 内部开发设计模式。

在这个模式下,当进入报表机器管理窗口的时候,系统会提问

image.png

如果 使用公司内部数据库 的模式,指的是 我们管理和修改的报表,就不是当前ERP使用的数据库里面的报表,而是使用了云端数据库里面的报表。

云端数据库里面的报表 有2种状态:

A 普通报表 ,只能在 内部开发设计模式 下使用;

B 模板报表, 通过检查审批后的报表,可以被全部的烘焙ERP软件用户作为模板来从云端下载。

2.3 编辑发布页面

image.png

  1. 可编辑项:报表标题、报表别名、富文本格式的备注说明;
  2. 审批操作:
  • 申请模版审批:状态变为【申请发表】,等待审核;
  • 撤回申请:状态退回【有修改】;
  • 保存退出:保存备注内容,返回列表页;
  1. 内部开发模式会额外显示审批结果字段,客户正式模式隐藏审批栏,下图是 内部开发模式 下的 报表发表界面。

image.png

下文在介绍具体功能的时候,会具体介绍不同模式下功能的差异。


三、核心功能操作指南

3.1 报表基础操作

3.2.1 新增空白报表

image.png

  1. 在左侧选中目标存放文件夹;
  2. 点击工具栏【增加报表】;
  3. 自动打开报表设计器,绘制报表布局、绑定数据源;

增加空白报表

直接打开一个空白的报表,进入报表设计状态

image.png

向导增加报表

详细操作请阅读《简单式报表向导》

云服务器下载默认模板

模板添加报表

3.2.2 复制报表(克隆复件)

  1. 在列表选中已有报表;
  2. 点击【复制当前报表】;
  3. 系统自动复制整个报表模板,别名自动追加“复件”字样,生成一条全新报表记录;
  4. 复件报表默认解除锁定,可直接编辑。

3.2.3 修改报表模板

  1. 选中目标报表;
  2. 前置校验:
  • 报表未被其他操作员锁定;
  • 当前账号拥有【报表管理-编辑】权限;
  1. 点击【修改报表】,打开报表机器设计器(详见文档《报表机器设计》);
  2. 编辑完成后保存,系统自动生成一条历史版本记录,目的是保留后悔的机会。

3.2.4 锁定与解锁报表

  1. 加锁:选中报表 → 点击【报表加锁】;锁定后其他操作员无法编辑,仅锁定人+超级管理员可以解锁;
  2. 解锁:选中已锁定报表 → 点击【报表解锁】;
  3. 超级管理员可以强制解除任意报表的锁定,普通用户只能解锁自己加锁的报表。

3.2.5 删除报表

  1. 选中报表,点击【删除报表】;
  2. 系统执行逻辑删除,将DeleteFlag标记为True,报表自动移入回收站目录;
  3. 回收站内的报表可恢复,也可由管理员彻底清理。

3.2.6 打印 & 预览

  1. 选中报表,点击【预览】:只渲染页面,不调用打印机;
  2. 选中报表,点击【打印】:直接调出打印对话框输出到打印机;
  3. 双击列表行:可设置默认行为,优先预览或者优先打印;
  4. 打印后自动生成打印快照,可在打印历史中重打当时的打印页面。

3.3 报表导入与导出

3.3.1 单条报表导出(.sll文件)

  1. 选中报表;
  2. 点击【导出报表】;
  3. 选择保存路径,文件格式为*.sll;文件内包含完整的报表模板二进制内容,可跨账套迁移。

3.3.2 单条报表导入

  1. 点击【导入报表】;
  2. 选择外部的.sll报表文件;
  3. 系统读取模板内容,在当前选中文件夹生成新报表记录。

3.3.3 批量导出全部报表包(仅内部开发账号可用)

  1. 菜单【其他操作】→【导出所有报表】;
  2. 保存为*.rps报表压缩包;
  3. 仅安仕达内部开发账号可见该按钮,客户正式账号会自动隐藏。

3.3.4 批量导入标准模版

  1. 点击【下载默认模版】;
  2. 系统自动从远程模版库同步最新标准送货单、对账单等模版;
  3. 对比当前账套已有报表,自动新增缺失的标准报表,不会覆盖客户已修改的自定义报表。

3.4 版本历史管理(回滚操作)

  1. 选中报表 → 点击【打印历史/报表历史】;
  2. 弹窗列出该报表所有保存版本,包含版本号、修改人、修改时间;
  3. 选中某一条历史记录,点击【回滚到此版本】;
  4. 系统先把当前最新版本保存为一条新版本,再用历史模板覆盖当前报表内容,保证修改全程可追溯。

3.5 报表发布审批流程(内部开发模式)

  1. 进入编辑页,填写报表用途、修改说明;
  2. 点击【申请模版审批】,报表状态变为“申请发表”;
  3. 审核人员可驳回申请(状态变为“已驳回”),或审核通过(状态变为“已经发表”);
  4. 只有“已经发表”状态的报表,才会开放给普通业务操作员调用。

四、权限体系说明

4.1 公用权限(全局权限)

在系统权限模块配置【报表管理】下的功能权限:

  1. 增加报表:允许新建、复制报表;
  2. 编辑报表:允许打开设计器修改模板;
  3. 删除报表:允许逻辑删除报表;
  4. 导入报表:允许从外部文件导入模板;
  5. 导出报表:允许导出.sll文件;
  6. 分配报表权限:给不同操作员分配单条报表的查看打印权限。

4.2 数据权限(单条报表细粒度控制)

开启报表数据权限后,可以针对每一张报表单独配置操作员权限:

  • 预览权限;
  • 打印权限;
  • 编辑权限;
    无权限的操作员在列表中看不到该报表,也无法调用打印。

4.3 内部开发账号特殊权限

  1. 切换内部开发数据库,读取官方标准模版库;
  2. 批量导出/导入rps报表包;
  3. 强制解锁被锁定的报表;
  4. 内部库报表禁止普通用户删除,仅指定开发账号可删除。

五、高级功能

5.1 报表拖拽移动文件夹

  1. 在报表列表按住鼠标左键拖动行记录;
  2. 拖动到左侧树形目录的目标文件夹节点上;
  3. 松开鼠标,系统自动执行SQL更新报表的FolderID,完成目录迁移;
  4. 仅超级管理员支持拖拽移动。

5.2 查看报表底层SQL语句

菜单【其他操作】→【显示SQL】,弹窗展示当前报表列表的查询SQL与字段注释,方便技术人员排查数据过滤问题。

5.3 快照重打(历史打印内容复现)

  1. 业务单据打印报表时,系统自动保存当前页面快照;
  2. 在单据界面打开【打印历史】,可以选中历史打印快照,原样复现当时的打印内容,不受后续报表模板修改影响。

5.4 两种运行模式切换

  1. 客户正式模式:仅显示浏览页面,隐藏审批栏,连接本地业务数据库;
  2. 内部开发模式:显示审批发布页面,可切换连接官方开发库,下载标准模版,批量导出报表包;
    程序会自动根据数据库连接自动识别模式,无需手动切换。

六、常见问题与报错处理

  1. 提示“报表被其他用户锁定,无法修改”
    处理方案:
  • 联系加锁操作员解锁;
  • 超级管理员可直接强制解锁;
  • 查看fLockManID字段确认锁定账号。
  1. 没有权限增加报表
    处理方案:检查公用权限【报表管理-增加报表】是否分配给当前角色;内部开发库还要校验开发人员账号白名单。
  2. 导入.sll报表失败
    处理方案:检查文件没有损坏,确认当前账号拥有【导入报表】权限;报表唯一序列号重复时,系统会自动覆盖旧报表。
  3. 目录无法删除
    处理方案:先清空目录内所有报表(移入回收站),非空文件夹禁止直接删除;系统内置根目录永久禁止删除。
  4. 批量下载模版无新增报表
    处理方案:检查网络连通远程模版服务,程序会自动跳过账套内已存在的报表,仅新增缺失的模版。

七、后台技术简要说明(开发维护人员用)

  1. 主窗体单元:Report_Manage_UI.pas,采用PageControl分页管理浏览页与编辑页;
  2. 数据服务层:Report_Srv_DM.pas,封装文件夹ID自增、报表ID生成、目录递归删除、远程模版同步;
  3. 报表核心组件:Report_Commp_DM.pas,封装报表变量注入、打印日志记录、快照保存、临时表自动清理;
  4. 版本机制:每次保存自动写入历史表,Version版本号自动+1;
  5. 二进制存储:报表模板以Blob字段保存在数据库,避免文件分散丢失。

如果你需要,我可以额外补充:
1)配套数据库表结构文档;
2)窗体按钮与代码事件对应清单;
3)管理员权限配置步骤文档。