#faq#ic#serial#lot#expire#stock
สินค้ามี Serial / LOT / วันหมดอายุ ระบบตรวจอะไรให้บ้างตอนบันทึก
ตอบสั้น: ตรวจน้อยกว่าที่คิด Serial ตรวจแค่ว่าไม่ซ้ำกันในเอกสารเดียวกันและยาวไม่เกิน 50 ตัวอักษร ไม่ได้ตรวจว่า Serial นั้นยังอยู่ในสต็อกหรือไม่ LOT บังคับเฉพาะสินค้าที่ตั้งประเภทต้นทุนเป็น "LOT กำหนดเอง" ส่วนวันหมดอายุบันทึกได้แต่ยังไม่มีการตรวจตอนบันทึก ถ้าต้องการหาความผิดปกติของ Serial ให้ใช้เมนู "ตรวจสอบ Serial มีปัญหา" ภายหลัง
รายละเอียด
Serial Number
- บันทึกใน
ic_trans_serial_numberทีละ Serial ต่อบรรทัด - ข้อที่ตรวจตอนบันทึก:
- Serial เดียวกันซ้ำในเอกสารเดียวกันไม่ได้ ระบบจะขึ้นว่า "Serial Number ... ซ้ำในเอกสาร"
- ยาวไม่เกิน 50 ตัวอักษร
- ทั้งเอกสารมีได้ไม่เกิน 20,000 Serial
- ไม่ได้ตรวจว่าจำนวน Serial เท่ากับจำนวนสินค้า
- หลังบันทึกทุกครั้ง ระบบสร้าง
ic_serial(ทะเบียน Serial) ของสินค้านั้นใหม่จากรายการเคลื่อนไหว- สถานะดูจากรายการล่าสุด ถ้าเป็นรับเข้าแปลว่ายังอยู่ (
status0) ถ้าไม่ใช่แปลว่าออกไปแล้ว (1) - คลัง/ที่เก็บดูจากรายการรับเข้าล่าสุด
- เอกสารตรวจนับ 76 ไม่นำมาคิด
- สถานะดูจากรายการล่าสุด ถ้าเป็นรับเข้าแปลว่ายังอยู่ (
- เมนู "ตรวจสอบ Serial มีปัญหา" (
menu_ic_serial_analyze) ไล่ประวัติของแต่ละ Serial แล้วแจ้ง 2 กรณี (อ่านอย่างเดียว ไม่แก้ข้อมูล):- "ออกก่อนรับเข้า"
- ออกจากคลัง/ที่เก็บที่ไม่ตรงกับการรับเข้าล่าสุด
LOT (ic_trans_detail.lot_number_1)
- เอกสารชุดที่ตรวจ LOT ได้แก่ 12, 14, 16, 36, 44, 46, 48, 54, 56, 58, 60, 66, 68, 72, 310, 311, 316 ถ้าสินค้าตั้ง
cost_type= 2 แล้วบรรทัดไม่มี LOT จะบันทึกไม่ได้ ระบบขึ้นว่า "ยังไม่บันทึกหมายเลข LOT แบบกำหนดเอง" - ใบขาย 44 ที่สร้างใหม่: ถ้าไม่ได้ระบุ LOT ระบบเลือกให้จากยอดคงเหลือของแต่ละ LOT ถ้าไม่พอก็แตกบรรทัด (ดู ตั้งประเภทต้นทุนเป็น FIFO / LOT / มาตรฐาน ได้ไหม ระบบคิดตามที่ตั้งหรือเปล่า)
- LOT ไม่มีผลกับต้นทุน ต้นทุนยังเป็นถัวเฉลี่ยของสินค้าทั้งตัว
วันหมดอายุ (ic_trans_detail.date_expire)
- บันทึกต่อบรรทัดได้
- คอลัมน์วันหมดอายุจะแสดงเมื่อเปิด
erp_option.use_expire - การ์ดสินค้าก็มีสวิตช์
use_expireของตัวเอง ถ้าเปิดไว้ ตัวอักษรของบรรทัดจะเป็นสีม่วงจนกว่าจะกรอกวันหมดอายุ แต่ยังบันทึกได้แม้ไม่ได้กรอก - ในเมนูตรวจสอบข้อมูล มีข้อหนึ่งที่เปิด
use_expireให้อัตโนมัติ กับสินค้าที่มีใบซื้อ 12 ระบุวันหมดอายุไว้
ข้อควรระวัง
- ขาย Serial ที่ขายไปแล้ว หรือไม่เคยรับเข้า ก็ยังบันทึกได้ จะเห็นปัญหาก็ต่อเมื่อรันเมนู "ตรวจสอบ Serial มีปัญหา"
- รายงาน "ยอดคงเหลือตาม LOT" และเครื่องมือปรับปรุง LOT อ่านจาก
ic_trans_detail_lotแต่ตารางนี้มีข้อมูลเฉพาะจากเอกสารยอดยกมาสินค้า 54 และเอกสารที่เครื่องมือ LOT สร้างเท่านั้น การบันทึกเอกสารปกติไม่ได้เขียนตารางนี้ (เดิมเป็นหน้าที่ของ cost engine ภาษา Java ที่ไม่ได้รันในระบบนี้) ยอดในรายงานนี้จึงอาจไม่ตรงกับยอดที่ระบบใช้เลือก LOT ในใบขาย ซึ่งอ่านจากic_trans_detail.lot_number_1 - ระบบเลือก LOT อัตโนมัติตามเลข LOT ไม่ได้เรียงตามวันหมดอายุ
- ระบบยังไม่ได้ตรวจวันหมดอายุตอนบันทึก (มีคอมเมนต์
ponytailในlotMessage)
ดูเพิ่ม
- เลข LOT, Serial Number และวันหมดอายุ (lot_number_1 / serial_number / date_expire)
- ป๊อปอัปซีเรียล ล็อต ยอดคงเหลือ ประวัติ สินค้าทดแทน (SerialNumberModal / LotModal / StockBalanceModal / ItemHistoryModal / ItemReplacementModal)
- ทะเบียน Serial Number สินค้า (ic_serial)
- ยอดสินค้าตามล็อต (ic_trans_detail_lot)
- บทเรียน Serial / Lot / ข้อมูลขนส่ง (Serial, Lot & Shipment Persistence)
ที่มาในโค้ด
backend/internal/application/process/trans.go:979ตรวจ Serial ซ้ำในเอกสารและความยาวไม่เกิน 50 ตัวอักษรbackend/internal/application/process/trans.go:583สร้างic_serialใหม่หลังบันทึกbackend/internal/application/process/stock_tools.go:581serialRebuildSQLสถานะและคลังของ Serial (ไม่นับ 76)backend/internal/application/process/stock_tools.go:187analyzeSerialMovesสองกรณีที่ถือว่าผิดปกติbackend/internal/application/process/trans_save_rules.go:148lotCheckตามชุดเอกสารlotFlagsbackend/internal/application/process/trans_save_rules.go:180lotMessageบังคับ LOT ของcost_type2 และคอมเมนต์เรื่องวันหมดอายุที่รอพอร์ตbackend/internal/application/process/trans_lot_auto.go:21คอมเมนต์: บันทึกผ่านเว็บไม่ได้เขียนic_trans_detail_lotbackend/internal/application/process/report_menu_ic.go:1175รายงานยอดคงเหลือตาม LOT อ่านจากic_trans_detail_lot