Hướng dẫn thực hành tạo App quản lý nhà cung cấp (Tên, liên hệ, nhóm dịch vụ)

📘 BÀI GIẢNG

Phục vụ bộ phận mua sắm – kế toán
Nền tảng: SharePoint List + Power Apps (Canvas app)


0) Mục tiêu và sản phẩm cuối buổi

Sau khi làm xong, học viên có 1 app gồm 3 chức năng chính:

  1. Danh sách nhà cung cấp (gallery) có tìm kiếm + lọc theo nhóm dịch vụ
  2. Xem chi tiết nhà cung cấp (detail screen)
  3. Thêm/Sửa nhà cung cấp (form screen)

1) Chuẩn bị trước khi làm

  • Có Microsoft 365: SharePoint + Power Apps
  • Có quyền tạo List trong SharePoint site lớp học/công ty

Giải thích: SharePoint List là nơi lưu dữ liệu (giống database). Power Apps là giao diện để người dùng thao tác.


PHẦN A — TẠO SHAREPOINT LIST (CƠ SỞ DỮ LIỆU)

A1) Tạo List mới

  1. Vào SharePoint site (Team site)
  2. Chọn NewList
  3. Chọn Blank list
  4. Đặt tên: NhaCungCap
  5. Bấm Create

✅ Kết quả đúng: bạn thấy danh sách có cột mặc định Title.


A2) Đổi cột Title thành “TenNCC”

  1. Trong List NhaCungCap, bấm vào tiêu đề cột Title
  2. Chọn Column settingsRename
  3. Đổi tên thành: TenNCC

Giải thích: cột Title luôn tồn tại, ta tận dụng nó làm “Tên nhà cung cấp” để khỏi tạo cột mới.


A3) Tạo các cột còn lại (đúng kiểu dữ liệu)

Làm lần lượt từng cột theo hướng dẫn (mỗi cột xong mới tạo cột tiếp theo):

1) Cột NguoiLienHe

  • Add columnSingle line of text
  • Name: NguoiLienHe

✅ Dùng để lưu “Người liên hệ chính”.

2) Cột DienThoai

  • Add column → Single line of text
  • Name: DienThoai

✅ Dùng text để không bị mất số 0 đầu (090…).

3) Cột Email

  • Add column → Single line of text
  • Name: Email

✅ Lưu email liên hệ.

4) Cột NhomDichVu (Choice)

  • Add column → Choice
  • Name: NhomDichVu
  • Choices (mỗi dòng 1 lựa chọn):
    • Văn phòng phẩm
    • Thiết bị IT
    • Dịch vụ sửa chữa
    • Vận chuyển
    • Phần mềm

✅ Dùng để lọc nhanh theo nhóm dịch vụ.

5) Cột GhiChu

  • Add column → Multiple lines of text
  • Name: GhiChu

✅ Ghi chú: điều kiện thanh toán, giao hàng, ưu đãi…


PHẦN B — NHẬP DỮ LIỆU MẪU (≥ 15 DÒNG) ĐỂ THỰC HÀNH

B1) Bảng dữ liệu mẫu (copy-paste)

👉 Copy bảng dưới vào Excel để import.

TenNCCNguoiLienHeDienThoaiEmailNhomDichVuGhiChu
Công ty Minh PhátAnh Hùng0901111111hung@minhphat.vnVăn phòng phẩmGiao nhanh
IT Tech ViệtChị Lan0902222222lan@ittech.vnThiết bị ITBảo hành tốt
Sửa chữa 24hAnh Nam0903333333nam@suachua.vnDịch vụ sửa chữaHỗ trợ cuối tuần
Vận tải Thành CôngAnh Tuấn0904444444tuan@vantai.vnVận chuyểnGiá ổn định
SoftProChị Mai0905555555mai@softpro.vnPhần mềmHỗ trợ online
Văn phòng phẩm An PhúAnh Sơn0906666666son@anphu.vnVăn phòng phẩmGiao trong ngày
DigiWorldChị Hạnh0907777777hanh@digi.vnThiết bị ITGiá tốt
FixITAnh Dũng0908888888dung@fixit.vnDịch vụ sửa chữaCó hợp đồng
FastShipAnh Long0909999999long@fastship.vnVận chuyểnGiao nhanh
CloudSoftChị Trang0910000000trang@cloud.vnPhần mềmBản quyền
Văn phòng phẩm Sao MaiAnh Hải0911111111hai@saomai.vnVăn phòng phẩmGiá rẻ
TechZoneChị Vy0912222222vy@techzone.vnThiết bị ITChính hãng
RepairProAnh Phúc0913333333phuc@repair.vnDịch vụ sửa chữaBảo hành dài
ExpressMoveAnh Bình0914444444binh@express.vnVận chuyểnChuyên công ty
SmartSoftChị Linh0915555555linh@smartsoft.vnPhần mềmHỗ trợ 24/7

B2) Import dữ liệu vào SharePoint (cách dễ làm trên lớp)

  1. Mở Excel → tạo bảng với đúng tiêu đề cột như trên
  2. Dán 15 dòng dữ liệu
  3. Lưu file: NhaCungCap_Mau.xlsx
  4. Vào SharePoint List NhaCungCap
  5. Chọn NewList item (nếu lớp ít người) hoặc Import from Excel (tùy giao diện)
  6. Nếu có nút Import from Excel:
    • Upload file Excel
    • Map cột: TenNCC, NguoiLienHe, DienThoai, Email, NhomDichVu, GhiChu
  7. Kiểm tra list đã có đủ dữ liệu

✅ Kết quả đúng: SharePoint list có ≥ 15 items.

Nếu tenant của bạn không hiện “Import from Excel”, bạn nói mình, mình sẽ hướng dẫn phương án thay thế đúng giao diện bạn đang dùng.


PHẦN C — TẠO POWER APPS (CANVAS APP)

C1) Tạo app

  1. Vào Power Apps
  2. Chọn CreateCanvas app from blank
  3. Đặt tên: App_NhaCungCap
  4. Chọn Tablet
  5. Bấm Create

✅ Giải thích: Tablet dễ bố trí bộ lọc + danh sách + form khi dạy.


C2) Kết nối SharePoint list

  1. Trong Power Apps Studio, chọn tab Data (biểu tượng database)
  2. Add data
  3. Chọn SharePoint
  4. Chọn site chứa list
  5. Tick chọn list NhaCungCap
  6. Bấm Connect

✅ Kết quả đúng: Data panel thấy NhaCungCap.


PHẦN D — MÀN HÌNH 1: DANH SÁCH + TÌM KIẾM + LỌC

D1) Tạo màn hình danh sách

  1. Chọn Screen1 → đổi tên thành scrDanhSach
  2. Thêm tiêu đề:
    • Insert → Label
    • Text: QUẢN LÝ NHÀ CUNG CẤP

D2) Tạo ô tìm kiếm theo tên nhà cung cấp

  1. Insert → Text input
  2. Đổi tên control: txtSearch
  3. HintText: Nhập tên nhà cung cấp để tìm...

✅ Giải thích: người dùng gõ vào đây để tìm nhanh.


D3) Tạo dropdown lọc theo nhóm dịch vụ

  1. Insert → Dropdown
  2. Đổi tên: ddNhom
  3. Đặt Items của dropdown:
["Tất cả","Văn phòng phẩm","Thiết bị IT","Dịch vụ sửa chữa","Vận chuyển","Phần mềm"]

✅ Giải thích: dùng danh sách cố định để học viên dễ làm (tránh lỗi Distinct).


D4) Tạo Gallery hiển thị danh sách

  1. Insert → Vertical gallery
  2. Đổi tên: galNCC
  3. Đặt Items cho gallery (có tìm kiếm + lọc):
With(
    {src: Search(NhaCungCap, txtSearch.Text, "TenNCC")},
    If(
        ddNhom.Selected.Value = "Tất cả",
        src,
        Filter(src, NhomDichVu.Value = ddNhom.Selected.Value)
    )
)

✅ Giải thích:

  • Search(...) tìm theo TenNCC
  • With(...) giúp code gọn
  • If(...) nếu “Tất cả” thì không lọc, ngược lại lọc theo nhóm

D5) Hiển thị đúng các trường trong gallery

Trong galNCC, chọn các label:

  • Title: ThisItem.TenNCC
  • Subtitle: ThisItem.NhomDichVu.Value
  • Body: ThisItem.NguoiLienHe & " - " & ThisItem.DienThoai

✅ Giải thích: nhìn 1 dòng là biết NCC + nhóm + liên hệ.


D6) Nút “Thêm nhà cung cấp”

  1. Insert → Button
  2. Text: + Thêm nhà cung cấp
  3. OnSelect:
NewForm(frmNCC);
Navigate(scrForm, ScreenTransition.Fade)

(frmNCC và scrForm sẽ tạo ở phần sau)


PHẦN E — MÀN HÌNH 2: CHI TIẾT NHÀ CUNG CẤP

E1) Tạo màn hình chi tiết

  1. Insert → New screen → Blank
  2. Đổi tên: scrChiTiet

E2) Điều hướng từ gallery sang chi tiết

Chọn galNCC → OnSelect:

Navigate(scrChiTiet, ScreenTransition.Fade)

✅ Giải thích: bấm vào một NCC để xem chi tiết.

E3) Tạo Display form

  1. Insert → Display form
  2. Đổi tên: frmChiTiet
  3. DataSource: NhaCungCap
  4. Item:
galNCC.Selected
  1. Edit fields → chọn:
  • TenNCC
  • NguoiLienHe
  • DienThoai
  • Email
  • NhomDichVu
  • GhiChu

E4) Nút “Sửa”

Insert → Button, Text: Sửa

OnSelect:

EditForm(frmNCC);
Navigate(scrForm, ScreenTransition.Fade)

E5) Nút “Quay lại”

Insert → Button, Text: Quay lại

OnSelect:

Back()

PHẦN F — MÀN HÌNH 3: THÊM / SỬA NHÀ CUNG CẤP (EDIT FORM)

F1) Tạo màn hình form

  1. Insert → New screen → Blank
  2. Đổi tên: scrForm

F2) Tạo Edit form

  1. Insert → Edit form
  2. Đổi tên: frmNCC
  3. DataSource: NhaCungCap
  4. Edit fields: chọn tất cả trường:
  • TenNCC
  • NguoiLienHe
  • DienThoai
  • Email
  • NhomDichVu
  • GhiChu

✅ Giải thích: Form dùng chung cho “Thêm” và “Sửa”.


F3) Nút “Lưu”

Insert → Button, Text: Lưu

OnSelect:

SubmitForm(frmNCC);
Notify("Đã lưu nhà cung cấp!", NotificationType.Success);
Navigate(scrDanhSach, ScreenTransition.Fade)

✅ Giải thích: lưu xong quay về danh sách.


F4) Nút “Hủy”

Insert → Button, Text: Hủy

OnSelect:

ResetForm(frmNCC);
Back()

PHẦN G — CHẠY THỬ & KIỂM THỬ SAU KHI HOÀN THÀNH (BẮT BUỘC)

Test 1: Tìm kiếm theo tên

  • Gõ vào ô tìm kiếm: Tech

✅ Kết quả đúng: hiện IT Tech Việt, TechZone (nếu có)


Test 2: Lọc theo nhóm dịch vụ

  • Chọn dropdown: Thiết bị IT

✅ Kết quả đúng: chỉ hiện NCC thuộc “Thiết bị IT”


Test 3: Thêm nhà cung cấp mới

  1. Bấm + Thêm nhà cung cấp
  2. Nhập:
    • TenNCC: ABC Office
    • NguoiLienHe: Chị Thảo
    • DienThoai: 0988123456
    • Email: thao@abcoffice.vn
    • NhomDichVu: Văn phòng phẩm
    • GhiChu: Giao trong ngày
  3. Bấm Lưu

✅ Kết quả đúng:

  • Về danh sách thấy ABC Office
  • SharePoint list có thêm 1 item mới

Test 4: Sửa thông tin nhà cung cấp

  1. Chọn một NCC trong danh sách → vào chi tiết
  2. Bấm Sửa
  3. Đổi GhiChu (ví dụ: “Chiết khấu 5%”)
  4. Bấm Lưu

✅ Kết quả đúng:

  • GhiChu thay đổi trong app
  • SharePoint cập nhật đúng

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

  • Không thấy dữ liệu: kiểm tra DataSource đã connect đúng list
  • Dropdown lọc không chạy: kiểm tra NhomDichVu.Value
  • Search không ra: kiểm tra cột “TenNCC” đúng tên nội bộ (đã rename Title chưa)

PHẦN H — BÀI TẬP TRÊN LỚP

  1. Thêm 2 NCC mới thuộc 2 nhóm dịch vụ khác nhau
  2. Tạo label thống kê: “Tổng số nhà cung cấp đang hiển thị”
    Gợi ý:
CountRows(galNCC.AllItems)
  1. (Nâng cao) Tạo bộ lọc chỉ hiện NCC có chữ “giao” trong ghi chú
    Gợi ý:
Filter(NhaCungCap, "giao" in Lower(GhiChu))

Scroll to Top