# 1. Putaway Return (จัดเก็บสินค้าคืน — ผ่านเว็บ)

เมนู**:** Return (Tab SKU ของใบงาน Return)

การ Putaway ผ่านเว็บคือการระบุ Location จัดเก็บสินค้าคืนโดยตรงในใบงาน Return

## วงจรสถานะ Putaway Return (Web)

| สถานะ       | ความหมาย                                                       |
| ----------- | -------------------------------------------------------------- |
| **RETURN**  | รอระบุ Location — พร้อม Putaway                                |
| **PUTAWAY** | ระบุ Location ครบแล้ว — รอปิดใบงาน (Inventory ยังเป็นแถวสีเทา) |
| **CLOSED**  | ปิดสมบูรณ์ — Inventory พร้อมใช้งาน (แถวสีดำ)                   |

> 🔑 **ความแตกต่างจาก Putaway PO:**
>
> * Putaway PO: สถานะถอยกลับเป็น **RECEIVED** เมื่อลบ Location
>
> * Putaway Return: สถานะถอยกลับเป็น **RETURN** เมื่อลบ Location

---

## 1.1 การระบุ Location ผ่านหน้าเว็บ

> ⚠️ **เงื่อนไข:** GRR ต้องมีสถานะ **RETURN** ก่อนจึงจะระบุ Location ได้

1. ไปที่เมนู **Return**

2. เปิดใบงาน Return (Status = RETURN)

3. คลิก **Next** เพื่อเข้า Tab SKU

4. กรอก **Location** ในช่องของแต่ละ SKU ให้ครบทุกแถว

5. คลิก **Save**

### ผลลัพธ์หลัง Save — ระบุครบทุกรายการ

* ใบงาน Return เปลี่ยนสถานะเป็น **PUTAWAY**

* Inventory Enquiry แสดง Location ที่ระบุ — ยังเป็น **แถวสีเทา** (รอปิดใบงาน)

### ผลลัพธ์หลัง Save — ระบุเพียงบางรายการ

* ใบงาน Return **ไม่เปลี่ยนสถานะ** — ยังเป็น RETURN

* Inventory Enquiry แสดง Location เฉพาะรายการที่กรอก — ยังเป็นแถวสีเทา

---

## 1.2 การลบ Location ออกจากใบงาน

### กรณีที่ 1 — ลบ Location ครบทุกรายการ

1. เปิดใบงาน Return (Status = PUTAWAY) → **Next** → Tab SKU

2. ลบ Location ออกจากทุกแถว

3. คลิก **Save**

### **ผลลัพธ์:**

* ใบงาน Return Status ถอยกลับเป็น **RETURN**

* Location ทุกรายการถูกล้างออกจาก Inventory Enquiry

### กรณีที่ 2 — ลบ Location บางส่วน

1. เปิดใบงาน Return (Status = PUTAWAY) → **Next** → Tab SKU

2. ลบ Location เฉพาะบางแถว

3. คลิก **Save**

### **ผลลัพธ์:**

* ใบงาน Return Status ถอยกลับเป็น **RETURN** (ไม่ว่าจะลบกี่แถว)

* รายการที่ลบ Location ออก: ถูกลบออกจาก Inventory Enquiry

* รายการที่ยังมี Location: ยังอยู่ใน Inventory เป็นแถวสีเทา

---

# 2. Scan Putaway Return (สแกนจัดเก็บสินค้าคืน — Handheld)

## เมนู: Tab Operate → Scan Putaway

ใช้สำหรับสแกนจัดเก็บสินค้าคืนผ่าน Handheld โดยเลือกจากใบงาน Return ที่ Status = **RETURN**

> 📌 **ใช้เมนูเดียวกันกับ Scan Putaway PO** — ระบบแยกแยะโดยอัตโนมัติว่าเป็น Return หรือ Receipt New PO

---

## 2.1 การสร้างใบงาน Putaway และสแกนจัดเก็บ

> **เงื่อนไข:** ใบงาน Return ต้องมีสถานะ **RETURN**

### ขั้นตอนที่ 1 — สร้างใบงาน Putaway

1. Handheld → Tab **Operate** → เมนู **Scan Putaway**

2. คลิก **⋯ (3 จุด)** มุมขวาบน → เลือก **Create Putaway**

3. คลิกที่ช่อง **Receive Job**

4. ติ๊ก Checkbox หน้าใบงาน GRR ที่ต้องการจัดเก็บ

5. คลิก **Submit**

### ขั้นตอนที่ 2 — สแกนจัดเก็บ

1. คลิก **Start** เพื่อเริ่มสแกน

2. สแกนตาม Scan Profile ที่กำหนด เช่น

   | Profile              | ลำดับการสแกน                        |
   | -------------------- | ----------------------------------- |
   | SKU > QTY > Location | สแกน SKU → ใส่จำนวน → สแกน Location |
   | Pallet > Location    | สแกน Pallet → สแกน Location ปลายทาง |

3. คลิก **View items** เพื่อตรวจสอบรายการที่สแกน

4. คลิก **Confirm Close Job**

### ผลลัพธ์ที่ถูกต้อง

* ขึ้นข้อความ **"Make list Success"**

* ใบงาน Putaway มีสถานะ **PUTAWAY**

* ใบงาน GRR เปลี่ยนสถานะเป็น **CLOSED**

* สินค้าใน Inventory Enquiry เปลี่ยนเป็น **แถวสีดำ** — พร้อมใช้งาน

> 📌 **สินค้า Damage:** Putaway สินค้า Damage เข้า Damage Zone ได้ตามปกติ — Inventory จะแสดง Goods Status = **Damage** ในแถวสีดำ

> 📌 **Suggest Location:** ระบบแนะนำ Location อัตโนมัติตาม Strategy หลังสแกน SKU — ยืนยันเพื่อใช้ หรือสแกน Location อื่นแทนได้

---

## 2.2 การจัดเก็บหลายใบงาน Return พร้อมกัน

ขั้นตอนเดียวกับ 2.1 แต่เลือก **Checkbox หลายใบงาน Return** ในขั้นตอนสร้าง Putaway ระบบรวมรายการสินค้าจากทุกใบมาในใบงาน Putaway เดียว

1. สร้าง Putaway → เลือก Return ที่ต้องการ **ทุกใบ** → Submit

2. Start → สแกนทีละรายการ (SKU > QTY > Location) จนครบทุกใบงาน

3. View items → Confirm Close Job

---

## 2.3 การยกเลิกใบงาน Putaway (Cancel Putaway)

| สถานะใบงาน Putaway     | เงื่อนไข | ผลลัพธ์                              |
| ---------------------- | -------- | ------------------------------------ |
| **PUTAWAY IN PROCESS** | —        | ยกเลิกได้ → GRR กลับเป็น **RETURN**  |
| **PUTAWAY**            | —        | ยกเลิกไม่ได้ทุกกรณี → ระบบแจ้ง Error |

> 🔑 **ความแตกต่างจาก Cancel Putaway PO:** เอกสารจะย้อนกลับเป็น **RETURN** — ไม่ใช่ RECEIVED

### ขั้นตอนการยกเลิก

1. Handheld → Tab **Operate** → **Scan Putaway**

2. เลือกใบงาน Putaway ที่ต้องการยกเลิก

3. คลิก **⋯ (3 จุด)** มุมขวาบน

4. เลือก **Cancel Putaway**

### ผลลัพธ์เมื่อยกเลิกสำเร็จ

* ขึ้นข้อความ **"This putaway job was reopen to received completed"**

* ใบงาน Putaway หายออกจากรายการ

* Location ที่เคยระบุถูกถอดออกจาก Inventory

* ใบงาน Return กลับสู่สถานะ **RETURN**

---

# สรุปวงจรสถานะทั้งหมด

```
DSO (CLOSED / PAR CLOSED)
    │
    ├─ [สร้าง RR (ไม่บังคับ)] → RR: OPENED → RETURNING
    │
    ▼
GRR: RETURNING  ←  สร้างจาก DSO / RR / Import
    │
    ├─ [Web: Confirm Return + Return Reason]
    └─ [HH: Scan Return → Confirm Return → เซ็น]
    │
    ▼
GRR: RETURN  ←  Inventory เป็นแถวสีเทา
    │           (ถ้า Claim → ระบบสร้าง DSO ชดเชยอัตโนมัติ)
    │
    ├─ [Web: ระบุ Location → Save]         → GRR: PUTAWAY → CLOSED (เมื่อสแกน HH)
    └─ [HH: Scan Putaway → Confirm Close]  → GRR: CLOSED
    │
    ▼
GRR: CLOSED  ←  Inventory เป็นแถวสีดำ (พร้อมใช้งาน)
```

---

# กฎสำคัญที่ต้องจำ

| เงื่อนไข                                 | กฎ                                                   |
| ---------------------------------------- | ---------------------------------------------------- |
| DSO Status ≠ CLOSED / PAR CLOSED         | ค้นหาไม่พบในหน้า Create Return / RR                  |
| Over Return                              | Error — ไม่สามารถสร้างใบงานได้                       |
| Request Return ที่ถูกสร้างแล้ว           | ไม่สามารถแก้ไข SKU / Qty / Pack Code / Document Type |
| Return Status ≥ RETURN                   | ฟิลด์ SKU, Qty, Lot, Expiry Date ถูก Disable         |
| Return Status = RETURNING                | แก้ไข Return Reason ได้เท่านั้น                      |
| Return Claim หลัง Confirm Return         | ระบบสร้าง DSO ชดเชยอัตโนมัติ                         |
| Return Refund / Reject                   | ไม่สร้าง DSO ชดเชย                                   |
| Reopen RETURN → RETURNING (Claim)        | DSO ชดเชยถูกลบออกด้วย                                |
| ลบ Location ในเอกสาร Return ครบทุกรายการ | ใบงาน Return ถอยกลับเป็น **RETURN**                  |
| ลบ Location ในเอกสาร Return บางส่วน      | ใบงาน Return ถอยกลับเป็น **RETURN** เช่นกัน          |
| Cancel Putaway Return                    | ใบงาน Return กลับเป็น **RETURN** (ไม่ใช่ RECEIVED)   |

---

## เปรียบเทียบ Scan Return — Tag ที่แสดง

| วิธีสร้างเอกสาร Return         | Tag ที่แสดงในใบงาน |
| ------------------------------ | ------------------ |
| สร้างจาก DSO โดยตรง (Web / HH) | **SO**             |
| สร้างจาก Request Return        | **RR**             |


