
Cầm tay chỉ việc – Nhập đơn, xem trạng thái | Chưa cần duyệt tự động
🎯 Mục tiêu thực hành (đọc trước khi làm)
Sau khi hoàn thành bài này, bạn sẽ:
- Tự tạo được App đăng ký nghỉ phép dùng thật
- Hiểu vì sao phải làm từng bước như vậy (không làm máy móc)
- Nắm chắc 3 nền tảng quan trọng nhất của Power Apps:
- Dữ liệu (Data)
- Form & Gallery
- Trạng thái nghiệp vụ (Status)
👉 Bài này KHÔNG làm workflow duyệt, để bạn không bị quá tải.
1️⃣ Chuẩn bị trước khi mở Power Apps (RẤT QUAN TRỌNG)
✅ Bạn cần có:
- Tài khoản Microsoft 365
- Quyền tạo:
- SharePoint List hoặc
- Excel Online (OneDrive / SharePoint)
👉 Khuyến nghị dùng SharePoint List nếu:
- Nhiều người dùng
- Có HR quản lý
- Muốn mở rộng sau này
2️⃣ Tạo dữ liệu nghỉ phép (làm trước – không vội mở App)
📌 Vì sao phải làm dữ liệu trước?
Power Apps không phải Excel kéo thả,
nó hoạt động tốt nhất khi dữ liệu đã được thiết kế rõ ràng.
🔹 Tạo SharePoint List: LeaveRequests
| Tên cột | Kiểu dữ liệu | Giải thích |
|---|---|---|
| LeaveID | Single line text | Mã đơn |
| EmployeeName | Single line text | Tên nhân viên |
| Department | Choice | Phòng ban |
| LeaveType | Choice | Phép năm / Nghỉ ốm |
| StartDate | Date | Ngày bắt đầu |
| EndDate | Date | Ngày kết thúc |
| Days | Number | Số ngày nghỉ |
| Reason | Multiple lines | Lý do |
| Status | Choice | Pending / Approved / Rejected |
| CreatedBy | Person | Người tạo |
👉 Status rất quan trọng → là “xương sống” của app HR.
3️⃣ Tạo App mới (Canvas App)
🔹 Bước 1: Tạo App
- Vào Power Apps
- Create → Canvas App (Phone layout)
- Đặt tên:
Leave Request App
👉 Chọn Phone layout vì:
- Nhân viên thường dùng điện thoại
- HR app nội bộ → mobile-friendly
🔹 Bước 2: Kết nối dữ liệu
- Data → Add data
- Chọn SharePoint
- Kết nối List
LeaveRequests
👉 Nếu kết nối lỗi:
- Kiểm tra quyền SharePoint
- Kiểm tra tên cột (không dùng ký tự đặc biệt)
4️⃣ Màn hình 1 – Danh sách đơn nghỉ phép (Gallery)
🎯 Mục tiêu màn hình này
- Nhân viên xem các đơn mình đã gửi
- Không nhìn thấy đơn của người khác
🔹 Thêm Gallery
- Insert → Gallery → Vertical
- Chọn dữ liệu:
LeaveRequests
🔹 Lọc theo người đăng nhập
Items =
Filter(
LeaveRequests,
CreatedBy.Email = User().Email
)
👉 Giải thích:
User().Email= người đang dùng app- Không cần phân quyền phức tạp vẫn đảm bảo riêng tư
🔹 Hiển thị thông tin
Trong Gallery:
- Title: LeaveType
- Subtitle: StartDate & EndDate
- Status: Status.Value
5️⃣ Màu trạng thái (rất nên làm)
🎯 Vì sao cần?
- Người dùng nhìn là hiểu
- Không cần đọc chữ nhiều
If(
ThisItem.Status.Value = "Approved", Color.Green,
ThisItem.Status.Value = "Rejected", Color.Red,
Color.Orange
)
6️⃣ Màn hình 2 – Tạo đơn nghỉ phép mới (Form)
🔹 Thêm màn hình mới
- Insert → New screen
- Insert → Edit Form
- DataSource: LeaveRequests
🔹 Cấu hình Form
- DefaultMode:
FormMode.New - Các field:
- LeaveType
- StartDate
- EndDate
- Reason
🔹 Tự động điền thông tin (RẤT QUAN TRỌNG)
EmployeeName
Default = User().FullName
CreatedBy
Default = User()
Status
Default = "Pending"
👉 Nhân viên không được chọn Status → tránh gian lận.
7️⃣ Tính số ngày nghỉ tự động
🎯 Tránh nhập tay → tránh sai
Ở field Days:
DateDiff(StartDate.SelectedDate, EndDate.SelectedDate) + 1
👉 +1 vì tính cả ngày đầu & cuối.
8️⃣ Nút Gửi đơn
🔹 Button “Gửi đơn”
SubmitForm(FormLeave);
Notify("Đã gửi đơn nghỉ phép", NotificationType.Success);
Back()
👉 App thân thiện, người dùng biết đã gửi thành công.
9️⃣ Màn hình xem chi tiết đơn (tuỳ chọn)
- Cho nhân viên:
- Xem lý do
- Xem trạng thái
- Không cho sửa sau khi gửi
DisplayMode = DisplayMode.View
🔟 Phân quyền đơn giản cho HR (giai đoạn đầu)
HR có thể:
- Vào SharePoint
- Sửa Status thủ công
👉 Không cần Power Automate ở giai đoạn này.
✅ Kết quả sau bài thực hành
Bạn đã có:
- App nghỉ phép dùng thật
- Nhân viên tự gửi đơn
- Theo dõi trạng thái minh bạch
- HR có dữ liệu tập trung
- Nền tảng để làm duyệt tự động ở bài sau
🧠 Vì sao bài này CỐ TÌNH không làm duyệt tự động?
Vì 90% người mới học Power Apps fail
là do nhảy vào workflow quá sớm.
👉 Làm tốt bài này = bạn đã đi đúng hướng.