Appearance
报表机器管理
一、模块概述
1.1 模块简介
报表管理模块是安仕达ERP系统的报表设计、版本管理、权限管控核心功能,实现报表目录管理、新增/复制/修改/删除报表、锁定解锁、版本历史回溯、报表导入导出、模版批量下载、权限校验等全生命周期管理。
模块分为两大视图页面:
- 浏览管理页(主页面):报表列表,实现报表的浏览、打印、预览、增删改、加锁、版本查看;
- 编辑发布页(子页面):填写报表标题、备注说明,提交审批发布或驳回申请。
1.2 适用人员
- 普通操作员:选择、预览、打印已发布报表;
- 报表管理员:新增、修改、导入导出报表,锁定报表防止他人修改;
- 开发人员:批量导出/导入报表包、下载标准报表模版、管理目录;
- 超级管理员:目录删除、内部数据库切换、权限分配。
二、界面说明
2.1 入口和主界面
在 编码管理窗口 和 单据窗口 都可用很容易找到报表打印的入口。
编码打印的入口

单据打印的入口

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

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

| 按钮 | 对应动作 |
|---|---|
| 退出 | 关闭窗口 |
| 打印 | 直接打印选中报表 |
| 预览 | 打开报表预览窗口 |
| 增加报表 | 新建空白报表 |
| 修改报表 | 打开报表设计器编辑模板 |
| 删除报表 | 逻辑删除(移入回收站) |
| 报表加锁 | 锁定当前报表 |
| 报表解锁 | 解除锁定 |
| 复制当前报表 | 一键克隆生成复件报表 |
| 导入报表 | 从.sll文件导入外部报表 |
| 导出报表 | 将报表模板导出为.sll文件 |
| 打印历史 | 查看报表历史版本,支持版本回滚 |
| 申请模版审批 | 提交报表发布申请 |
2.2 两种工作模式
报表机器的使用有2种工作模式:
【客户使用模式】
安仕达ERP软件最终客户使用软件下的模式,这模式下只需要下载云端报表直接使用,或者下载云端报表修改后即可。
【内部开发模式】
安仕达软件公司内部开发报表的模式,这个模式下要求客户端电脑同时启动 安仕达内部系统 和 安仕达烘焙ERP系统,安仕达烘焙ERP系统检测到 当前计算机已经登陆了 安仕达内部系统 后,就会认为自己处于 内部开发设计模式。
在这个模式下,当进入报表机器管理窗口的时候,系统会提问

如果 使用公司内部数据库 的模式,指的是 我们管理和修改的报表,就不是当前ERP使用的数据库里面的报表,而是使用了云端数据库里面的报表。
云端数据库里面的报表 有2种状态:
A 普通报表 ,只能在 内部开发设计模式 下使用;
B 模板报表, 通过检查审批后的报表,可以被全部的烘焙ERP软件用户作为模板来从云端下载。
2.3 编辑发布页面

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

下文在介绍具体功能的时候,会具体介绍不同模式下功能的差异。
三、核心功能操作指南
3.1 报表基础操作
3.2.1 新增空白报表

- 在左侧选中目标存放文件夹;
- 点击工具栏【增加报表】;
- 自动打开报表设计器,绘制报表布局、绑定数据源;
增加空白报表
直接打开一个空白的报表,进入报表设计状态

向导增加报表
详细操作请阅读《简单式报表向导》
云服务器下载默认模板
模板添加报表
3.2.2 复制报表(克隆复件)
- 在列表选中已有报表;
- 点击【复制当前报表】;
- 系统自动复制整个报表模板,别名自动追加“复件”字样,生成一条全新报表记录;
- 复件报表默认解除锁定,可直接编辑。
3.2.3 修改报表模板
- 选中目标报表;
- 前置校验:
- 报表未被其他操作员锁定;
- 当前账号拥有【报表管理-编辑】权限;
- 点击【修改报表】,打开报表机器设计器(详见文档《报表机器设计》);
- 编辑完成后保存,系统自动生成一条历史版本记录,目的是保留后悔的机会。
3.2.4 锁定与解锁报表
- 加锁:选中报表 → 点击【报表加锁】;锁定后其他操作员无法编辑,仅锁定人+超级管理员可以解锁;
- 解锁:选中已锁定报表 → 点击【报表解锁】;
- 超级管理员可以强制解除任意报表的锁定,普通用户只能解锁自己加锁的报表。
3.2.5 删除报表
- 选中报表,点击【删除报表】;
- 系统执行逻辑删除,将
DeleteFlag标记为True,报表自动移入回收站目录; - 回收站内的报表可恢复,也可由管理员彻底清理。
3.2.6 打印 & 预览
- 选中报表,点击【预览】:只渲染页面,不调用打印机;
- 选中报表,点击【打印】:直接调出打印对话框输出到打印机;
- 双击列表行:可设置默认行为,优先预览或者优先打印;
- 打印后自动生成打印快照,可在打印历史中重打当时的打印页面。
3.3 报表导入与导出
3.3.1 单条报表导出(.sll文件)
- 选中报表;
- 点击【导出报表】;
- 选择保存路径,文件格式为
*.sll;文件内包含完整的报表模板二进制内容,可跨账套迁移。
3.3.2 单条报表导入
- 点击【导入报表】;
- 选择外部的.sll报表文件;
- 系统读取模板内容,在当前选中文件夹生成新报表记录。
3.3.3 批量导出全部报表包(仅内部开发账号可用)
- 菜单【其他操作】→【导出所有报表】;
- 保存为
*.rps报表压缩包; - 仅安仕达内部开发账号可见该按钮,客户正式账号会自动隐藏。
3.3.4 批量导入标准模版
- 点击【下载默认模版】;
- 系统自动从远程模版库同步最新标准送货单、对账单等模版;
- 对比当前账套已有报表,自动新增缺失的标准报表,不会覆盖客户已修改的自定义报表。
3.4 版本历史管理(回滚操作)
- 选中报表 → 点击【打印历史/报表历史】;
- 弹窗列出该报表所有保存版本,包含版本号、修改人、修改时间;
- 选中某一条历史记录,点击【回滚到此版本】;
- 系统先把当前最新版本保存为一条新版本,再用历史模板覆盖当前报表内容,保证修改全程可追溯。
3.5 报表发布审批流程(内部开发模式)
- 进入编辑页,填写报表用途、修改说明;
- 点击【申请模版审批】,报表状态变为“申请发表”;
- 审核人员可驳回申请(状态变为“已驳回”),或审核通过(状态变为“已经发表”);
- 只有“已经发表”状态的报表,才会开放给普通业务操作员调用。
四、权限体系说明
4.1 公用权限(全局权限)
在系统权限模块配置【报表管理】下的功能权限:
- 增加报表:允许新建、复制报表;
- 编辑报表:允许打开设计器修改模板;
- 删除报表:允许逻辑删除报表;
- 导入报表:允许从外部文件导入模板;
- 导出报表:允许导出.sll文件;
- 分配报表权限:给不同操作员分配单条报表的查看打印权限。
4.2 数据权限(单条报表细粒度控制)
开启报表数据权限后,可以针对每一张报表单独配置操作员权限:
- 预览权限;
- 打印权限;
- 编辑权限;
无权限的操作员在列表中看不到该报表,也无法调用打印。
4.3 内部开发账号特殊权限
- 切换内部开发数据库,读取官方标准模版库;
- 批量导出/导入rps报表包;
- 强制解锁被锁定的报表;
- 内部库报表禁止普通用户删除,仅指定开发账号可删除。
五、高级功能
5.1 报表拖拽移动文件夹
- 在报表列表按住鼠标左键拖动行记录;
- 拖动到左侧树形目录的目标文件夹节点上;
- 松开鼠标,系统自动执行SQL更新报表的FolderID,完成目录迁移;
- 仅超级管理员支持拖拽移动。
5.2 查看报表底层SQL语句
菜单【其他操作】→【显示SQL】,弹窗展示当前报表列表的查询SQL与字段注释,方便技术人员排查数据过滤问题。
5.3 快照重打(历史打印内容复现)
- 业务单据打印报表时,系统自动保存当前页面快照;
- 在单据界面打开【打印历史】,可以选中历史打印快照,原样复现当时的打印内容,不受后续报表模板修改影响。
5.4 两种运行模式切换
- 客户正式模式:仅显示浏览页面,隐藏审批栏,连接本地业务数据库;
- 内部开发模式:显示审批发布页面,可切换连接官方开发库,下载标准模版,批量导出报表包;
程序会自动根据数据库连接自动识别模式,无需手动切换。
六、常见问题与报错处理
- 提示“报表被其他用户锁定,无法修改”
处理方案:
- 联系加锁操作员解锁;
- 超级管理员可直接强制解锁;
- 查看
fLockManID字段确认锁定账号。
- 没有权限增加报表
处理方案:检查公用权限【报表管理-增加报表】是否分配给当前角色;内部开发库还要校验开发人员账号白名单。 - 导入.sll报表失败
处理方案:检查文件没有损坏,确认当前账号拥有【导入报表】权限;报表唯一序列号重复时,系统会自动覆盖旧报表。 - 目录无法删除
处理方案:先清空目录内所有报表(移入回收站),非空文件夹禁止直接删除;系统内置根目录永久禁止删除。 - 批量下载模版无新增报表
处理方案:检查网络连通远程模版服务,程序会自动跳过账套内已存在的报表,仅新增缺失的模版。
七、后台技术简要说明(开发维护人员用)
- 主窗体单元:
Report_Manage_UI.pas,采用PageControl分页管理浏览页与编辑页; - 数据服务层:
Report_Srv_DM.pas,封装文件夹ID自增、报表ID生成、目录递归删除、远程模版同步; - 报表核心组件:
Report_Commp_DM.pas,封装报表变量注入、打印日志记录、快照保存、临时表自动清理; - 版本机制:每次保存自动写入历史表,Version版本号自动+1;
- 二进制存储:报表模板以Blob字段保存在数据库,避免文件分散丢失。
如果你需要,我可以额外补充:
1)配套数据库表结构文档;
2)窗体按钮与代码事件对应清单;
3)管理员权限配置步骤文档。
