#glossary#price#discount#ic
ราคา / ส่วนลด / ของแถม
คอลัมน์ในบรรทัดสินค้า (ic_trans_detail)
| คอลัมน์ | ความหมายในระบบ |
|---|---|
price |
ราคาต่อหน่วย (trans.go:45) ส่วน price_2 คือราคาในสกุลเงินของเอกสาร ดู สกุลเงิน และอัตราแลกเปลี่ยน (currency / exchange_rate / multi_currency) |
discount |
ข้อความส่วนลด (discount word) เช่น "5%" หรือ "10" (trans.go:46) |
discount_amount |
จำนวนเงินส่วนลดที่คำนวณได้ (:47) |
price_type / price_mode |
ที่มาของราคา: -1 ไม่มี, 1-7 ค้นจากฐานข้อมูลในเครื่อง, 99 ราคาจากส่วนกลาง; set_ref_price = ราคาที่ค้นเจอ (:72-75) |
is_permium |
1 = บรรทัดของแถมหรือแจกฟรี (:85, ชื่อคอลัมน์สะกดตามจริง) |
รูปแบบข้อความส่วนลด (calcDiscountOnly, stock_rebuild.go:141-143)
- คั่นแต่ละตัวด้วย "," ระบบตัดช่องว่างและ "-" ทิ้ง
x%ลด x% จากยอดที่เหลืออยู่ (ลดต่อกันเป็นทอด) ·@xทำให้ยอดเป็น จำนวน×(ราคา−x) ·xลด x บาท · ข้อความที่ไม่ใช่ตัวเลขนับเป็น 0- ช่องส่วนลดมีปุ่ม "สูตร" ให้พิมพ์สูตรคำนวณได้ เช่น
=100*2+50(TransItemGrid.tsx:202)
ลำดับการหาราคาขาย (findSalePrice, price_engine.go:103-200)
price_type ของบรรทัด |
แหล่ง |
|---|---|
| 1 | ic_inventory_price ราคาตามลูกค้า (price_type = 3) |
| 2 | ราคาตามกลุ่มลูกค้า (price_type = 2) |
| 3 | ราคาทั่วไป (price_type 1, price_mode 1) แล้วตามด้วยราคามาตรฐาน (price_type 1, price_mode 0) (:66-76; price_info.go:10-13) |
| 6 | สูตรราคาขาย ic_inventory_price_formula โดยใช้คอลัมน์ price_0..price_9 ตาม ar_customer.price_level 1-9 |
| 5 | ราคาในบาร์โค้ด ic_inventory_barcode.price ดู บาร์โค้ดสินค้า (barcode / ic_inventory_barcode) |
| 7 | ราคาขายล่าสุดหรือราคาเฉลี่ยจากใบขาย 44 ตาม erp_option.get_last_price_type (0 ไม่ใช้, 1 ราคาขายล่าสุด, 2 ดึงราคาขายเฉลี่ย; tab4Sale.ts:148-154) |
| 99 | ราคาจากส่วนกลาง เมื่อเปิด use_price_center "ใช้ระบบราคาจากส่วนกลาง" (price_center.go:18-20; tab5Sync.ts:101) |
- ถ้าเอกสารเป็นภาษีแยกนอก (
vat_type 0) ระบบใช้sale_price1ไม่อย่างนั้นใช้sale_price2(price_engine.go:122) ดู ประเภทภาษี แยกนอก/รวมใน และภาษีซื้อ-ขาย (VAT type / vat_type / gl_journal_vat_buy / gl_journal_vat_sale) - ส่วนลดตั้งต้นมาจาก
ic_inventory_discountเรียงจากdiscount_type2 ลูกค้า → 1 กลุ่มลูกค้า → 0 ทั่วไป (price_engine.go:78-86)
ส่วนลดท้ายบิล
- หัวเอกสารเก็บข้อความส่วนลดท้ายบิลใน
discount_wordและยอดในtotal_discountดู ยอดรวมท้ายเอกสาร (document totals / total_value / total_amount) erp_option.discount_vat_type"การคำนวณภาษีกรณีมีส่วนลดท้ายรายการ": 0 สินค้ามีภาษีก่อน, 1 เฉลี่ย (tab1System.ts:31-36)erp_option.discout_type"เงื่อนไขการคำนวณ VAT กรณีมีส่วนลด": 0 คำนวณ VAT ก่อนหักส่วนลด, 1 คำนวณ VAT หลังหักส่วนลด (tab2Gl.ts:48-53, ชื่อคอลัมน์สะกดตามจริง)
หน้าจอ master (smlMenu.json)
กำหนดราคาซื้อ menu_ic_purchase_price (:2254) · ของแถมซื้อ menu_ic_purchase_premium (:2267) · กำหนดราคาขายมาตรฐาน menu_ic_item_saleprice (:2280) · กำหนดราคาขายทั่วไป menu_ic_item_saleprice_2 (:2293) · กำหนดส่วนลดสินค้า menu_ic_discount (:2306) · กำหนดรูปแบบสูตรราคาขาย (:2319) · กำหนดสูตรราคาขาย menu_ic_item_saleprice_formula (:2332)
ข้อควรระวัง
price_typeของบรรทัดเอกสาร (1-7, 99) และprice_typeของตารางic_inventory_price(1 ทั่วไป, 2 กลุ่ม, 3 ลูกค้า) เป็นคนละ enum กัน- ราคาจาก POS (บาร์โค้ด/สมาชิก) ยังไม่ได้ port (
price_center.go:21-22)
ลิงก์
เครื่องมือหาราคาและแก้ราคา (Price engine / price center / modify price) · ยอดรวมท้ายเอกสาร (document totals / total_value / total_amount) · ลูกหนี้/ลูกค้า และเจ้าหนี้/ผู้จำหน่าย (party / cust_code / ar_customer / ap_supplier) · การปัดเศษ ทศนิยม และตัวเลขเงิน (Rounding & Decimal Policy) · glossary-overview
ที่มาในโค้ด
backend/internal/application/process/trans.go:45-47,:72-75,:85backend/internal/application/process/price_engine.go:66-86,:103-200backend/internal/application/process/price_info.go:10-14;price_center.go:18-22backend/internal/application/process/stock_rebuild.go:141-143frontend/account/transaction/TransItemGrid.tsx:202frontend/src/config/smlMenu.json:2254-2332frontend/src/config/schemas/erpOption/tab1System.ts:31-36;tab2Gl.ts:48-53;tab4Sale.ts:148-154;tab5Sync.ts:101