Các bước tạo 1 report (PDF)

Report của HIS là gì?

Report là 1 project Class Library dùng để xuất PDF hay REPX. Report được thực thi phía server, nên version dotNet của project thì phụ thuộc cấu hình server (có cài runtime đó hay không), nhưng thường là 4.5. Một lỗi hay xảy ra là không đọc được dll do khác version dotNET.

Vì được thực thi phía server, nên để trong folder Server.

1 project Report bao gồm:

  • data liên quan trong Reports..L_Reports (xem vd bên dưới để hiểu rõ hơn).
  • (*) 1 file .cs là report chính/ entry, và các file phụ nếu report quá lớn phải tách ra, tên thường bắt đầu bằng ‘rpt’.
  • (*) 1 file DataSet cho report đó, tên thường giống tên sp mà nó được gen ra.
  • (**) 1 sp đi cùng để cung cấp data cho report.
  • project ReportTester (để test, không bao gồm trong sản phẩm cuối cùng).
  • add reference to ServerShared.dll và kế thừa class IReport như hình mẫu bên dưới

((*) Thực ra còn có các file như Designer.cs hay .xsc… đi cùng, gọi chung là ‘item’, nhưng để cho đơn giản & cũng vì behavior của project thì group các file này lại nên nói là ‘file’)

((**) tool CreateDataSet.exe sẽ lấy datatype mà gen ra dataset bằng cách truyền param rỗng, xem vd cách gen bên dưới)

Thực tế

Cách nhanh nhất là copy từ report sẵn có, sau đó modify lại.

Report phải có tên bắt đầu bằng ‘Report’

Report thường bao gồm 1 file rpt, 1 DataSet cho rpt đó, & project ReportTester để test.
Insert 1 dòng vào L_Reports để lưu template report đó. rep_PhieuChiDinhVaccine là sp chính để lấy data. Hãy tạo rep_PhieuChiDinhVaccine.

rep_PhieuChiDinhVaccine sẽ lấy data lên cho report & dùng làm căn cứ để gen dataset.

Sử dụng tool CreateDataSet.exe để gen file dataset.
Điền các thông số cần thiết.
Include file này vào trong project.
Chọn datasource cho report từ dataset này.

Sau đó bắt đầu thiết kế report theo mô tả từ ticket.

Sau khi hoàn thành việc thiết kế và binding data. Tiếp theo sẽ tạo dữ liệu trên table.

  • Tạo 1 record trong table Reports..L_Report, trong table này có 2 column name cần lưu ý là ProgIDDataProc

+ ProgID : là tên project của report, kèm theo tên file template của report

+ DataProc : tên stored procedure xử lý của report

  • Tạo record(s) trong table Reports..L_ReportParams, trong table này cần lưu ý những column name sau
    • Type : quy định control type để hiển thị trên phần mềm, theo như hình minh họa bên dưới, group box “Tham số” để nhập các tham số. Nếu Type = “Dropdown” thì control trên màn hình sẽ là lookupedit, tương tự nếu Type = “DateFrom” thì control sẽ là DateTimeEdit
    • Options: là tên Stored procedure để load dữ liệu vào control mà Type quy định
màn hình chạy báo cáo thống kê
cấu trúc bảng Reports..L_ReportParams