# Data Script

Mục Data Scripts cho phép người dùng viết các đoạn mã ngắn để truy vấn dữ liệu từ máy chủ (Server-side), biến Landing Page từ một trang nội dung tĩnh thành một trang thông tin luôn cập nhật theo thực tế hệ thống.

## 1. Mục tiêu

Tự động hóa việc hiển thị dữ liệu trên Landing Page. Thay vì phải cập nhật thủ công từng vị trí tuyển dụng hay ngày giờ sự kiện, hệ thống sẽ tự động lấy dữ liệu mới nhất từ MBW ATS để hiển thị cho ứng viên.

## 2. Khi nào sử dụng

* Hiển thị danh sách động: Khi cần liệt kê danh sách các công việc đang mở, danh sách các văn phòng chi nhánh, hoặc lịch trình các buổi phỏng vấn.
* Cá nhân hóa nội dung: Khi muốn lấy các thông tin cụ thể từ hệ thống để hiển thị lên giao diện (ví dụ: lấy tổng số lượng hồ sơ đã ứng tuyển để tạo hiệu ứng tin cậy).
* Kết nối dữ liệu chuyên sâu: Khi mục Data Key (kéo thả đơn giản) không đáp ứng được các yêu cầu truy vấn phức tạp hoặc cần lọc dữ liệu theo điều kiện riêng.

## 3. Các bước thực hiện

### Bước 1: Soạn thảo Script (Khung bên trái)

<figure><img src="/files/PaEqFILV2vHICqJFWNuj" alt=""><figcaption></figcaption></figure>

* Nhập mã nguồn vào khung soạn thảo. Bạn có thể sử dụng các hàm hỗ trợ của hệ thống để truy xuất danh sách.
* *Ví dụ:* Để lấy danh sách sự kiện, bạn dùng lệnh: `data.events = frappe.get_list("Event")`

### Bước 2: Kiểm tra dữ liệu (Khung Data Preview bên phải)

* Quan sát ô Data Preview ngay lập tức. Nếu mã của bạn viết đúng, dữ liệu phản hồi sẽ hiển thị dưới dạng cấu trúc JSON (trong cặp ngoặc nhọn `{}`).
* Việc này giúp bạn xác nhận chính xác tên các trường thông tin trước khi gắn chúng vào giao diện.

### Bước 3: Lưu cấu hình

* Sau khi dữ liệu hiển thị đúng như mong đợi, chọn nút `Save` để hoàn tất việc thiết lập. Dữ liệu này bây giờ đã sẵn sàng để được gọi ra ở các thành phần trên trang.

## 4. Các lưu ý quan trọng

* Cú pháp máy chủ: Khác với Client Script (chạy trên trình duyệt), Data Script chạy trực tiếp trên máy chủ. Do đó, chỉ sử dụng các hàm được hệ thống cho phép để đảm bảo an toàn và hiệu suất.
* Kiểm tra Preview thường xuyên: Nếu ô Data Preview không hiển thị dữ liệu hoặc báo lỗi, hãy kiểm tra lại tên đối tượng (DocType) hoặc quyền truy cập của tài khoản thiết kế.
* Hiệu năng trang: Tránh viết các câu lệnh truy vấn quá nặng hoặc lấy hàng nghìn bản ghi cùng lúc, điều này có thể làm chậm tốc độ tải Landing Page của ứng viên.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mhiring.vn/mcms/code/data-script.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
