Hướng dẫn thực hành tạo App ghi nhận sự cố IT (Power Apps + SharePoint)


📘 BÀI GIẢNG THỰC HÀNH

Tạo App ghi nhận sự cố IT (Power Apps + SharePoint)

Kịch bản

  • Nhân viên tạo “phiếu báo lỗi” (ticket)
  • IT xem danh sách ticket và cập nhật trạng thái xử lý

Mục tiêu sau buổi học

Học viên có thể:

  1. Tạo SharePoint List làm “cơ sở dữ liệu ticket”
  2. Tạo Power Apps gồm 3 màn hình:
    • Nhân viên báo sự cố
    • IT xem danh sách
    • IT cập nhật trạng thái
  3. Chạy thử theo các kịch bản kiểm thử thực tế

🧰 Chuẩn bị trước khi thực hành

  • Có tài khoản Microsoft 365 (có SharePoint + Power Apps)
  • Quyền tạo SharePoint List trong site của công ty/lớp học

PHẦN A — TẠO “CƠ SỞ DỮ LIỆU” BẰNG SHAREPOINT LIST

A1. Tạo SharePoint List

  1. Vào SharePoint site (ví dụ: Team site)
  2. Chọn New → List
  3. Chọn Blank list
  4. Đặt tên List: IT_SuCo
  5. Bấm Create

Giải thích: SharePoint List đóng vai trò như “database” lưu ticket. Power Apps sẽ đọc/ghi dữ liệu vào đây.


A2. Tạo các cột dữ liệu (Columns)

Mặc định SharePoint có cột Title. Bạn thêm các cột sau:

1) Cột MoTa (Mô tả)

  • Type: Multiple lines of text
  • Name: MoTa

Giải thích: mô tả chi tiết lỗi (nhân viên nhập).

2) Cột PhongBan

  • Type: Choice
  • Name: PhongBan
  • Choices:
    • Kế toán
    • Kinh doanh
    • IT
    • Hành chính

Giải thích: giúp IT ưu tiên theo phòng ban và lọc dữ liệu.

3) Cột MucDo

  • Type: Choice
  • Name: MucDo
  • Choices:
    • Thấp
    • Trung bình
    • Cao
    • Khẩn cấp

Giải thích: mức độ khẩn cấp của sự cố.

4) Cột TrangThai

  • Type: Choice
  • Name: TrangThai
  • Choices:
    • Mới tạo
    • Đang xử lý
    • Hoàn thành

Giải thích: cột quan trọng để IT quản lý tiến độ.

5) Cột NgayBao

  • Type: Date and Time
  • Name: NgayBao
  • Chọn Date only (khuyến nghị) hoặc Date & Time tùy bạn

Giải thích: ngày tạo ticket để thống kê, lọc theo thời gian.

6) Cột NguoiBao

  • Type: Person or Group
  • Name: NguoiBao

Giải thích: lưu người báo lỗi; có thể tự động lấy từ tài khoản đăng nhập Power Apps.


PHẦN B — DỮ LIỆU MẪU (≥ 15 DÒNG) ĐỂ COPY-PASTE

B1. Bảng dữ liệu mẫu

👉 Cách dùng nhanh cho giảng viên/học viên:
Copy bảng này sang Excel, sau đó nhập vào SharePoint (Import).

Lưu ý: NguoiBao là Person nên khi import Excel có thể khó khớp nếu không đúng email. Bạn có 2 cách:

  • Cách 1 (dễ nhất): import trước các cột không có NguoiBao, sau đó khi chạy app sẽ tự điền NguoiBao = User().
  • Cách 2: nếu lớp học có danh sách email mẫu, mình sẽ viết phiên bản bảng có email chuẩn theo tenant của bạn.

Bảng mẫu (không gồm NguoiBao để import dễ):

TitleMoTaPhongBanMucDoTrangThaiNgayBao
Máy không lên nguồnBấm nút không khởi độngKế toánCaoMới tạo01/02/2026
Không in đượcMáy in báo lỗi kẹt giấyHành chínhTrung bìnhĐang xử lý02/02/2026
Mạng chậmInternet lag, vào web lâuKinh doanhThấpHoàn thành02/02/2026
Outlook không gửi mailBáo lỗi kết nối serverITCaoMới tạo03/02/2026
Màn hình nhấp nháyNhấp nháy liên tục khi mở máyKế toánTrung bìnhĐang xử lý03/02/2026
Không đăng nhập đượcSai mật khẩu/khóa tài khoảnKinh doanhThấpHoàn thành04/02/2026
Laptop nóngQuạt kêu to, máy nóngITTrung bìnhMới tạo04/02/2026
Chuột không hoạt độngChuột không di chuyểnHành chínhThấpHoàn thành05/02/2026
Máy treo liên tụcMở phần mềm là đứng máyKế toánCaoĐang xử lý05/02/2026
Không vào wifiBáo “Limited”Kinh doanhTrung bìnhMới tạo06/02/2026
Phần mềm lỗiKhông mở được phần mềm kế toánITCaoMới tạo06/02/2026
Webcam không nhậnHọp online không thấy cameraHành chínhTrung bìnhĐang xử lý07/02/2026
Loa không có tiếngKhông nghe âm thanhKế toánThấpHoàn thành07/02/2026
Máy khởi động chậmKhởi động mất 5 phútKinh doanhTrung bìnhMới tạo08/02/2026
Bàn phím liệt phímMột số phím không gõ đượcITCaoĐang xử lý08/02/2026

B2. Import dữ liệu vào SharePoint

  1. Mở List IT_SuCo
  2. Chọn New → Excel hoặc Integrate → Import data (tùy giao diện)
  3. Dán dữ liệu vào Excel, lưu file
  4. Import file Excel vào SharePoint, map đúng cột

Kiểm tra: Sau khi import, SharePoint phải có ít nhất 15 dòng.


PHẦN C — TẠO POWER APPS

C1. Tạo Canvas App

  1. Power Apps → Create
  2. Chọn Canvas app
  3. Đặt tên: App_IT_HoTro
  4. Chọn layout: Tablet (khuyến nghị)

Giải thích: Tablet bố cục rộng, dễ bố trí Gallery + Form khi dạy.


C2. Kết nối dữ liệu SharePoint List

  1. Vào tab Data
  2. Add data
  3. Chọn SharePoint
  4. Chọn site → chọn list IT_SuCo
  5. Add

Giải thích: App muốn hiển thị/ghi ticket thì phải kết nối đúng datasource.


PHẦN D — MÀN HÌNH 1: NHÂN VIÊN BÁO SỰ CỐ

D1. Tạo màn hình “Báo sự cố”

  1. Insert → New screen → Form
  2. Đổi tên Screen: scrBaoSuCo
  3. Chọn EditForm (ví dụ tên form: frmBaoSuCo)
  4. DataSource của form: IT_SuCo

Chọn các trường hiển thị

Trong form, chọn Edit fields và thêm:

  • Title
  • MoTa
  • PhongBan
  • MucDo

Giải thích: nhân viên chỉ cần nhập 4 thông tin chính.


D2. Tự động điền NguoiBao, NgayBao, TrangThai

Ta không cho nhân viên tự chọn để tránh sai.

(1) Tự điền Người báo

Chọn DataCard của NguoiBaoUnlock (nếu bị khóa)
Trong Default của input, đặt:

User()

Và đặt DisplayMode của card thành:

DisplayMode.View

Giải thích: User() lấy thông tin người đăng nhập app, đảm bảo đúng.


(2) Tự điền Ngày báo

DataCard NgayBao → Default:

Now()

DisplayMode:

DisplayMode.View

Giải thích: Now() giúp auto timestamp khi tạo ticket.


(3) Tự đặt Trạng thái ban đầu = “Mới tạo”

DataCard TrangThai → Default:

{Value:"Mới tạo"}

DisplayMode:

DisplayMode.View

Giải thích: ticket mới phải vào trạng thái “Mới tạo” để IT xử lý.


D3. Nút “Gửi yêu cầu”

Insert → Button, Text: Gửi yêu cầu

OnSelect:

SubmitForm(frmBaoSuCo);
Notify("Đã gửi yêu cầu thành công!", NotificationType.Success);
NewForm(frmBaoSuCo)

Giải thích:

  • SubmitForm: lưu dữ liệu
  • Notify: thông báo cho người dùng
  • NewForm: reset form để gửi ticket mới

PHẦN E — MÀN HÌNH 2: IT XEM DANH SÁCH TICKET

E1. Tạo màn hình “Danh sách”

Insert → New screen → Blank

Đổi tên: scrDanhSachIT

Insert → Vertical gallery
Đặt tên gallery: galTickets

Items của Gallery:

SortByColumns(IT_SuCo, "NgayBao", Descending)

Giải thích: sắp xếp ticket mới nhất lên đầu.


E2. Hiển thị thông tin trong Gallery

Trong mỗi item của gallery, hiển thị:

  • Title
  • PhongBan
  • MucDo
  • TrangThai
  • NgayBao

✅ Mẹo dạy học: dùng layout “Title, subtitle, body” để nhìn rõ.


E3. Lọc theo Trạng thái (Dropdown)

Insert → Dropdown, tên: ddTrangThai

Items:

["Tất cả","Mới tạo","Đang xử lý","Hoàn thành"]

Sửa Items của Gallery thành:

If(
    ddTrangThai.Selected.Value = "Tất cả",
    SortByColumns(IT_SuCo, "NgayBao", Descending),
    SortByColumns(
        Filter(IT_SuCo, TrangThai.Value = ddTrangThai.Selected.Value),
        "NgayBao",
        Descending
    )
)

Giải thích: IT chọn trạng thái để lọc nhanh.


PHẦN F — MÀN HÌNH 3: IT CẬP NHẬT TRẠNG THÁI

F1. Tạo màn hình “Chi tiết & xử lý”

Insert → New screen → Form screen

Đổi tên: scrXuLy

Tạo Edit form tên: frmXuLy
DataSource: IT_SuCo
Item:

galTickets.Selected

Chọn fields:

  • Title (view)
  • MoTa (view)
  • PhongBan (view)
  • MucDo (view)
  • TrangThai (edit)
  • (NguoiBao, NgayBao nếu muốn view)

Giải thích: IT chỉ cần chỉnh TrangThai là chính.


F2. Chuyển màn hình khi IT bấm vào ticket

Trong galTickets, đặt OnSelect:

Navigate(scrXuLy, ScreenTransition.Fade)

F3. Nút “Cập nhật”

Insert → Button Text: Cập nhật trạng thái

OnSelect:

SubmitForm(frmXuLy);
Notify("Đã cập nhật trạng thái!", NotificationType.Success);
Back()

Giải thích: lưu và quay lại danh sách.


PHẦN G — HƯỚNG DẪN CHẠY THỬ & KIỂM THỬ SAU KHI CHẠY (BẮT BUỘC)

G1. Chạy thử lần 1 (nhân viên tạo ticket)

  1. Bấm Play (▶) trên Power Apps
  2. Vào màn hình Báo sự cố
  3. Nhập:
    • Title: Không mở được file Excel
    • MoTa: File báo corrupted, cần hỗ trợ
    • PhongBan: Kế toán
    • MucDo: Cao
  4. Bấm Gửi yêu cầu

✅ Kết quả đúng:

  • Có thông báo “Đã gửi yêu cầu thành công”
  • SharePoint List xuất hiện dòng mới (TrangThai = Mới tạo)

G2. Chạy thử lần 2 (IT lọc và xem danh sách)

  1. Vào màn hình Danh sách IT
  2. Ở dropdown chọn Mới tạo

✅ Kết quả đúng:

  • Ticket vừa tạo xuất hiện trong danh sách
  • Các ticket mẫu import trước đó cũng hiển thị đúng theo lọc

G3. Chạy thử lần 3 (IT cập nhật trạng thái)

  1. Chọn ticket vừa tạo
  2. Chuyển sang màn hình xử lý
  3. Đổi TrangThai:
    • Mới tạoĐang xử lý → bấm Cập nhật
  4. Quay lại danh sách, lọc Đang xử lý để kiểm tra
  5. Sau đó đổi tiếp Hoàn thành

✅ Kết quả đúng:

  • Trạng thái cập nhật ngay trong SharePoint
  • Bộ lọc hoạt động chuẩn, ticket “chạy” qua các trạng thái

G4. Checklist lỗi thường gặp (để học viên tự sửa)

  • Không thấy dữ liệu → kiểm tra DataSource đã Add đúng list chưa
  • SubmitForm không lưu → kiểm tra Form.DataSource + Required fields
  • TrangThai không đúng giá trị → phải đúng Choice (Mới tạo/Đang xử lý/Hoàn thành)
  • galTickets.Selected bị rỗng → đảm bảo OnSelect của item gallery có Navigate

PHẦN H — BÀI TẬP THỰC HÀNH TRÊN LỚP

Bài tập 1 (bắt buộc)

Tạo thêm 2 ticket mới, mỗi ticket thuộc phòng ban khác nhau.

Bài tập 2 (lọc nâng cao)

Hiển thị chỉ các ticket chưa hoàn thành:

Gợi ý Items Gallery:

Filter(IT_SuCo, TrangThai.Value <> "Hoàn thành")

Bài tập 3 (thống kê nhanh)

Đếm số ticket “Đang xử lý”:

CountRows(Filter(IT_SuCo, TrangThai.Value = "Đang xử lý"))

✅ TỔNG KẾT

Học viên đã hoàn thành:

  • SharePoint List quản lý ticket
  • Power Apps 3 màn hình: báo lỗi → danh sách IT → cập nhật
  • Dữ liệu mẫu ≥ 15 dòng
  • Quy trình chạy thử & kiểm thử sau khi chạy

Scroll to Top