Appearance
单据引用设置
文档基础信息
- 功能路径:

- 功能定位:统一配置单据之间上下游引用关联规则,管控下游单据可关联哪些上游来源单据,同时配置数量超额校验、引用有效性、启用开关,控制采购、入库、付款、退货等单据间引用联动、数量扣减、单据自动关闭逻辑。
一、功能概述
1.1 设计核心目的
ERP业务单据存在强上下游关联(采购订单→进货单→进货冲红单→付款单),系统需要一套统一规则管控单据引用行为,解决4大业务痛点:
- 限定可引用上游单据范围
控制目标单据(下游)只能选择指定来源单据(上游),屏蔽无关单据,防止操作员选错上游源头,保证业务链路规范。例如:进货单仅允许引用采购订单,不能直接引用销售单、调拨单。 - 控制引用数量,杜绝超额冲抵
支持两层超额校验开关,防止下游单据引用数量超过上游单据剩余未完成数量:
- 普通不超额:单据保存时校验,超额直接报错;
- 强制不超额:全局强制拦截,无法超额录入。
- 区分有效/无效引用链路
无效引用链路不参与上游完成数量扣减、单据自动关闭逻辑;适用于临时调账、不计入履约进度的关联场景。 - 自动履约扣减与单据闭环
下游单据引用上游明细后,系统自动累加上游单据「已完成数量」;当上游单据全部明细引用完毕,自动将上游单据置为已关闭状态,无需人工手动关闭。
1.2 核心业务场景举例
- 采购订单(上游来源)→ 进货单(下游目标)
配置启用引用、强制不超额,进货引用数量不能超过采购订单未进货数量,进货后自动扣减采购未完成量,全部进货完毕采购单自动关闭。 - 进货单 → 采购退货单
配置普通不超额,退货数量不能大于已进货数量。 - 采购订单 → 临时调账单(无效引用)
标记为无效引用,调账引用不扣减采购单完成数量,采购单不会因调账自动关闭。
1.3 适用人员
总部系统管理员、财务主管(需分配单据引用设置专属权限)
二、界面整体布局说明

界面分为三大区域:
- 左侧单据树形导航区
展示系统所有业务单据大类,点击单据节点,右侧表格自动筛选以该单据为【目标下游单据】 的全部引用规则。 - 右侧主表格区
展示当前选中目标单据的所有引用配置条目,每条代表一组「上游来源单据→下游目标单据」引用关系,字段包含:
| 表格字段 | 业务含义 |
|---|---|
| 来源单据名称 | 上游可被引用的单据类型(fsTypeName) |
| 目标单据名称 | 当前选中的下游单据类型(fdTypeName) |
| 是否启用(fIsUses) | 勾选则下游单据允许选择该上游来源;取消勾选直接屏蔽该来源单据 |
| 不超额提取(fNoExcess) | 普通超额校验:保存单据时校验,引用量不可超上游剩余量 |
| 强制不超额提取(fForceNoExcess) | 全局强制拦截,无视其他配置,绝对禁止超额引用 |
| 无效引用(fInvalidateRef) | 勾选后,该引用不扣减上游完成数量、不参与单据自动关闭 |
- 底部提示面板
当选中单据无任何引用规则时自动显示提示文字,告知管理员需要新增引用关系。 - 顶部功能按钮
【确定】:保存所有修改的引用配置到数据库;【退出】:放弃修改关闭窗口。
三、基础操作流程
3.1 查看指定单据的引用规则
- 打开「单据引用设置」功能窗口;
- 在左侧树形列表点击需要配置的下游目标单据(如进货单);
- 右侧表格自动过滤,只展示所有以该单据为目标的引用配置;
- 若无数据,底部提示面板显示空白提示,代表该单据暂无可引用上游来源。
3.2 修改引用规则配置
- 选中左侧目标单据,在右侧表格找到需要调整的引用条目;
- 直接勾选/取消对应复选框,支持同时修改多条规则;
- 是否启用:控制下游单据能否调取该上游单据;
- 不超额提取:常规数量管控;
- 强制不超额提取:最高优先级数量拦截;
- 无效引用:控制是否参与履约数量扣减;
- 全部修改完成后,点击【确定】按钮;
- 系统自动同步配置至数据库,所有新制单据立即生效;历史已保存单据不受配置变更影响。
点击【退出】按钮,窗口直接关闭,本次所有勾选修改全部丢弃,数据库配置保持不变。
四、配置项详细说明
4.1 是否启用(fIsUses)
- 勾选:下游制单界面,「选择来源单据」弹窗会加载该上游单据,操作员可正常引用;
- 取消勾选:直接屏蔽该上游单据,制单时无法搜索、选择该类型上游单据;
- 业务用途:隔离无关单据,简化操作员选择列表,规范业务流程。
4.2 不超额提取(fNoExcess)
- 勾选:启用基础数量校验;
- 规则:下游单据明细引用数量 不能 > 上游单据对应明细的「未完成数量」;
- 触发时机:单据保存校验,超额弹出报错,禁止保存单据。
4.3 强制不超额提取(fForceNoExcess)
- 优先级高于「不超额提取」,只要勾选,无论普通不超额是否勾选都生效;
- 适用于大额原料、合同类采购等严格管控场景,完全杜绝超额冲抵、超量入库;
- 超额时直接阻断单据保存,无法绕过校验。
五、底层单据引用审计机制(配套业务逻辑)
配置保存后,制单保存时系统自动执行引用审计ReferenceAudit,完整校验流程:
- 重复引用校验
检测同一上游明细行是否被多次引用,重复引用直接抛出错误,禁止保存。 - 超额数量校验
根据「强制不超额/不超额提取」配置,计算上游剩余可引用数量,超额拦截单据。 - 履约数量自动更新
有效引用自动生成SQL指令,累加上游单据明细已完成数量fFinishQty。 - 上游单据自动关闭
校验上游单据所有明细全部完成引用后,自动更新上游单据状态为已关闭,锁定单据不再允许新增下游引用。 - 反审单逆向回滚
下游单据反审核删除时,自动反向扣减上游完成数量,恢复上游可引用额度。
五、典型配置示例
示例1:标准采购履约链路(采购订单→进货单)
| 配置项 | 勾选状态 | 说明 |
|---|---|---|
| 是否启用 | ✅ | 进货单允许引用采购订单 |
| 不超额提取 | ✅ | 基础数量校验 |
| 强制不超额提取 | ✅ | 严格禁止超采购量入库 |
| 无效引用 | ❌ | 有效引用,进货后扣减采购单完成量,全部进货自动关闭采购订单 |
示例2:调账单据(采购订单→成本调整单)
| 配置项 | 勾选状态 | 说明 |
|---|---|---|
| 是否启用 | ✅ | 成本调整单可关联采购订单做备注 |
| 不超额提取 | ❌ | 调账无数量管控需求 |
| 强制不超额提取 | ❌ | 不强制拦截数量 |
| 无效引用 | ✅ | 仅关联记录,不影响采购订单履约进度、关闭状态 |
示例3:屏蔽无关单据(进货单→销售单)
| 配置项 | 勾选状态 | 说明 |
|---|---|---|
| 是否启用 | ❌ | 进货单不允许被销售单引用,业务逻辑隔离 |
六、常见问题FAQ
Q1:修改引用配置后,已有的旧单据会生效吗?
不会。配置仅对修改后新创建、新保存的单据生效;历史已保存单据的引用关系、数量扣减逻辑保持不变。
Q2:制单时找不到需要引用的上游单据?
- 进入单据引用设置,选中当前下游单据,检查对应上游单据的「是否启用」是否勾选;
- 若未新增该引用关系,联系开发后台注册对应上下游单据引用链路。
Q3:保存单据提示「行记录超额引用」无法保存?
- 检查该引用规则是否勾选「强制不超额提取/不超额提取」;
- 核对上游单据该明细剩余未完成数量,减少下游单据引用数量后重新保存。
Q4:引用了单据,但上游采购单没有自动关闭?
- 检查引用规则「无效引用」是否勾选,勾选则不参与履约扣减;
- 核对上游单据所有明细的已完成数量是否等于原始订货总数量;
- 确认下游单据已正常审核生效,草稿单据不会触发履约扣减。
Q5:删除下游进货单后,采购订单可引用数量没有恢复?
仅反审核生效单据会自动逆向回滚完成数量;直接删除草稿单据不影响上游统计。
