#tables#gl
รายการบัญชีแยกประเภท (gl_journal_detail)
บรรทัดเดบิต/เครดิตของเอกสารบัญชี เอกสาร 1 ใบมีหลายบรรทัด ตารางนี้คือฐานของงบทดลอง แยกประเภท และงบการเงินทั้งหมด หัวเอกสารอยู่ที่ หัวสมุดรายวันทั่วไป (gl_journal)
คอลัมน์สำคัญ
| คอลัมน์ | ความหมาย | ใช้ที่ไหน |
|---|---|---|
doc_no, doc_date, book_code |
คีย์เชื่อมหัว หัวสมุดรายวันทั่วไป (gl_journal) | ทุก writer และรายงาน |
line_number |
ลำดับบรรทัด เรียงเดบิตก่อนแล้วเรียงรหัสบัญชี (บรรทัดที่ rebuild จาก template คง line เดิมของ template) | gl_template.go:1059-1066 |
account_code |
รหัสบัญชี อ้าง ผังบัญชี (gl_chart_of_account) code |
ทุกรายงาน, GLCheck workflow.go:592 |
account_name |
ชื่อบัญชีสำเนา (ตัดที่ 100 ตัวอักษร) บรรทัดกลับรายการยกเลิกขึ้นต้นด้วย * |
gl_template.go:1066, doc_cancel.go:650 |
debit_or_credit |
0 = บรรทัดเดบิต, 1 = บรรทัดเครดิต | docs.go:269-290, gl_template.go:1066 |
debit, credit |
จำนวนเงิน NUMERIC (ฝั่งตรงข้ามเป็น 0) | งบทดลอง, workflow.go GLCheck |
description |
คำอธิบายบรรทัด | gl_template.go:1066 |
trans_flag |
ชนิดเอกสารต้นทาง คัดลอกจากหัว | rebuild/ลบ |
journal_type |
0 รายวัน, 1 ยกมางวด, 2 ปิดงวด, 3 ปรับปรุง, 4 ยอดยกมา คัดลอกจากหัว | report_menu_gl_fa_tb.go:8-24 |
period_number, account_year, branch_code |
คัดลอกจากหัว rebuild ซิงก์ให้ตรงหัวทุกครั้ง | service.go:1705-1727 |
is_pass |
สถานะผ่านรายการ ซิงก์จากหัว | workflow.go:517-521 |
roworder |
ลำดับแถวภายใน ใช้ตัดสินลำดับเมื่อ line ซ้ำ | doc_cancel.go:620 |
คีย์และความสัมพันธ์
- หัว: หัวสมุดรายวันทั่วไป (gl_journal) ด้วย (
doc_no,doc_date,book_code) บาง SQL ผูกเฉพาะdoc_no+trans_flag - ผังบัญชี: ผังบัญชี (gl_chart_of_account) (
account_code=code) - สมุดรายวัน: สมุดรายวัน (gl_journal_book)
- ตารางแยกมิติของบรรทัดเดียวกัน:
gl_journal_side_list,gl_journal_depart_list,gl_journal_project_list,gl_journal_allocate_list,gl_journal_job_listเชื่อมด้วยdoc_no+line_number+account_code(ดู กลุ่มตารางบัญชีแยกประเภท (gl_*))
ใครเขียน (writers)
- ลงบัญชีตาม template
gl_template.go:1066และมาตรฐานservice.go:1634(ดู เครื่องมือลงบัญชีตามรูปแบบ GL (GL Template Engine), การลงบัญชี Dr/Cr มาตรฐานแยกตามชนิดเอกสาร (Standard GL Posting)) - JV ทำมือ
docs.go:269(หนึ่ง statement ต่อบรรทัด, คำนวณงวดจากerp_account_period) - เอกสารยกเลิก
doc_cancel.go:648(คัดลอกบรรทัดต้นฉบับ สลับ debit/credit และdebit_or_credit) - ค่าเสื่อม 1801
fa_depreciation.go:1007, ขายสินทรัพย์ 1802fa_sale.go:589, ปิดบัญชีworkflow.go:925, ยอดยกมาสต็อกstock_beginning.go:565 - ซิงก์ metadata จากหัว
service.go:1705, ซิงก์is_passworkflow.go:517
ใครลบและใครอ่าน
- ลบพร้อมหัวในจุดเดียวกับ หัวสมุดรายวันทั่วไป (gl_journal):
service.go:1427,gl_template.go:1161,docs.go:421,doc_cancel.go:627,stock_beginning.go:486,fa_sale.go:488 - อ่าน: งบทดลอง/แยกประเภท/สมุดรายวันสรุป (
report_menu_gl_fa.go), การจัดสรรแผนกreport_menu_gl_fa.go:586, ตรวจรายวันworkflow.go:553-612, ตัวกันลบรหัสผังบัญชีที่ถูกใช้master_detail_specs.go:127, เปลี่ยนรหัสผังบัญชีworkflow.go:162
ข้อควรระวัง
- GLCheck ตรวจว่า: บรรทัดที่
account_codeไม่อยู่ใน ผังบัญชี (gl_chart_of_account), บรรทัดที่ใช้ผังบัญชีstatus = 1(บัญชีหลัก), เอกสารที่ SUM(debit) ไม่เท่า SUM(credit), และบรรทัดที่ไม่พบหัว (workflow.go:590-604) - ถ้าแก้ metadata ที่หัวต้องซิงก์ลงบรรทัดด้วย ไม่เช่นนั้น join (
book_code,doc_no,account_year,period_number,journal_type,branch_code) จะไม่ตรง (คอมเมนต์service.go:1705) - ห้ามแก้บรรทัดตรง ๆ เพื่อแก้บัญชีของเอกสารอัตโนมัติ rebuild จะลบแล้วสร้างใหม่; แก้ที่ template หรือ master แล้ว rebuild (กระบวนการสร้างสมุดรายวัน GL ใหม่ (GL Rebuild Process))
- เงินทุกช่องเป็น NUMERIC ห้ามคำนวณด้วย float (การปัดเศษ ทศนิยม และตัวเลขเงิน (Rounding & Decimal Policy))
- rebuild แก้บรรทัดยอดยกมาสต็อก (
trans_flag = 54) ที่account_codeไม่อยู่ในผังบัญชี ให้ใช้บัญชีสินค้า/ทุนที่หาได้จากผัง (service.go:1666-1676)
ที่มาในโค้ด
backend/internal/application/process/gl_template.go:1066insert บรรทัดจาก templatebackend/internal/application/process/service.go:1634insert บรรทัดมาตรฐานbackend/internal/application/process/service.go:1705ซิงก์ metadata จากหัวbackend/internal/application/process/docs.go:269insert บรรทัด JV ทำมือbackend/internal/application/process/doc_cancel.go:648insert บรรทัดกลับด้านbackend/internal/application/process/fa_depreciation.go:1007บรรทัด 1801backend/internal/application/process/fa_sale.go:589บรรทัด 1802backend/internal/application/process/workflow.go:925บรรทัดปิดบัญชีbackend/internal/application/process/stock_beginning.go:565บรรทัดยอดยกมาbackend/internal/application/process/workflow.go:553GLCheckbackend/internal/application/process/report_menu_gl_fa.go:586การจัดสรรตามแผนกbackend/internal/application/process/master_detail_specs.go:127ตัวกันลบผังบัญชี