#faq#report#troubleshooting
เรียกรายงานยังไง ตั้งเงื่อนไขตรงไหน และทำไมรายงานว่าง
ตอบสั้น: เปิดเมนูรายงาน ตั้งเงื่อนไข (ช่วงวันที่ จากรหัส-ถึงรหัส คำค้น ตัวเลือกเฉพาะรายงาน) แล้วกดปุ่ม "ประมวลผลรายงาน" รายงานว่างส่วนใหญ่เกิดจากช่วงวันที่ ช่วงรหัส หรือเอกสารถูกยกเลิก (last_status ไม่ใช่ 0) ซึ่งรายงานตัดทิ้งโดยปริยาย
รายละเอียด
- หน้ารายงานกลาง
UniversalReportScreenตั้งต้นวันที่ "จาก" = 1 มกราคมของปีนี้ และ "ถึง" = วันนี้ (UniversalReportScreen.tsx:125-129) กดปุ่ม "ประมวลผลรายงาน" (:1112) เพื่อเรียกreport/runซึ่งต้องมีสิทธิ์อ่านเมนู (process/permission.go:25) - ฝั่ง backend
RunReport(report.go:246) ถ้าไม่ส่งวันที่ จะใช้ย้อนหลัง 1 ปีถึงวันนี้ (:262-263) และถ้าวันที่เป็น พ.ศ. (ปีเกิน 2400) จะลบ 543 ให้ (:163-180, ดู วันที่ในระบบเป็น พ.ศ. หรือ ค.ศ. ตั้งที่ไหน แล้วทำไมวันที่ในรายงานกับในบัญชีไม่ตรงกัน) - เงื่อนไขที่ส่งเข้ารายงาน:
DateFrom/DateTo,FromCode/ToCode,Keyword,ViewDetailและOpt(ตัวเลือกเฉพาะรายงาน) (report_menu.go:11-24) ไม่มีตัวกรองสาขาในreportParams - แต่ละเมนูมีรายงานของตัวเองใน registry
menuReports(report_menu.go:32); ถ้าไม่พบก็ลองตัวรันแบบเดิม (legacy) แล้วถ้ายังไม่พบจะตอบ "ไม่พบรายงาน <menuKey>" (report.go:289-296) - รายงานเอกสาร (ขาย/ซื้อ) กรอง
COALESCE(last_status,0)=0เสมอ เว้นแต่รายงานนั้นมีช่องติ๊ก "แสดงเอกสารที่ยกเลิก" (show_cancel_document) และผู้ใช้ติ๊กไว้ (report_menu_sopo.go:41-47,:102) และกรองdoc_date BETWEENวันที่ที่ตั้ง ตามช่วงรหัสลูกค้า/เจ้าหนี้และคำค้น (report_menu_so_po.go:260-263) - รายงานเจ้าหนี้/ลูกหนี้ก็ใช้
last_status = 0โดยปริยาย ช่อง "แสดงเอกสารที่ยกเลิก" (show_cancel) มีให้เฉพาะรายงานกลุ่มตั้ง/เพิ่ม/ลดหนี้อื่น (report_menu_ap_ar.go:246-250) - ไม่มีข้อมูลเลย หน้าจอแสดง "ไม่พบข้อมูลตามเงื่อนไขที่ระบุ" (
UniversalReportScreen.tsx:2265) - รายงานต้นทุนสินค้า: ถ้าตั้ง
erp_option.disable_item_costและผู้ใช้ไม่มีerp_user.show_item_costระบบซ่อนคอลัมน์ต้นทุน หรือปฏิเสธทั้งรายงานด้วย "ไม่มีสิทธิ์ดูต้นทุนสินค้า"; ถ้าอ่านค่าไม่ได้ก็ซ่อนไว้ก่อน (report_options.go:122-130,report.go:303-311) - รายงานที่ใช้เวลาเกิน 45 วินาทีจะถูกตัด (
report.go:253)
ข้อควรระวัง
- ชื่อช่องติ๊กไม่เหมือนกันทุกกลุ่ม: ขาย/ซื้อใช้
show_cancel_documentส่วนเจ้าหนี้/ลูกหนี้ใช้show_cancelและมีเฉพาะบางรายงาน — รายงานที่ไม่มีช่องนี้จะไม่แสดงเอกสารยกเลิกเลย - เอกสารต้นฉบับที่ถูกยกเลิกมี
last_status=1จึงหายจากรายงานปกติ ดู ยกเลิก แก้ไข ลบเอกสาร ต่างกันอย่างไร ผลต่อสต็อกและ GL
ดูเพิ่ม
- ทะเบียนรายงานรายเมนูและเงื่อนไขกรอง (Menu report registry & conditions)
- เครื่องมือรายงานฝั่ง Backend (Report engine / RunReport)
- จอรายงานกลาง (Universal Report Screen)
- สถานะยกเลิก/อนุมัติเอกสาร (last_status / approve_status / cancel flag)
- พิมพ์เอกสารออกมาเป็นฟอร์มยังไง แล้วปรับแบบฟอร์มพิมพ์ได้ที่ไหน
- วันที่ในระบบเป็น พ.ศ. หรือ ค.ศ. ตั้งที่ไหน แล้วทำไมวันที่ในรายงานกับในบัญชีไม่ตรงกัน
ที่มาในโค้ด
backend/internal/application/process/report.go:246-263,:289-296,:303-311,:253(timeout 45 วินาที)backend/internal/application/process/report_menu.go:11-32backend/internal/application/process/report_menu_sopo.go:11,:41-47,:102backend/internal/application/process/report_menu_so_po.go:260-263backend/internal/application/process/report_menu_ap_ar.go:246-250backend/internal/application/process/report_options.go:122-130frontend/account/report/UniversalReportScreen.tsx:125-129,:1112,:2265