BÀI GIẢNG THỰC HÀNH CẦM TAY CHỈ VIỆC- APP ĐĂNG KÝ CÔNG TÁC

(Lưu thông tin chuyến đi → Quản lý duyệt)

✈️ Công cụ sử dụng:

  • Microsoft Power Apps
  • Microsoft Power Automate
  • Microsoft SharePoint

🎯 MỤC TIÊU BUỔI HỌC

Sau khi hoàn thành bài này, học viên sẽ tự làm được:

✅ Nhân viên đăng ký công tác trên App

✅ Lưu đầy đủ thông tin chuyến đi

✅ Quản lý nhận thông báo duyệt

✅ Duyệt / từ chối trực tiếp trên App

✅ Theo dõi trạng thái xử lý

✅ Hiểu quy trình công tác thực tế trong doanh nghiệp


📌 PHẦN 1 — HIỂU BÀI TOÁN THỰC TẾ


❗ Tình huống doanh nghiệp thật

Rất nhiều công ty hiện nay xử lý đăng ký công tác bằng:

  • giấy đề nghị công tác
  • Excel
  • Email thủ công
  • nhắn Zalo cho quản lý

👉 Hậu quả thường gặp:

❌ thất lạc hồ sơ

❌ quản lý quên duyệt

❌ không biết đã được duyệt chưa

❌ không theo dõi được lịch sử đi công tác

❌ khó tổng hợp chi phí công tác


💡 Giải pháp bằng Power Platform

Nhân viên

→ mở App
→ đăng ký chuyến công tác

Hệ thống

→ tự lưu dữ liệu vào SharePoint

Quản lý

→ nhận Email thông báo

→ duyệt hoặc từ chối

Công ty

→ theo dõi tập trung

👉 Đây chính là:

SỐ HÓA QUY TRÌNH CÔNG TÁC


🏗 PHẦN 2 — TẠO SHAREPOINT LIST


BƯỚC 1: MỞ SHAREPOINT

Thực hiện như sau

Bước 1

Mở trình duyệt Chrome

Bước 2

Truy cập:

office.com

Bước 3

Đăng nhập tài khoản Microsoft 365

Bước 4

Chọn:

SharePoint

📌 Nếu không thấy:

→ bấm “All Apps”


🎯 Giải thích

SharePoint là nơi:

lưu toàn bộ dữ liệu công tác

Giống như:

database cho dân văn phòng

Power Apps sẽ lấy dữ liệu từ đây.


BƯỚC 2: TẠO LIST MỚI

Thực hiện

New

List

Blank List


Điền tên List

BusinessTripRequests

⚠ Viết đúng chính tả
⚠ Không thêm khoảng trắng thừa


Bấm:

Create

🎉 Hoàn tất


🎯 Giải thích

Tên này cực kỳ quan trọng.

Power Apps và Power Automate sẽ kết nối đúng tên này.

Nếu sai:

❌ App không chạy

❌ Flow không hoạt động


BƯỚC 3: TẠO CÁC CỘT DỮ LIỆU


Danh sách cột cần tạo

Tên cộtKiểu dữ liệu
EmployeeNameSingle line
EmployeeEmailSingle line
DepartmentSingle line
DestinationSingle line
PurposeMultiple lines
FromDateDate
ToDateDate
TransportationChoice
EstimatedCostCurrency
StatusChoice
ManagerEmailSingle line

🎯 Ví dụ tạo cột EmployeeName

Bước 1

Bấm:

+ Add column

Bước 2

Chọn:

Single line of text

Bước 3

Nhập:

EmployeeName

Bước 4

Bấm:

Save

🎉 Hoàn tất


💡 Lưu ý cực quan trọng

Không đặt tên tiếng Việt

❌ Tên nhân viên

✅ EmployeeName

Vì:

Power Apps xử lý tiếng Anh ổn định hơn rất nhiều


BƯỚC 4: TẠO CHOICE CHO Transportation


Các lựa chọn

  • Máy bay
  • Xe khách
  • Tàu hỏa
  • Xe công ty
  • Tự túc

🎯 Vì sao dùng Choice?

Nếu dùng Text:

❌ máy bay
❌ may bay
❌ mb

→ dữ liệu rất loạn

Nếu dùng Choice:

✅ đồng nhất dữ liệu

✅ dễ báo cáo

✅ chuyên nghiệp hơn


BƯỚC 5: TẠO CHOICE CHO Status


Các giá trị

  • Pending
  • Approved
  • Rejected
  • Completed

🎯 Ý nghĩa

🟡 Pending
→ chờ duyệt

🟢 Approved
→ đã duyệt

🔴 Rejected
→ bị từ chối

🔵 Completed
→ hoàn thành chuyến đi


📥 PHẦN 3 — NHẬP DỮ LIỆU MẪU


BƯỚC 6: NHẬP DỮ LIỆU

Bấm:

Edit in grid view


🎯 Giải thích

Grid View giống như:

Excel trong SharePoint

👉 copy paste cực nhanh


Dữ liệu mẫu

TitleEmployeeNameDestinationStatus
BT-001Nguyễn Văn AHà NộiPending
BT-002Trần Thị BĐà NẵngApproved
BT-003Lê Văn CCần ThơPending

🎯 Vì sao phải có dữ liệu mẫu?

Nếu không có dữ liệu:

❌ khó test App

❌ khó test Flow

❌ khó demo cho học viên

Cho nên:

luôn nhập dữ liệu mẫu trước


📱 PHẦN 4 — TẠO APP POWER APPS


BƯỚC 7: MỞ POWER APPS

Truy cập

make.powerapps.com

BƯỚC 8: TẠO APP MỚI

Thực hiện

Create

Blank App

Canvas App


Cấu hình

Name

App Đăng Ký Công Tác

Format

Phone

📱 vì nhân viên thường thao tác trên điện thoại


BƯỚC 9: KẾT NỐI SHAREPOINT

Data

Add Data

SharePoint

chọn List:

BusinessTripRequests


🎯 Giải thích

Đây là bước:

nối App với dữ liệu

Nếu chưa kết nối:

❌ App không lưu được gì cả


👨‍💼 PHẦN 5 — MÀN HÌNH NHÂN VIÊN


BƯỚC 10: TẠO SCREEN

Tên:

scrCreateTrip


🎯 Vì sao phải đặt tên rõ?

❌ Screen1

❌ Screen2

rất dễ loạn

✅ scrCreateTrip

→ nhìn là biết chức năng


BƯỚC 11: THÊM CONTROL

ControlName
Text InputtxtName
Text InputtxtEmail
Text InputtxtDepartment
Text InputtxtDestination
Text Input MultilinetxtPurpose
Date PickerdpFrom
Date PickerdpTo
DropdownddTransport
Text InputtxtCost

💡 Quy tắc đặt tên chuyên nghiệp

txt = Text Input

dp = Date Picker

dd = Dropdown

scr = Screen

👉 đây là thói quen rất quan trọng khi đi làm thực tế


BƯỚC 12: NÚT “GỬI ĐĂNG KÝ”

Tạo Button

Text:

GỬI ĐĂNG KÝ


Thuộc tính:

OnSelect

Patch(
    BusinessTripRequests,
    Defaults(BusinessTripRequests),
    {
        Title: "BT-" & Text(Now(),"yyyymmddhhmm"),
        EmployeeName: txtName.Text,
        EmployeeEmail: txtEmail.Text,
        Department: txtDepartment.Text,
        Destination: txtDestination.Text,
        Purpose: txtPurpose.Text,
        FromDate: dpFrom.SelectedDate,
        ToDate: dpTo.SelectedDate,
        Transportation: ddTransport.Selected.Value,
        EstimatedCost: Value(txtCost.Text),
        Status: "Pending",
        ManagerEmail: "manager@contoso.com"
    }
);

Notify(
    "Đã gửi đăng ký công tác!",
    NotificationType.Success
)

🎯 Giải thích cực quan trọng

Patch()

= ghi dữ liệu

👉 giống nút SAVE


Defaults()

= tạo bản ghi mới

👉 giống INSERT


Value()

= chuyển chữ thành số

Ví dụ:

“5000000”

5000000


Notify()

= hiện thông báo thành công

🎉 giúp người dùng yên tâm đã gửi thành công


📧 PHẦN 6 — POWER AUTOMATE GỬI EMAIL TỰ ĐỘNG

(Nhân viên đăng ký → Quản lý nhận thông báo duyệt)

Đây là phần học viên rất thích vì:

“APP TỰ GỬI EMAIL THẬT”

👉 cực chuyên nghiệp
👉 rất giống hệ thống doanh nghiệp thật
👉 áp dụng ngay cho công ty


🎯 MỤC TIÊU PHẦN NÀY

Sau phần này, học viên sẽ làm được:

✅ Khi nhân viên bấm “GỬI ĐĂNG KÝ”

→ hệ thống tự gửi Email cho quản lý

✅ Quản lý không cần chờ nhân viên nhắn Zalo

✅ Không bị quên duyệt hồ sơ công tác


💡 Giải thích dễ hiểu

Power Apps giống như:

người tạo đơn

Power Automate giống như:

nhân viên tự động chạy việc

SharePoint giống như:

nơi lưu hồ sơ

Ba công cụ kết hợp lại tạo thành:

HỆ THỐNG CÔNG TÁC DOANH NGHIỆP THẬT


🚀 BƯỚC 13: MỞ POWER AUTOMATE

Thực hiện

Bước 1

Mở trình duyệt Chrome

Bước 2

Truy cập:

make.powerautomate.com

Bước 3

Đăng nhập cùng tài khoản Microsoft 365

⚠ Phải dùng cùng tài khoản với Power Apps

Nếu khác tài khoản:

❌ không nhìn thấy SharePoint List


🎯 Giải thích

Đây là lỗi học viên gặp rất nhiều:

Power Apps dùng tài khoản A

nhưng

Power Automate dùng tài khoản B

→ hệ thống không kết nối được

Cho nên:

bắt buộc cùng 1 tài khoản


🏗 BƯỚC 14: TẠO FLOW MỚI

Thực hiện

Chọn:

Create

Automated Cloud Flow


🎯 Vì sao chọn Automated?

Vì chúng ta muốn:

khi có đăng ký mới

→ hệ thống tự chạy

không cần bấm tay

👉 đây mới là tự động hóa thật


BƯỚC 15: ĐẶT TÊN FLOW

Tên nên đặt:

Notify Manager Business Trip Request

💡 nghĩa là:

Thông báo quản lý khi có đăng ký công tác mới


🎯 Lưu ý

Tên càng rõ:

→ càng dễ quản lý sau này

❌ Flow1

❌ TestTrip

✅ Notify Manager Business Trip Request


BƯỚC 16: CHỌN TRIGGER

Trigger là gì?

Trigger nghĩa là:

điều kiện để Flow bắt đầu chạy

Ví dụ:

  • có email mới
  • có người nghỉ phép
  • có đơn mua hàng mới
  • có đăng ký công tác mới

Trigger cần chọn:

When an item is created

thuộc nhóm:

SharePoint


🎯 Giải thích

Nghĩa là:

Khi SharePoint có bản ghi mới

→ Flow tự chạy

👉 đúng chính xác nhu cầu bài này


⚙ BƯỚC 17: CẤU HÌNH TRIGGER


Điền thông tin như sau

Site Address

→ chọn đúng Site SharePoint của bạn

Ví dụ:

Training Team Site

List Name

→ chọn:

BusinessTripRequests


🎯 Kiểm tra cực quan trọng

Nếu chọn sai List:

❌ Flow không chạy

Cho nên phải kiểm tra kỹ:

đúng List = BusinessTripRequests


📩 BƯỚC 18: THÊM ACTION GỬI EMAIL

Thực hiện

Bấm:

+ New Step

Tìm:

Send an email (V2)


🎯 Giải thích

Đây là bước:

gửi Email thật

ra ngoài hộp thư

không phải giả lập

👉 học viên thường rất thích phần này


✉ BƯỚC 19: CẤU HÌNH EMAIL


Mục TO

Điền:

ManagerEmail

🎯 Giải thích

Không gõ email cố định bằng tay

Ví dụ:

manager@gmail.com

Mà dùng:

✅ ManagerEmail

Vì:

email sẽ tự lấy từ SharePoint

→ chuyên nghiệp hơn rất nhiều


Mục SUBJECT

Điền:

[Yêu cầu công tác mới] từ EmployeeName

Ví dụ Email thật sẽ là:

[Yêu cầu công tác mới] từ Nguyễn Văn A

👉 quản lý nhìn phát hiểu ngay


Mục BODY

Nội dung Email

Có đăng ký công tác mới cần phê duyệt

Người gửi: EmployeeName

Phòng ban: Department

Nơi đến: Destination

Mục đích: Purpose

Ngày đi: FromDate

Ngày về: ToDate

Phương tiện: Transportation

Chi phí dự kiến: EstimatedCost

Vui lòng kiểm tra hệ thống.

🎯 Vì sao phải viết rõ?

Nếu email quá ngắn:

❌ quản lý không hiểu nội dung

Nếu email đủ thông tin:

✅ xử lý nhanh hơn

✅ giảm hỏi qua hỏi lại

✅ chuyên nghiệp hơn


💾 BƯỚC 20: SAVE FLOW

Thực hiện

Bấm nút:

Save

ở góc trên bên phải


⚠ Lỗi học viên gặp nhiều nhất

Tạo xong nhưng:

quên bấm SAVE

→ test mãi không chạy

👉 đây là lỗi cực phổ biến


👨‍💼 PHẦN 7 — MÀN HÌNH QUẢN LÝ DUYỆT


BƯỚC 21: TẠO SCREEN MỚI

Tên:

scrManagerApprove


🎯 Mục đích

Đây là màn hình dành cho:

quản lý duyệt hồ sơ công tác

Không dùng cho nhân viên


BƯỚC 22: TẠO GALLERY CHỜ DUYỆT

Items

Filter(
    BusinessTripRequests,
    Status = "Pending"
)

🎯 Giải thích

Chỉ hiển thị:

các đơn đang chờ duyệt

Không hiện:

❌ Approved

❌ Rejected

→ giúp quản lý xử lý nhanh hơn


BƯỚC 23: NÚT DUYỆT

Tạo Button

Text:

DUYỆT


OnSelect

Patch(
    BusinessTripRequests,
    ThisItem,
    {
        Status: "Approved"
    }
);

Notify(
    "Đã duyệt chuyến công tác!",
    NotificationType.Success
)

🎯 Giải thích

ThisItem nghĩa là:

dòng đang được chọn

Khi quản lý bấm DUYỆT:

→ chỉ đúng dòng đó được cập nhật


BƯỚC 24: NÚT TỪ CHỐI

Text:

TỪ CHỐI


OnSelect

Patch(
    BusinessTripRequests,
    ThisItem,
    {
        Status: "Rejected"
    }
);

Notify(
    "Đã từ chối yêu cầu!",
    NotificationType.Warning
)

🎯 Giải thích

Quản lý có quyền:

✅ duyệt

hoặc

❌ từ chối

Đây là đúng logic doanh nghiệp thật


🧪 PHẦN 8 — KIỂM THỬ (BẮT BUỘC)


TEST 1 — NHÂN VIÊN GỬI ĐĂNG KÝ

Kết quả cần thấy

✅ SharePoint có dòng mới

✅ Status = Pending


TEST 2 — EMAIL QUẢN LÝ

Kết quả cần thấy

📩 Quản lý nhận Email mới

Ví dụ:

[Yêu cầu công tác mới] từ Nguyễn Văn A

TEST 3 — QUẢN LÝ DUYỆT

Kết quả cần thấy

Khi bấm:

DUYỆT

→ Status đổi thành:

Approved

và biến mất khỏi danh sách Pending


TEST 4 — QUẢN LÝ TỪ CHỐI

Kết quả cần thấy

Khi bấm:

TỪ CHỐI

→ Status đổi thành:

Rejected


Nếu Flow không chạy thì sao?

Kiểm tra:

1. Đã Save Flow chưa?

2. Trigger đúng List chưa?

3. Email đúng chưa?

4. Có dùng cùng tài khoản không?

5. Flow có báo Failed không?


🏁 KẾT QUẢ CUỐI BUỔI

Sau buổi này bạn đã xây dựng được:

APP ĐĂNG KÝ CÔNG TÁC HOÀN CHỈNH

bao gồm:

✅ App đăng ký

✅ SharePoint lưu dữ liệu

✅ Email tự động

✅ Quản lý duyệt

✅ Theo dõi trạng thái

✅ Quy trình doanh nghiệp thật


🧠 BÀI TẬP NÂNG CAO

Hãy tự làm thêm:

Bài 1

Tự động tính số ngày công tác


Bài 2

Gửi Email khi duyệt thành công


Bài 3

Dashboard tổng chi phí công tác theo tháng


Bài 4

Phân quyền:

  • Nhân viên
  • Quản lý
  • Kế toán

LỜI NHẮN QUAN TRỌNG

❌ Đừng học Power Apps bằng cách học hết nút bấm

✅ Hãy học bằng bài toán thật của công ty

vì đó mới là:

kỹ năng kiếm tiền thật bằng Power Platform ✈️

Scroll to Top