#accounting#trans-flag#reference#inventory
รหัสชนิดเอกสาร trans_flag
ทุกเอกสารแยกชนิดด้วย trans_flag (int) ในตาราง ic_trans / ic_trans_detail / cb_trans / gl_journal
ทิศทางสต็อกของแต่ละบรรทัดเก็บใน calc_flag (+1 = เข้า, -1 = ออก, 0 = ไม่กระทบ) ซึ่งได้มาจาก flag ของเอกสาร
ทำงานอย่างไร
flag กับรหัสหน้าจอ (screen code ของ erp_doc_format)
ได้จากแผนที่ glRuleByScreen (gl_template_rules.go:20) และ comment ใน buildStandardGLLines
| กลุ่ม | flag (screen code) |
|---|---|
| ซื้อ | 12 PU ซื้อ/ตั้งหนี้, 14 PA, 16 PT ส่งคืน/ลดหนี้, 310 PI ทยอยรับสินค้า, 311 PIA ส่งคืนจากการรับ, 315 PIU ตั้งหนี้จากการรับ, 316 PID, 317 PIC |
| มัดจำ/ล่วงหน้า ซื้อ | 10 PD จ่ายเงินล่วงหน้า, 11 PC จ่ายเงินมัดจำ, 20 PDR, 25 PCR (รับคืน) |
| ขาย | 44 SI/SIP ขาย, 46 SA, 48 ST รับคืน/ลดหนี้, 144 ใบกำกับเต็มรูปออกแทน |
| มัดจำ/ล่วงหน้า ขาย | 40 SD รับเงินล่วงหน้า, 42 SDR, 110 SRV รับเงินมัดจำ, 112 SRT |
| สต็อก | 56 IO เบิก, 58 IR รับคืนจากเบิก, 60 IF, 66 IA ปรับปรุงเพิ่ม, 68 IS ปรับปรุงลด, 72 IM โอนออก (คู่ 70 โอนเข้า), 124 ขอโอน, 76 ตรวจนับ, 54 ยอดยกมาสินค้า |
| ลูกหนี้/เจ้าหนี้ | 19 DE จ่ายชำระหนี้, 239 EE รับชำระหนี้, 87 COB, 89 CDO, 91 CCO (เจ้าหนี้อื่น), 99 AOB, 101 ADO, 103 ACO (ลูกหนี้อื่น) |
| รายได้/ค่าใช้จ่ายอื่น | 250 OI, 252 OCN, 254 ODN, 260 EPO, 262 EPC, 264 EPD |
| เงินสด/ธนาคาร | 300 PCD เบิกเงินสดย่อย, 301 PRM คืน, 401 DM ฝากธนาคาร, 402 WM ถอน, 422 TM โอนออก (คู่ 420) |
| เช็ค/บัตร | 405 เช็ครับยกมา, 406 เช็คจ่ายยกมา, 410 CHD, 411 CHP, 412 CRT, 413 CRC, 416 CDE, 418 CND, 451 CPP, 452 CHC, 453 CPR, 456 CPE, 461 CRD, 462 CRN, 463 WLD |
| สินทรัพย์ | 1801 โอนค่าเสื่อม, 1802 ASS ขายสินทรัพย์ (ตาราง as_trans) |
| อื่นๆ | 0/1999 สมุดรายวันทั่วไป (JV), 1501/1502 WHT ของ JV, 801/802 แต้มสะสม, 521-523 คลังรับฝาก |
ชื่อภาษาไทยของ flag ที่ไม่มีใน comment ของโค้ด (เช่น 14, 46, 316, 60) ยังไม่ยืนยัน จึงใส่เพียง screen code
calc_flag (transcalc.go:14)
- +1: 12, 14, 48, 54, 58, 60, 66, 70, 76, 310, 315, 316 และอื่นๆ ตามรายการในโค้ด
- -1: 16, 44, 46, 56, 68, 72, 144, 311, 317, 1802 ฯลฯ
- flag ที่ไม่อยู่ในทั้งสองรายการ = 0 (port มาจาก C#
_global._transStockCalcType)
ชุด flag สำคัญที่ใช้ซ้ำในหลายไฟล์
saleGroupFlags{30,34,36,44,46,48,144},purchaseGroupFlags{2,6,12,14,16,310,311,315,316,317} (trans_grid.go:85-115)- 30 เสนอราคา, 34 สั่งจอง, 36 สั่งขาย, 2 ขอซื้อ, 6 สั่งซื้อ: แม้บาง flag จะมี
calc_flag+1 แต่ไม่อยู่ในstockRowsSQL(stock_rebuild.go:18) และไม่อยู่ในglRebuildTransFlagsจึงไม่กระทบยอดสต็อกและไม่ลง GL - 66 เป็น grid เดียวที่ยอมให้ qty ติดลบ
glRebuildTransFlags(service.go:1731) = flag ที่สร้าง GL ได้; 54, 62, 64, 81-85, 93-97 ไม่ลง GLheaderAmountFlags81, 83, 85, 93, 95, 97, 602, 604 = เอกสารที่มีแต่ยอดหัว ไม่มีบรรทัดรายการ (trans.go)depositFlagsรวมรหัสยกมา 9010, 9011, 9040, 9110 (trans.go)periodExemptFlags521, 522, 523 บันทึกได้โดยไม่ตรวจงวด แต่การลบยังตรวจงวด (period.go:126)
ที่มาในโค้ด
backend/internal/application/process/gl_template_rules.go:20glRuleByScreenbackend/internal/application/process/transcalc.go:14calcFlagByTransFlagbackend/internal/application/process/trans.go:19ค่าคงที่ 72/70/124/422backend/internal/application/process/trans_grid.go:85กลุ่ม flag ขาย/ซื้อbackend/internal/application/process/service.go:1731glRebuildTransFlagsbackend/internal/application/process/period.go:126periodExemptFlagsbackend/internal/application/process/journaltax.go:161999/1501/1502backend/internal/application/process/fa_depreciation.go:281801/1802backend/internal/application/process/point_doc.go:14801/802 (ไม่มีบรรทัด ไม่มีสต็อก ไม่มี GL)