สมอง SML

คลังความรู้ / ตารางข้อมูล

#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

คีย์และความสัมพันธ์

ใครเขียน (writers)

ใครลบและใครอ่าน

  • ลบพร้อมหัวในจุดเดียวกับ หัวสมุดรายวันทั่วไป (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:1066 insert บรรทัดจาก template
  • backend/internal/application/process/service.go:1634 insert บรรทัดมาตรฐาน
  • backend/internal/application/process/service.go:1705 ซิงก์ metadata จากหัว
  • backend/internal/application/process/docs.go:269 insert บรรทัด JV ทำมือ
  • backend/internal/application/process/doc_cancel.go:648 insert บรรทัดกลับด้าน
  • backend/internal/application/process/fa_depreciation.go:1007 บรรทัด 1801
  • backend/internal/application/process/fa_sale.go:589 บรรทัด 1802
  • backend/internal/application/process/workflow.go:925 บรรทัดปิดบัญชี
  • backend/internal/application/process/stock_beginning.go:565 บรรทัดยอดยกมา
  • backend/internal/application/process/workflow.go:553 GLCheck
  • backend/internal/application/process/report_menu_gl_fa.go:586 การจัดสรรตามแผนก
  • backend/internal/application/process/master_detail_specs.go:127 ตัวกันลบผังบัญชี

ดูเพิ่ม