九、常见问题
9.1 点打印没弹模板选择框?
正常。只有该单据类型存在多个启用模板时才弹窗;单个模板直接进预览,无模板直接出兜底版式。想要每次都能选,多建几套模板即可。
9.2 预览页是「内置通用版式」?
说明该 billType 当前没有任何启用的模板,系统用了自动兜底版式(单头前 24 字段两列 + 明细全列 + 合计签字)。到模板管理页为它建一套模板即可获得正式版式。
9.3 设计器预览区空白 / 提示无样例数据?
设计器预览依赖 sample-data 接口(取该类型最新一张单据)。该类型还没有任何单据时无数据可显——先去业务模块录一张单,回设计器点【刷新预览数据】。版式配置本身不受影响,可先配后验。
9.4 变量不替换 / 显示空白?
按顺序排查:
- 占位符拼写与变量面板的 key 完全一致(区分大小写);
- 单头用
{{bill.xxx}},明细行内用{{this.xxx}}——用反了取不到值; - 变量是否属于当前 billType(不同单据变量清单不同,切换类型后要重新对照面板);
{{#each items}}...{{/each}}是否闭合、是否包住了<tr>;- simple 模式检查字段是否勾选、是否被改名后仍指向正确 var。
9.5 打印出来内容错位 / 分页异常?
- 浏览器打印对话框:页边距设「默认」或「无」、缩放 100%、关闭「页眉页脚」;
- 不要在打印对话框里改纸张(模板已通过
@page指定); - 自定义纸张需打印机驱动支持(部分驱动要在系统里先建同名自定义纸张);
- 明细行很多时优先 A4 + 空行补齐,而不是小票纸。
9.6 模板改了但打印还是老版式?
- 模板是否保存成功(设计器右上角【保存模板】);
- 模板是否被停用(停用模板不参与打印);
- 打印的是不是默认模板:多模板时优先默认,检查「设默认」标记;
- 预览页顶部的模板下拉是否选对了模板。
9.7 圆孔纸预览有圆点,打印出来也有?
圆点孔位标记仅预览显示,打印时自动隐藏(@media print)。如果仍出现,检查是否浏览器开了「打印背景图形」且模板被改过——保持模板内置结构即可。
9.8 想给不同公司打不同抬头?
- 方案一(推荐):HTML 模板抬头用
{{system.tenantName}},自动按登录租户显示; - 方案二:各租户分别建模板(模板按租户隔离,互不影响)。
9.9 「设默认」点了没生效?
默认模板同 billType 内唯一:设新默认会自动取消旧默认。刷新列表页查看「默认」列标记。若两套模板都显示默认,属于历史数据,重新点一次「设默认」即可纠正。
9.10 模板管理菜单看不到?
权限问题:系统管理 → 角色管理 → 给当前角色勾选「自定义打印」目录 + 菜单 + 所需按钮权限(infra:print-template:query/create/update/delete),重新登录生效。
9.11 接口 403?
模板管理类接口(create/update/delete/set-default/copy)需要对应按钮权限;打印取数接口(/infra/print/data、sample-data、variables、bill-types、list-by-bill-type)登录即可。403 多半是没勾按钮权限或角色未生效。
9.12 保存模板报「模板编码已存在」?
模板编码同单据类型内唯一。使用【复制】功能生成的模板编码自动为 tpl_ + 8 位 UUID,不会冲突;手工传入编码重复时改一个即可。
9.13 删除了默认模板会怎样?
该类型回落到「下一个启用模板」,若无任何模板则打印时用兜底版式,不会报错。重要模板建议先【复制】备份或停用而不删除。
9.14 和流程审批单打印(BPM)是一回事吗?
不是。BPM 流程详情页的打印是独立的「审批单打印」,模板配在流程模型上(含审批记录签字图);本手册的打印中心管理的是业务单据套打(31 种 billType)。入口区分:跳 /print/preview 新窗口 = 打印中心。
