Skip to main content

Setup

Bảng 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 trong bảng:sau:

RowCondition, ItemID, Static

CộtMục đíchKiểu dữ liệuPhả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 
JSONYES
ItemIDDùng để phân biệt các hàng với nhauVARCHAR/CHARYESDefault 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ôngTINYINTYES 

 

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
  • PProject

Đối với bảng động cột, các cột cần động sử dụng format DynCol_<tên-cột>