หลังจากประมวลผลข้อมูลแต่ละ record เสร็จ จะส่งไปยังรายงานด้วย brp.ready()
บทที่ 8 / 8
การพิมพ์และจบรายงาน
การส่งข้อมูลไปยังรายงาน และจบกระบวนการ
8
/ 8
1
การส่งข้อมูลไปยังรายงาน
การส่งข้อมูลไปรายงานและเติมบรรทัดว่าง
| ส่งข้อมูลไปยังรายงาน
if coa.type = 1 then
brp.ready(rpt) | รายงาน Local (THA)
else
brp.ready(rpt2) | รายงาน Export
endif
...
| เติมบรรทัดว่างให้ครบหน้า
rpt.show.dt = 2
if row.count < detail.per.page then
for i = row.count to detail.per.page
if coa.type = 1 then
brp.ready(rpt)
else
brp.ready(rpt2)
endif
endfor
endif
คำอธิบาย
หลักการทำงาน:
brp.ready(rpt)— ส่งข้อมูล 1 แถวไปยังรายงาน BRP- หลังจบรายละเอียดทั้งหมด — เติมบรรทัดว่างให้ครบ 20 บรรทัดต่อหน้า เพื่อให้รายงานสวยงาม
rpt.show.dt = 2— บอกรายงานว่าเป็น "โหมดเติมบรรทัดว่าง"
2
การปิดรายงาน
เมื่อประมวลผลข้อมูลทุก record เสร็จ ปิดรายงานด้วย brp.close()
การปิดรายงาน
selecteos
if rpt > 0 then
brp.close(rpt)
endif
if rpt2 > 0 then
brp.close(rpt2)
endif
endselect
คำอธิบาย
คำสั่งสำคัญ:
selecteos— End of Select — ทำงานหลังจากวนลูป SELECT จบหมดแล้วbrp.close()— ปิดรายงานและส่งไปยังเครื่องพิมพ์/ไฟล์- ตรวจ
rpt > 0เพื่อให้แน่ใจว่ารายงานถูกเปิดก่อนจึงปิด
สรุป Flow ทั้งหมดของรายงาน
brp.open() → brp.ready() (วนส่งทุก record) → brp.close()