Bắt đầu với Reporter

Phạm vi áp dụng

✅ Bravo 8 · ✅ Bravo 10

Bravo 8 hỗ trợ thiết kế báo cáo linh động hơn so với Bravo 7.

Hai thay đổi nền tảng

  • Về CSDL: khi khai báo command không khai báo thủ tục chạy báo cáo, mà khai báo trực tiếp trên layout báo cáo bằng thẻ Command
  • Về thiết kế giao diện: layout báo cáo chia làm 2 phần DataSource và Layout, tương tự Explorer và Editor

Cấu trúc khai báo

<root>
  <Command>Tên_thủ_tục</Command>
 
  <Tables>
    <ParametersTable>...</ParametersTable>   <!-- điều kiện lọc -->
    <Table_1>...</Table_1>                   <!-- dữ liệu báo cáo -->
    <Table_2>...</Table_2>
  </Tables>
 
  <panelParameters>
    <Controls>...</Controls>                 <!-- control điều kiện lọc -->
  </panelParameters>
 
  <panelReporter>
    <Controls>
      <Report_0>
        <PrintSettings>...</PrintSettings>
        <ReportSetup>...</ReportSetup>
        <ExportSettings>...</ExportSettings>
        <ExportSetup>...</ExportSetup>
        <Content>...</Content>
      </Report_0>
      <Report_1>...</Report_1>
    </Controls>
  </panelReporter>
</root>

Bỏ SubReport — dùng Report_0, Report_1…

Khác Bravo 7

Bravo 8 không sử dụng SubReport như Bravo 7, mà khai báo từng báo cáo lần lượt: Report_0, Report_1, Report_2…

  • Các Report được khai báo với vị trí dòng/cột chỉ định
  • Nếu không khai báo dòng/cột → mặc định các báo cáo nằm lần lượt từ trên xuống dưới như bản 7
  • Mỗi Report được coi là 1 Control nên phải khai báo DataMember tương ứng với bảng dữ liệu trả về từ thủ tục (Table1, Table2, Table3…)
  • Không khai báo DataMember → mặc định là bảng đầu tiên trả về từ thủ tục

⚠️ Tiền tố @_ cho biến tham số

Khác Bravo 7

Khi khai báo Reporter tham chiếu tới biến của bảng tham số cần có tiền tố @_.

Không có tiền tố @_ sẽ báo lỗi. Bravo 7 không cần tiền tố này.

ParametersTable

Khai báo các thẻ xử lý dữ liệu của các trường điều kiện lọc báo cáo. Các thẻ con tương tự DataSource của Editor.

ThẻThời điểm thực thi
RowAddedKhi bảng parameter thêm 1 dòng dữ liệu
ServerUpdatingEvaluator chạy trước khi thực hiện thủ tục báo cáo (trong Transaction)
ServerUpdatedEvaluator chạy sau khi thủ tục báo cáo hoàn thành (trong Transaction)
ServerCommand → AfterCommitEvaluator chạy sau khi thủ tục thực hiện xong và Transaction committed

Warning

Bảng ParametersTable luôn luôn có tối đa 1 dòng dữ liệu.

Table_x — tạo cây

Chứa Evaluators, TempColumns tương tự Editor, cộng thêm các thẻ tạo cây:

ThẻNội dung
CreateTreeCó tạo cây hay không — mặc định False
TreeNodeKeyTrường tạo cây
TreeIdTrường Id tạo cây
TreeParentIdTrường ParentId tạo cây

Đã lỗi thời

Từ ver 4.1.6.1, các thẻ con này không được sử dụng trong thuật toán tạo cây ở màn hình Reporter nữa. Xem zMakingTreeNodeKeyColName.

Bản đồ các nhóm thẻ

NhómVai tròNote
<PrintSettings>Thiết lập định dạng in — khổ giấy, lề, máy inPrintSettings
<ReportSetup>Thiết lập bố cục và hành vi báo cáo — nhóm, lặp tiêu đề, đường kẻ, watermarkReportSetup
<ExportSettings>Thiết lập kết xuất — loại file, gửi mailExportSettings
<ExportSetup>Chi tiết bố cục khi kết xuấtExportSetup
<Content>Nội dung báo cáo — nhóm, tổng cộng, biểu đồ, câyContent
Thẻ cấp formTham số lọc nhanh, template, caching…Thẻ khác của Reporter

Liên quan

Bắt đầu với Explorer · Bắt đầu với USPCaller và Wizard · Bắt đầu với Dashboard · Bắt đầu với Expression