Setup
ReportFrame cần ít nhất hai đối tượng sau:
Một bảng tạm trong CSDL chứa nội dung của báo cáo và một bảng lọc trước (có thể dùng default là glm_gl_books) để đối chiếu lấy dữ liệu. Bảng tạm trong CSDL sẽ dùng các cột dựa trên bảng lọc trước.
$report = ReportFrame('<tên-bảng-tạm>');
$data = $report->execute('<tên-bảng-lọc-trước>');
Đối với bảng tạm trong CSDL, chúng ta có các quy ước sau:
- Bảng tạm phải chứa ít nhất các cột sau:
RowCondition, ItemID, Static
| Cột | Mục đích | Kiểu dữ liệu | Phải có | Chú thích |
| RowCondition | Đây sẽ đóng vai trò làm điều kiện hàng trong báo cáo, gộp các formula trong IjFormula trước đó vào thành một |
JSON | YES | |
| ItemID | Dùng để phân biệt các hàng với nhau | VARCHAR/CHAR | YES | Default dùng để sắp xếp, cũng như phân biệt các đối tượng với nhau |
| Static | Để xác định xem nó có phải hàng động không | TINYINT | YES |
Sau đó bạn có thể thêm các cột sau trong bảng (nếu muốn)
ParentID:idcha,Cột Mục đ ốíchKiểu dữ liệu Phải vớicóChú thích ParentID Dùng cho các báo cáo cần thể hiện dạngbáo cáo dạng cây,ysửVARCHAR/CHAR dụngNO trongDefault cho SumTree, bởi SumTree (dùng cột này để tính tổng, nếu báo cáo không dùngSumTreeSumTree,thì tắbậtnó'DoNotSumTree' trong $this->optionsProjectĐốiCanPrint với bảDùng đ ộể bật/tắt các hàngTINYINT NO Nếu có cột này, default ReportFrame sẽ lấy tất cả các hàng có CanPrint = 1
Các cột,t khác sẽ dùng cho nội dung của báo cáo, riêng các cột cầgiá trị số (I1, I2, ..., v.v...) có quy tắc và hỗ trợ của riêng nó
Một số các cột khác thường cho thêm vào bao gồm
| Cột | Mục đích | Kiểu dữ liệu | Phải có | Chú thích |
| Norder | Phụ sắp thứ tự | VARCHAR/CHAR | NO | |
| FontWeight | Dùng để điều chỉnh đậm/nhạt | TINYINT | NO | Hay dùng nhất |
| Italic | Dùng để điều chỉnh chữ nghiêng | TINYINT | NO | |
| STT | Dùng để đánh thứ tự trong các báo cáo có đánh thứ tự | VARCHAR/CHAR | NO | Không nên |
Ví dụ dùng formatS90:
