原料领出单
原料领出单是从配料间减库存的那张单:盘亏、回收、其他减少都走它。单据类型 217,主表 Spp_MatLeadOutBillHead,明细表 Spp_MatLeadOutBillSheet,记账方向为出库。它是配料领入单的镜像,界面几乎一样,但价格不能改,且背后多了一条成本换算链。
功能路径:生产调度 → 生产单据 → 原料领出单 网页地址:/admin/SimpProduce/sppmatleadoutbillhead/

一、功能概述
一张表里装了四种减少原因,用子类型区分:
| 子类型 | 业务含义 | 典型场景 |
|---|---|---|
| 1 | 盘亏 | 盘点实数比账面少 |
| 2 | 正常回收 | 到期的原料、包装回收 |
| 3 | 不正常回收 | 变质、过期等非正常减少 |
| 其他 | 其他减少 | 杂项出库 |
这四种在同一个列表里混着显示,界面上没有子类型列,也没有按子类型筛的条件。要区分只能看单据摘要或原始单号——这是这张单最容易看错数的地方。
「差异式」的意思是:领出单记的不是"领了多少去生产",而是账面与实际的差额。正常生产领料走原材料消耗单,别用这张单,否则同一批料会被扣两次。
二、界面布局说明
- 工具栏:新增、导出、刷新;
- 查询条:单据日期(默认本月,上限 365 天)+ 出库仓库下拉 + 高级筛选 + 方案;
- 列表列:单据号、单据日期、仓库、单据金额、单据状态、单据摘要;每页 20 条;
- 状态只有三种:草稿、生效、关闭,不走「申请」态;
- 关键字检索范围:摘要 + 备注 + 单据号;
- 高级筛选八个条件与另外三张生产单据完全一样,见原材料消耗单第二节。

三、新建与编辑
表头三组,字段与配料领入单一致,只有仓库标签不同:
| 分组 | 字段 | 必填 | 说明 |
|---|---|---|---|
| 基本信息 | 单据日期 | 是 | 决定记账会计期 |
| 基本信息 | 出库仓库 | 是 | 从哪个仓减,通常是配料间 |
| 基本信息 | 业务部门 | 否 | — |
| 基本信息 | 原始单号 | 否 | 外部单号 |
| 基本信息 | 供应商 | 否 | 退给外部单位时填 |
| 金额信息(默认折叠) | 单据金额 / 进价金额合计 / 售价金额合计 | — | 都只读,自动汇总 |
| 金额信息 | 盘点日期 | 否 | 盘亏单填实际盘点日 |
| 末组 | 单据摘要 | 否 | — |
明细页签标题为单据内容:
| 分组 | 列 | 能不能改 | 说明 |
|---|---|---|---|
| 物料 | 物料编码 | 选择商品时填 | 编号 / 名称 / 拼音码模糊搜,最多 20 条 |
| 物料 | 条码、物料名称、物料规格、基础单位 | 只读 | 随物料带出 |
| 物料 | 配方版本 | 只读 | ≥100000 显示 V<版本ID>,否则显示 工厂<ID> |
| — | 输入数量 | 必填可改 | 记账按它 |
| — | 输入单位 | 可改 | 换算后写基础数量与业务基础数量 |
| 出库金额 | 出库价格 | 只读 | 见下节 |
| 出库金额 | 出库金额 | 只读 | = 输入数量 × 出库价格 |
| 进价金额 | 标准进价、进价金额 | 只读 | 进价金额 = 输入数量 × 标准进价 |
| 售价金额 | 标准售价、售价金额 | 只读 | 售价金额 = 输入数量 × 标准售价 |
| — | 行备注 | 可改 | — |
出库价格为什么不能改
出库价格是算出来的:出库价格 = 单位成本价 × 单位换算率。选料和换单位时由服务端重算,界面上不给编辑框。这么设计是因为减少出库要按实际成本结转——如果允许手填,成本账就断了。
觉得出库价格不对,不要去改价格,去查两处:物料档案的标准成本 / 最新成本是否维护过,以及单位换算率是否正确。改这两处再重新选料,价格才会跟着变。
三个隐藏的数据列
明细里还有三列不出现在界面上,但参与计算与追溯:
| 内部列 | 作用 |
|---|---|
| 原输入数量 | 记下改动前的数量,做差异比对 |
| 单位换算率 | 出库价格的计算因子 |
| 损耗类型 | 报废类型的行级归属 |
损耗类型(报废类型)目前不在网页窗口里显示——表头没有这一栏,明细列也是隐藏的。要按报废类型统计减少原因,暂时得走客户端;网页端只能靠单据摘要文字区分。
底部三个金额
- 单据金额 = Σ 出库金额(记账金额);
- 进价金额合计 = Σ 进价金额;
- 售价金额合计 = Σ 售价金额。
与配料领入单同样的显示问题:底部第二项的标签实测显示成字段名
fpurmoney,应显示「进价金额合计」。数值与落库都正确。
四、生效与反审核
生效前校验(原文)
| 提示原文 | 触发条件 |
|---|---|
| 请录入明细 | 明细为空 |
| 请选择出库仓库 | 表头仓库为空 |
| 第N行还未选择物料 | 某行没选商品 |
| 第N行还未录入数量 | 某行输入数量为 0 或空 |
| 只有草稿状态可以审核(当前状态=N) | 单据已生效或已关闭 |
生效后按明细数量做出库记账(方向 -3),状态置为已生效并写复核人、复核时间、会计期。失败提示带前缀 审核失败: <原因>。
反审核
同样是「数量取负冲回」的反向记账,不是简单改状态。闸门(原文):
| 提示原文 | 触发条件 |
|---|---|
| 只有已审核状态可以反审核(当前状态=N) | 不是已生效态;已关闭的也不能反审核 |
| 原料领出单不存在(fBillID=N) | 已删除或跨账套 |
| 非生效状态的单据不能反审核! | 服务侧兜底 |
| 该单据已被冲红,不能反审核 | 已被别的动作冲过 |
| 红字单不能反审核 | 单据自身是红字 |
五、常见问题
「正常生产领料能不能用这张单」 — 不能。正常领料走原材料消耗单(由配料管理生成)。这张单只记差额与减少,用错会出现双重扣料。
「列表里看不出这张是盘亏还是回收」 — 对,界面没有子类型列也没有对应筛选条件。只能靠摘要 / 原始单号区分,或者按单据号段回溯。
「出库价格是 0」 — 该物料没有成本数据。去物料档案确认标准成本,或先做一次采购入库把最新成本带进来,再重新选料。
「改了输入单位,出库价格跟着变了」 — 正常。出库价格 = 单位成本价 × 换算率,换单位必然重算。核对基础单位下的金额即可。
「盘亏单和盘盈单日期一样但金额对不上」 — 盘点差异成对生成时,两边用的价格口径不同:领入按可改的入库价格,领出按成本换算的出库价格。差额属于口径差异,不是数据错。
「想按报废类型统计」 — 网页端目前不暴露这一列,见上文「三个隐藏的数据列」。
