Selling Price Overview
1. วัตถุประสงค์ (Objective)
ใช้สำหรับจัดการข้อมูลราคาขายสินค้า (Selling Price Master) โดยกำหนดราคาตามเงื่อนไขของลูกค้า, สกุลเงิน, หน่วยนับ, วันที่มีผลใช้งาน และลำดับขั้นของจำนวนสั่งซื้อ (Rank) เพื่อให้ระบบสามารถดึงราคาขายไปใช้งานในหน้าจอใบสั่งขาย (Sales Order) และหน้าจอการออกอินวอยซ์ (Invoice) ได้อย่างถูกต้องตามเงื่อนไขทางธุรกิจ
2. วิธีการเข้าใช้งาน (How to Access)
ผู้ใช้งานสามารถเข้าถึงหน้าจอจัดการข้อมูลราคาขายได้ผ่านเมนู: Master > Selling Price
3. กระบวนการหลัก (Main Processes)
การสร้างข้อมูลราคาขาย (Create)
- กดปุ่ม Add New เพื่อเปิดหน้าจอเพิ่มข้อมูลราคาขาย
- ระบุข้อมูลที่จำเป็นในหน้าจอ:
- Item (สินค้า): เลือกสินค้าที่ต้องการกำหนดราคา
- Customer (ลูกค้า): เลือกลูกค้าที่ต้องการกำหนดราคาให้
- Currency (สกุลเงิน): ระบบจะดึงสกุลเงินเริ่มต้นจากข้อมูลลูกค้ามาให้โดยอัตโนมัติ (สามารถแก้ไขได้)
- Price (ราคา): ระบุราคาขายต่อหน่วย
- Rank (ลำดับขั้น/จำนวนขั้นต่ำ): ระบุจำนวนขั้นต่ำเพื่อให้ราคานี้มีผลใช้งาน (เช่น เริ่มต้นที่ 1 หน่วย)
- Unit (หน่วยนับ): ระบบจะดึงหน่วยนับเริ่มต้นจากข้อมูลสินค้ามาให้โดยอัตโนมัติ (สามารถแก้ไขได้ตามหน่วยที่สินค้ามี)
- Effective Date (วันที่มีผลใช้งาน): ระบุวันที่เริ่มต้นใช้งานราคานี้
- Remark (หมายเหตุ): ระบุข้อมูลเพิ่มเติม (ถ้ามี)
- กดปุ่ม Save เพื่อบันทึกข้อมูล
การแก้ไขข้อมูลราคาขาย (Update)
- เลือกรายการราคาขายที่ต้องการแก้ไขจากตาราง
- แก้ไขข้อมูลในส่วนที่อนุญาต (เช่น ราคา, วันที่มีผลใช้งาน, หมายเหตุ)
- กดปุ่ม Save เพื่อบันทึกการเปลี่ยนแปลง
- หมายเหตุ: ข้อมูลหลักอย่าง สินค้า, ลูกค้า, สกุลเงิน และหน่วยนับ จะไม่สามารถแก้ไขได้หลังจากบันทึกแล้ว หากต้องการเปลี่ยนข้อมูลเหล่านี้ต้องทำการยกเลิกและสร้างใหม่ หรือใช้การคัดลอก (Copy)
การคัดลอกข้อมูลราคาขาย (Copy)
- เลือกรายการราคาขายต้นฉบับที่ต้องการคัดลอก
- กดปุ่ม Copy ระบบจะเปิดหน้าจอข้อมูลเดิมขึ้นมาโดยกำหนดรหัสเป็นรายการใหม่
- ปรับเปลี่ยนข้อมูลตามต้องการ (เช่น เปลี่ยนวันที่ หรือราคาใหม่)
- กดปุ่ม Save เพื่อบันทึกเป็นรายการใหม่
การยกเลิกหรือกู้คืนข้อมูลราคาขาย (Cancel / Recover)
- การยกเลิก (Cancel): เลือกรายการที่ต้องการยกเลิกแล้วกดปุ่ม Delete (หรือปุ่มถังขยะ) รายการจะถูกเปลี่ยนสถานะเป็น “ลบแล้ว” (Deleted) และจะไม่ถูกนำไปใช้งานในระบบ
- การกู้คืน (Recover): สำหรับรายการที่ถูกลบไปแล้ว สามารถกู้คืนกลับมาใช้งานใหม่ได้โดยกดปุ่ม Recover
4. สถานะและการเปลี่ยนแปลงสถานะ (Status Flow)
แผนภาพสถานะ (Status Diagram)
Delete (Cancel)Recoverใช้งานอยู่ - Activeลบแล้ว - Deleted
รายละเอียดสถานะ
| ชื่อสถานะ (ไทย/อังกฤษ) | สิ่งที่ทำได้ | สิ่งที่ทำไม่ได้ | วิธีการเปลี่ยนสถานะ |
|---|---|---|---|
| ใช้งานอยู่ (Active) | แก้ไขราคา/วันที่, คัดลอกข้อมูล, นำไปใช้งานในใบสั่งขาย, ยกเลิกรายการ | แก้ไขสินค้า/ลูกค้า/สกุลเงิน/หน่วยนับ | กดปุ่ม Delete เพื่อยกเลิก |
| ลบแล้ว (Deleted) | ดูข้อมูล, กู้คืนข้อมูล (Recover) | แก้ไขข้อมูล, นำไปใช้งานในระบบ, คัดลอกข้อมูล | กดปุ่ม Recover เพื่อกู้คืน |
5. กระบวนการอัตโนมัติ (Automatic Processes)
- การดึงหน่วยนับอัตโนมัติ: เมื่อเลือกสินค้า (Item) ระบบจะดึงหน่วยนับเริ่มต้นสำหรับการขาย (Default Sales Unit) มาแสดงให้โดยอัตโนมัติ
- การดึงสกุลเงินอัตโนมัติ: เมื่อเลือกลูกค้า (Customer) ระบบจะดึงสกุลเงินเริ่มต้นที่กำหนดไว้ในข้อมูลลูกค้ามาแสดงให้โดยอัตโนมัติ
- การตรวจสอบราคาซ้ำ: ระบบจะตรวจสอบโดยอัตโนมัติว่ามีการกำหนดราคาซ้ำซ้อนในเงื่อนไขเดียวกัน (สินค้า, ลูกค้า, สกุลเงิน, หน่วยนับ, จำนวนขั้นต่ำ และวันที่มีผลใช้งาน เดียวกัน) หรือไม่ หากซ้ำระบบจะไม่อนุญาตให้บันทึก
6. กฎเกณฑ์และข้อจำกัด (Business Rules & Validations)
การตรวจสอบข้อมูล (Data Validations)
- ข้อมูลที่จำเป็น: ต้องระบุ สินค้า, ลูกค้า, สกุลเงิน, ราคา, จำนวนขั้นต่ำ (Rank), หน่วยนับ และวันที่มีผลใช้งาน เสมอ
- ราคาและจำนวนขั้นต่ำ: ต้องมีค่ามากกว่าหรือเท่ากับ 0
- การตรวจสอบความซ้ำซ้อน: ห้ามบันทึกข้อมูลที่มี สินค้า, ลูกค้า, สกุลเงิน, หน่วยนับ, จำนวนขั้นต่ำ และวันที่มีผลใช้งาน ซ้ำกับที่มีอยู่ในระบบแล้ว
ข้อจำกัดตามสถานะ (Status-based Restrictions)
- รายการที่อยู่ในสถานะ ลบแล้ว (Deleted) จะไม่ถูกนำไปคำนวณราคาในหน้าจอใบสั่งขาย (Sales Order)
- เมื่อรายการถูกบันทึกแล้ว ข้อมูลที่เป็นกุญแจหลัก (Key Fields) ได้แก่ สินค้า, ลูกค้า, สกุลเงิน และหน่วยนับ จะถูกล็อกไม่ให้แก้ไขเพื่อป้องกันความสับสนของข้อมูลย้อนหลัง
ข้อจำกัดอื่นๆ (Other Restrictions)
- การแสดงผลในหน้าจอรายการ (List) ปกติจะแสดงเฉพาะรายการที่ใช้งานอยู่ หากต้องการดูรายการที่ลบไปแล้วต้องติ๊กเลือก “Show Deleted Records” ในส่วนของการค้นหา
7. คำถามที่พบบ่อยและการแก้ปัญหา (FAQ & Troubleshooting)
- ปัญหา: ไม่สามารถแก้ไขชื่อสินค้าหรือชื่อลูกค้าในหน้าจอราคาขายได้
- สาเหตุ: ระบบล็อกข้อมูลหลักไว้หลังจากบันทึกเพื่อความถูกต้องของข้อมูล
- วิธีแก้ไข: หากต้องการเปลี่ยนสินค้าหรือลูกค้า ให้ทำการยกเลิกรายการเดิมแล้วสร้างใหม่ หรือใช้ฟังก์ชัน Copy เพื่อสร้างรายการใหม่แทน
- ปัญหา: บันทึกข้อมูลแล้วขึ้นข้อความแจ้งเตือนว่า “Price already exists”
- สาเหตุ: มีการกำหนดราคาสำหรับ สินค้า, ลูกค้า, สกุลเงิน, หน่วยนับ, จำนวนขั้นต่ำ และวันที่มีผลใช้งาน นี้ไว้แล้วในระบบ
- วิธีแก้ไข: ตรวจสอบรายการเดิมที่มีอยู่ (รวมถึงรายการที่อาจถูกลบไปแล้ว) และทำการแก้ไขรายการเดิมแทนการสร้างใหม่
- ปัญหา: ค้นหารายการราคาขายที่เคยลบไปแล้วไม่เจอ
- สาเหตุ: หน้าจอรายการจะซ่อนรายการที่ถูกลบไว้เป็นค่าเริ่มต้น
- วิธีแก้ไข: ในส่วนค้นหาขั้นสูง (Advance Search) ให้ติ๊กเลือกช่อง “Show Deleted Records” แล้วกดปุ่ม Search อีกครั้ง
- ปัญหา: ราคาขายไม่แสดงในหน้าจอใบสั่งขาย (Sales Order) อัตโนมัติ
- สาเหตุ: วันที่ในใบสั่งขายอาจไม่อยู่ในช่วงวันที่มีผลใช้งาน (Effective Date) หรือจำนวนสั่งซื้อไม่ถึงเกณฑ์ขั้นต่ำ (Rank) ที่กำหนดไว้
- วิธีแก้ไข: ตรวจสอบวันที่มีผลใช้งานและจำนวนขั้นต่ำในหน้าจอ Selling Price ให้สอดคล้องกับรายการในใบสั่งขาย
- ปัญหา: ต้องการเปลี่ยนหน่วยนับในราคาขายแต่เลือกไม่ได้
- สาเหตุ: หน่วยนับที่ต้องการเลือกอาจไม่ได้ถูกกำหนดไว้ในข้อมูลหลักของสินค้านั้นๆ (Item Master)
- วิธีแก้ไข: ไปที่หน้าจอ Item Master เพื่อเพิ่มหน่วยนับที่ต้องการให้กับสินค้านั้นก่อน จึงจะสามารถกลับมาเลือกในหน้าจอ Selling Price ได้
