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
- ParentID: id cha, đối với các báo cáo cần thể hiện dạng báo cáo dạng cây, sử dụng trong SumTree (nếu không dùng SumTree thì tắt nó trong $this->options
- Project
Đối với bảng động cột, các cột cần động sử dụng format DynCol_<tên-cột>