Skip to main content

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>