Bỏ qua để đến nội dung

Report Designer: thiết kế biểu mẫu in từ báo cáo

Có những văn bản mà layout quan trọng ngang dữ liệu: thư mời nhận việc, phiếu lương, thông báo phúc lợi, giấy khen, in séc. Workday giải bằng business form layout — bản thiết kế áp lên PDF của một report — và công cụ dựng nó là Report Designer: tool kéo-thả chạy trên Eclipse (nền BIRT), cài qua Workday Studio, không nằm trong tenant.

Chỉ cần Report Designer khi: override layout Workday giao sẵn, tạo layout cho report chưa có, hoặc làm biểu mẫu cho custom report. Và quy tắc giữ cho hệ sạch: “Report Writer lo DATA, Report Designer lo LAYOUT” — filter, cột tính toán làm ở phía Workday; làm trong Designer là bad practice chính chủ. Hệ quả đồng bộ: xóa field khỏi report → layout hiện khoảng trắng; thêm field mới → layout lờ đi cho tới khi cập nhật design.

flowchart LR
  R["Custom report ADVANCED<br/>+ Enable As Web Service"] --> DS["Report Designer:<br/>Data Source → Data Set<br/>(1 report duy nhất)"]
  DS --> D["Design .rptdesign<br/>table · grid · image token<br/>master page · chart"]
  D --> DEP["Deploy to Workday<br/>(hoặc upload tay:<br/>Manage Layouts)"]
  DEP --> P(["Print → PDF vào My Reports<br/>· Report step trong BP<br/>· PdfPrintStep trong Studio"])
  style P fill:#e7f5ea,stroke:#2e7d32

Điểm cấu hình đáng chú ý khi gắn layout: một report gắn nhiều layout (nhưng 1 layout chỉ thuộc 1 report — nên đặt Default Print Layout kể cả khi chỉ có một); Resulting Document Expiration — PDF hết hạn bị Workday tự xóa không khôi phục được; Tokens cho logo/chữ ký — đổi ảnh trong Workday mà không phải sửa design; Apply per row — tách mỗi dòng thành một PDF (thư cho từng nhân viên), tự bật bulk print.

  • Table = trái tim: lặp qua mọi dòng dữ liệu (sort/filter/highlight so le); Grid = layout tĩnh không lặp — cho thư một người; đừng đặt height/width cứng.
  • Dynamic Text (JavaScript expression) — bắt buộc dùng thay Data item khi field là Rich Text (String chứa HTML) muốn render đúng định dạng.
  • Master Page — header/footer/ảnh nền mọi trang; bẫy nhỏ: footer mặc định có sẵn new Date(), không cần thì xóa.
  • Multi-instance field → secondary data set: bảng lồng bảng phải bind PrimaryRowNumber đúng cách — pattern trong ví dụ thư phúc lợi.
  • Chart: ⚠️ SVG không render khi Workday sinh PDF — luôn chọn PNG/JPG; tắt Live Preview trước khi thêm chart.
  • Barcode/MICR: font IDAutomation kèm sẵn; in séc luôn ở scale 100% kẻo dòng MICR sai.
  • Group: ưu tiên group từ phía Workday; không group khi dữ liệu >10 MB (BIRT giữ toàn bộ trong RAM).

Dịch đa ngôn ngữ — một design, nhiều thứ tiếng

Phần tiêu đề “Dịch đa ngôn ngữ — một design, nhiều thứ tiếng”

Cơ chế resource file: translations.properties (mặc định, không suffix) + translations_fr_FR.properties… mỗi ngôn ngữ một file đủ mọi key; label gắn key qua tab Localization; runtime chọn file theo Preferred Display Language của người in. Muốn thư in theo locale của nhân viên nhận thư (không phải người bấm in) thì thêm script onCreate gọi reportContext.getMessage(key, locale) — ví dụ 5 trong tài liệu làm đúng bài này. Sau deploy vẫn upload thêm bản dịch được ngay trong Manage Layouts.

  • Test trong Designer: Web Viewer → Export PDF với Actual Size (Auto đôi khi phân trang sai); nhưng page number + script theo event có thể khác khi chạy thật → vòng test cuối luôn trên Workday.
  • Debug JavaScript bằng Debug Configurations (đừng dùng menu Report > Debug Report — chỉ ra HTML không hiển thị).
  • Font: dropdown chỉ hiện font có trên server Workday; chữ mất/ô vuông → đổi Arial Unicode MS (phủ code point rộng — đáng nhớ cho tiếng Việt).
  • Print job quá 2 giờ → Failed; không print được ở chế độ Proxy; sinh PDF đòi quyền xem mọi field của report — lý do một số biểu mẫu self-service phải để admin sinh hộ.

8 ví dụ trong tài liệu — đọc theo nhu cầu

Phần tiêu đề “8 ví dụ trong tài liệu — đọc theo nhu cầu”

Thư một trang (1 data set) → thư phúc lợi bảng lồng (3 data set) → dịch resource file → thư mời nhận việc hoàn chỉnh → dịch theo locale nhân viên → total compensation có pie chart → giấy khen ảnh nền master page → sinh PDF tự động bằng PdfPrintStep trong Studio integration (không cần bấm Print). Hai ví dụ 4–5 là bộ khung thực dụng nhất cho dự án HCM tại Việt Nam (thư mời song ngữ Việt–Anh theo locale từng ứng viên).


Chắt lọc từ Workday Reporting and Analytics Administrator Guide (mục Business Form Layouts, Workday Report Designer) — doc.workday.com.

Chia sẻ: