127 lines
3.3 KiB
Markdown
127 lines
3.3 KiB
Markdown
|
|
# 缺料交期系统 — 使用手册
|
|||
|
|
|
|||
|
|
## 📌 快速开始
|
|||
|
|
|
|||
|
|
### 第一次使用
|
|||
|
|
1. 打开 `全機型_日報表.xlsm`
|
|||
|
|
2. 按 `Alt + F11` 进入 VBA 编辑器
|
|||
|
|
3. 新建模块,粘贴 `PMC_缺料交期优化.bas` 的内容
|
|||
|
|
4. 保存
|
|||
|
|
|
|||
|
|
### 每次查看缺料交期
|
|||
|
|
1. **按 `Ctrl+Shift+R`**(需在 VBA 中设置)
|
|||
|
|
2. 或手动运行 `RefreshAllData` 宏
|
|||
|
|
3. 查看自动生成的 **「缺料交期总表」**
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📊 系统架构
|
|||
|
|
|
|||
|
|
### 现状数据流(优化前)
|
|||
|
|
```
|
|||
|
|
qs(PO确认交期)→ 需手动填入缺料表
|
|||
|
|
TMH(实际入库)→ 需手动更新qs
|
|||
|
|
缺料表 → 交期列全空
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 优化后数据流
|
|||
|
|
```
|
|||
|
|
qs(PO确认交期)
|
|||
|
|
↓ FillConfirmedDelivery()
|
|||
|
|
缺料.P列(确认交期) + Q列(预计到货)
|
|||
|
|
↓
|
|||
|
|
UpdateShortagePriority() → 缺料.R列(优先级)
|
|||
|
|
↓
|
|||
|
|
CreateShortageDeliveryReport() → 缺料交期总表(汇总视图)
|
|||
|
|
↓
|
|||
|
|
TMH(入库记录)
|
|||
|
|
↓ SyncTMHToQS() → qs.K列(已交货数量)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📋 各工作表职责
|
|||
|
|
|
|||
|
|
| 工作表 | 数据来源 | 责任人 | 本系统操作 |
|
|||
|
|
|--------|---------|--------|-----------|
|
|||
|
|
| qs | 采购录入PO和ETD | 采购 | 读取ETD,回填交期 |
|
|||
|
|
| TMH | 仓储录入实际入库 | 仓储 | 读取入库,同步入qs |
|
|||
|
|
| 缺料 | 系统生成或手工 | PMC | 回填P/Q/R列 |
|
|||
|
|
| 缺料交期总表 | 自动汇总 | PMC | **查看为主** |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🎯 核心使用场景
|
|||
|
|
|
|||
|
|
### 场景1:查看缺料和交期
|
|||
|
|
**操作:** 按 `Ctrl+Shift+R` → 查看「缺料交期总表」
|
|||
|
|
|
|||
|
|
「缺料交期总表」包含:
|
|||
|
|
- 料号、机种、IC厂商
|
|||
|
|
- 结余/欠料数量
|
|||
|
|
- PO未交量
|
|||
|
|
- TMH待提数量
|
|||
|
|
- L/T内缺料
|
|||
|
|
- **确认交期(从qs回填)**
|
|||
|
|
- **预计到货数量**
|
|||
|
|
- **优先级(高/中/低)**
|
|||
|
|
- 跟催建议
|
|||
|
|
|
|||
|
|
### 场景2:采购回复交期后
|
|||
|
|
**操作:** 在qs表填入ETD → 运行 `FillConfirmedDelivery`
|
|||
|
|
|
|||
|
|
回填内容:
|
|||
|
|
- 缺料.P列 = qs.J列(确认交期)
|
|||
|
|
- 缺料.Q列 = qs.K列(预计数量)
|
|||
|
|
|
|||
|
|
### 场景3:料到入库后
|
|||
|
|
**操作:** TMH录入 → 运行 `SyncTMHToQS`
|
|||
|
|
|
|||
|
|
效果:
|
|||
|
|
- qs.K列标记已交货数量
|
|||
|
|
- qs.L列标记"已确认"
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🚨 优先级说明
|
|||
|
|
|
|||
|
|
| 优先级 | 条件 | 颜色 | 动作 |
|
|||
|
|
|--------|------|------|------|
|
|||
|
|
| **高** | 结余<0 且 PO=0 | 红色 | 紧急跟催,立即联系采购 |
|
|||
|
|
| **中** | 结余<0 且 PO>0 | 橙色 | 确认PO交期,追踪厂商回复 |
|
|||
|
|
| **低** | 结余>=0 | 绿色 | 正常,核对备料需求即可 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## ⚠️ 注意事项
|
|||
|
|
|
|||
|
|
1. **qs 表是数据源**:本系统从 qs 读取交期,qs 数据必须由采购及时录入
|
|||
|
|
2. **TMH 是入库依据**:实际入库数量通过 TMH 同步到 qs
|
|||
|
|
3. **交期总表只读**:建议不要手动编辑总表,每次用 `RefreshAllData` 刷新
|
|||
|
|
4. **日期格式**:qs.J 列(ETD)建议使用 Excel 日期格式,否则匹配可能失败
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🔧 维护指南
|
|||
|
|
|
|||
|
|
### 快捷键设置
|
|||
|
|
```
|
|||
|
|
1. Alt + F11 打开 VBA 编辑器
|
|||
|
|
2. 在模块上右键 → 宏 → RefreshAllData → 选项
|
|||
|
|
3. 快捷键输入:Shift+R(即 Ctrl+Shift+R)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 添加新字段
|
|||
|
|
如需在「缺料交期总表」增加列:
|
|||
|
|
1. 在 `CreateShortageDeliveryReport()` 的 `headers` 数组添加列名
|
|||
|
|
2. 在对应位置写入数据
|
|||
|
|
3. 运行刷新
|
|||
|
|
|
|||
|
|
### 修改优先级规则
|
|||
|
|
在 `UpdateShortagePriority()` 或 `CreateShortageDeliveryReport()` 中修改:
|
|||
|
|
```vba
|
|||
|
|
' 高优先级规则示例
|
|||
|
|
If shortageQty < 0 And poQty = 0 Then
|
|||
|
|
priority = "高"
|
|||
|
|
```
|