Tài liệu ví dụ “Purchase Request Handling” mô tả yêu cầu nghiệp vụ, luồng xử lý và các field đề xuất.
Mục tiêu học tập
Hoàn thành bài thực hành này sẽ có một app với:- 1 entity Purchase Request và các field chính
- UI tối thiểu: Grid view + Record layout
- Workflow phản ánh luồng: tạo yêu cầu → phê duyệt → xử lý mua sắm → hoàn tất/đóng
- Phân quyền theo vai trò và kiểm thử end-to-end
Theo SDD, một value slice khi triển khai có thể gồm một hoặc nhiều app. Quickstart này tập trung vào việc hoàn thành một app đầu tiên trong phạm vi bài toán Purchase Request.
Kịch bản nghiệp vụ (Purchase Request)
Mục tiêu nghiệp vụ: Cho phép nhân viên gửi yêu cầu mua sắm (laptop, phụ kiện, phần mềm, vật tư…), đi qua phê duyệt của Trưởng nhóm/Trưởng phòng trước khi chuyển sang bộ phận Procurement xử lý. Trạng thái cần được cập nhật và thông báo theo từng bước. Luồng chính (tối thiểu):- Nhân viên tạo Purchase Request
- Trưởng nhóm/Trưởng phòng review và Approve/Reject
- Nếu Approve → chuyển sang Procurement xử lý
- Nếu Reject → đóng request
- Người yêu cầu theo dõi trạng thái
- Procurement hoàn tất → cập nhật trạng thái nhận hàng
Điều kiện tiên quyết
- Có quyền tạo App trong Space
- Có thể tạo và gán vai trò (Requester/Approver/Procurement)
Thiết kế dữ liệu tối thiểu
Entity: Purchase Request
Các field đề xuất (có thể điều chỉnh theo tổ chức):| Field (EN) | Nhãn (VI) | Kiểu dữ liệu | Bắt buộc | Ghi chú |
|---|---|---|---|---|
| Request No | Số yêu cầu | Auto number | Tự sinh | Hệ thống sinh |
| Title | Tiêu đề | Text (short) | Có | Mô tả ngắn |
| Requester | Người yêu cầu | People/User | Có | Người gửi |
| Department | Phòng ban | Choice/Text | Có | Phục vụ routing |
| Category | Loại mua | Choice | Có | Laptop, Software… |
| Description | Mô tả chi tiết | Long text | Có | Lý do |
| Estimated Cost | Chi phí dự kiến | Number/Currency | Không | |
| Status | Trạng thái | Choice | Có | Draft, Pending Approval, Approved, Rejected, In Procurement, Completed, Closed |
| Approver | Người phê duyệt | People/User | Hệ thống | Trưởng nhóm/phòng |
| Procurement PIC | Người xử lý mua | People/User | Hệ thống | |
| Created on | Ngày tạo | DateTime (System) | Tự sinh |
Các bước thực hiện
Bước 1 — Tạo App
Tạo app mới:
Purchase Request Handling.Mục tiêu: tạo “work system container” để cấu hình dữ liệu + UI + workflow + vai trò.Bước 2 — Tạo Entity và Fields
Tạo entity:
Purchase Request, sau đó thêm các field theo bảng “Thiết kế dữ liệu tối thiểu”.✅ Kết quả: có thể tạo record “Purchase Request” với thông tin và trạng thái ban đầu.Xem thêm: Thực thể dữ liệu (Entity) và Kiểu trường dữ liệu (Field types).Bước 3 — Tạo Grid view (UI làm việc hằng ngày)
Tạo Grid view cho entity
Purchase Request.Cột gợi ý:- Request No, Title, Requester, Department, Category, Estimated Cost, Status, Created on
- Sort theo
Created on(mới nhất trước) - Filter theo
Status(tuỳ nhóm sử dụng)
Bước 4 — Thiết kế Record layout (form/chi tiết record)
Thiết kế Record layout theo nhóm thông tin:
- Thông tin yêu cầu (Request No, Title, Description, Category, Estimated Cost)
- Thông tin tổ chức (Requester, Department, Created on)
- Thông tin xử lý (Status, Approver, Procurement PIC)
Bước 5 — Tạo Workflow tối thiểu (phản ánh luồng xử lý)
Thiết kế workflow theo các trạng thái đề xuất:
- Draft → Pending Approval → Approved → In Procurement → Completed → Closed
- Nhánh từ chối: Pending Approval → Rejected → Closed
- Mỗi chuyển trạng thái gắn với một hành động rõ ràng và một vai trò chịu trách nhiệm.
- Trạng thái phải thể hiện vị trí công việc trong luồng.
Bước 6 — Thiết lập Roles & Permissions
Tối thiểu 3 vai trò:
- Requester: tạo/sửa khi Draft, gửi duyệt (Pending Approval), theo dõi trạng thái
- Approver: xem và Approve/Reject khi Pending Approval
- Procurement: cập nhật trạng thái In Procurement → Completed
Bước 7 — Kiểm thử end-to-end theo luồng chính
Thực hiện kiểm thử theo 3 vai trò:
- Requester tạo record ở Draft
- Requester chuyển sang Pending Approval
- Approver Approve hoặc Reject
- Nếu Approved: Procurement chuyển sang In Procurement → Completed
- Đóng vòng: Closed (khi đã hoàn tất hoặc bị từ chối)
- Không thấy dữ liệu/không thao tác được → kiểm tra Permissions
- Không chuyển được trạng thái → kiểm tra workflow/điều kiện
- Form khó sử dụng → chỉnh record layout
Phạm vi của quickstart này
Quickstart này chỉ bao gồm phần tối thiểu để app “chạy được”:- Grid view cơ bản, record layout cơ bản, workflow cơ bản, phân quyền cơ bản.
Bước tiếp theo
- Quyết định “tách app hay giữ một app”: Ranh giới App
- Kết nối app bằng publish/consume: Chia sẻ dữ liệu (Publish/Consume)
- Scenario-Driven (SDD) —: SDD là gì
- Thảo luận: community.cleeksy.com
