A
Đăng nhập

Chương 10: Action (Hành động) & Deep Link - Từ điển bách khoa về Action

AppSheet Actions

"Action là đôi tay của AppSheet. Không có Action, AppSheet chỉ là một cái kho chứa dữ liệu vô tri."

Trong các phần trước, chúng ta đã nói về tư duy. Nhưng để thực sự làm chủ AppSheet, bạn cần biết trong hộp dụng cụ của mình có những món đồ nghề gì. Chương này sẽ là một Từ điển bách khoa toàn thư về tất cả các loại Action có trong AppSheet, kèm theo ứng dụng thực tế cho từng loại.

10.1 Phân loại Action theo chức năng

10.2 AppSheet có hàng chục loại Action, nhưng thực tế chúng ta chỉ dùng thường xuyên 3 nhóm sau:

10.3 Phân loại 1: Nhóm Điều hướng (Navigation Actions)

Nhóm này giúp người dùng di chuyển không chỉ trong App mà còn ra ngoài thế giới Internet.

Loại Action (Do this) Tình huống sử dụng cụ thể Ví dụ thực tế
App: go to another view within this app Điều hướng nội bộ. Dùng kèm với các hàm Deep Link (LINKTOVIEW, LINKTOROW...). - Nút "Về trang chủ".
- Nút "Xem chi tiết lịch sử mua hàng" của khách này.
- Nút "Thêm Task con" từ màn hình Dự án.
App: go to another AppSheet app Chuyển đổi giữa các App trong hệ sinh thái doanh nghiệp (Micro-apps). - Từ "App Sale" bấm nút chuyển sang "App Kho" để check tồn kho.
- Dùng hàm LINKTOAPP("AppID").
Group: go to another view within this app (Ít dùng hơn) Tương tự cái đầu tiên nhưng dùng cho Group View. - Thường dùng cái đầu tiên là đủ.
External: go to a website Mở một trang web bên ngoài trình duyệt. - Nút "Tra cứu Mã Số Thuế" (Link đến trang Tổng Cục Thuế).
- Nút "Xem hướng dẫn sử dụng" (Link đến Google Doc/Youtube).
- Nút "Chat Zalo" (https://zalo.me/...).
External: open a file Mở file tài liệu đính kèm. - Xem bản vẽ kỹ thuật (PDF).
- Xem hợp đồng mẫu (Word).
- Lưu ý: File phải nằm trên Drive và có đường dẫn đúng.

10.4 Phân loại 2: Nhóm Tác động Dữ liệu (Data Manipulation)

Đây là nhóm "quyền lực" nhất, thay đổi dữ liệu mà không cần người dùng nhập tay.

Loại Action (Do this) Tình huống sử dụng cụ thể Ví dụ thực tế
Data: set the values of some columns in this row Cập nhật nhanh trạng thái, ghi nhận thời gian/địa điểm. - Nút "Check-in" ([Time]=NOW(), [Loc]=HERE()).
- Nút "Duyệt" ([Status]="Approved").
- Nút "Hủy đơn" ([Status]="Cancelled").
Data: add a new row to another table using values from this row Tạo bản sao, tạo phiếu liên quan từ phiếu gốc. - Từ "Đơn hàng" tạo "Phiếu Xuất Kho".
- Copy đơn hàng cũ thành đơn mới (Clone).
- Tạo dòng log lịch sử mỗi khi sửa đổi.
Data: delete this row Xóa nhanh (Thận trọng khi dùng). - Xóa dòng nháp.
- Thường ẩn đi và thay bằng action "Set Status = Deleted" (Xóa mềm) để an toàn hơn.
Data: execute an action on a set of rows Xử lý hàng loạt (Bulk Action). Tác động lên nhiều dòng khác từ 1 nút bấm. - Bấm nút "Phê duyệt tất cả đơn hàng chờ".
- Bấm nút "Tạo điểm danh tháng này cho 50 nhân viên".
- Kỹ thuật Vòng lặp (Looping) dùng action này.
Data: import action (CSV) Nhập liệu khối lượng lớn từ file. - Import danh sách khách hàng từ file Excel/CSV có sẵn.
- Import danh mục vật tư ban đầu.
Data: export this view to a CSV file Xuất báo cáo ra file Excel/CSV. - Nút "Tải báo cáo doanh thu tháng".
- Nút "Xuất danh sách đơn hàng để in".

10.5 Phân loại 3: Nhóm Giao tiếp (Communication)

Biến điện thoại thành công cụ liên lạc tức thời.

Loại Action (Do this) Tình huống sử dụng cụ thể Ví dụ thực tế
External: start a phone call Gọi điện thoại qua mạng di động. - Nút gọi khách hàng từ danh bạ.
- Nút gọi Hotline hỗ trợ.
External: start a text message Gửi tin nhắn SMS truyền thống. - Gửi SMS xác nhận đơn hàng (khi không có mạng/Zalo).
- Gửi mã OTP thủ công.
External: start an email Mở ứng dụng Mail (Gmail/Outlook) để soạn thư. - Nút "Gửi báo giá" (App điền sẵn tiêu đề và nội dung, người dùng chỉ cần bấm Send).
- Khác với Automation gửi mail ngầm (Bot), cái này mở app Mail lên.

10.6 Phân loại 4: Nhóm Nâng cao & Hệ thống (Advanced)

Những món đồ chơi dành cho "Pro".

Loại Action (Do this) Tình huống sử dụng cụ thể Ví dụ thực tế
App: copy this row and edit the copy Sao chép dòng hiện tại và mở Form Edit ngay lập tức. - Giống "Add a new row..." nhưng cho phép người dùng sửa ngay lúc đó thay vì lưu luôn. Dùng cho việc tạo dữ liệu mẫu rồi sửa.
Group: execute a sequence of actions Action Tổng hợp. Chạy lần lượt nhiều Action. - Nút "Nhận việc": (1) Đổi trạng thái -> (2) Ghi giờ -> (3) Mở Map đi đến nơi.
- Nút "Chốt đơn & In": (1) Đổi trạng thái -> (2) Tạo file PDF (qua Bot).

10.7 Các Tình huống Ứng dụng Điển hình (Case Studies)

10.7.1 Tình huống 1: Quy trình "Check-out" Giao hàng

Yêu cầu: Shipper bấm "Giao xong", App phải:

  1. Cập nhật trạng thái "Hoàn thành".
  2. Ghi lại tọa độ GPS nơi giao.
  3. Ghi lại thời gian thực.
  4. Mở Camera để chụp ảnh bằng chứng.

Giải pháp:

  • Tạo Action 1 (Data set values): Set [Status]="Done", [GPS]=HERE(), [Time]=NOW().
  • Tạo Action 2 (Deep Link): LINKTOFORM("Evidence_Form", "OrderID", [_THISROW].[OrderID]) (Mở form chụp ảnh).
  • Tạo Action Group: Kết hợp 1 và 2.

10.7.2 Tình huống 2: Tạo "Menu Chức năng" (Dashboard Launcher)

Yêu cầu: Một màn hình chính (Dashboard) với các icon to đẹp: "Bán hàng", "Kho", "Báo cáo", "Hệ thống". Bấm vào icon là nhảy đến view tương ứng.

Giải pháp:

  1. Tạo bảng Menu gồm: ID, Name, Icon, TargetView.
  2. Tạo Action Navigate (Go to another view).
  3. Target: LINKTOVIEW([TargetView]).
  4. Gắn Action này vào sự kiện Row Selected của view Menu. -> Kết quả: Người dùng bấm vào dòng "Bán hàng", App đọc cột TargetView và nhảy đến view đó.

10.7.3 Tình huống 3: Bulk Update (Phê duyệt hàng loạt)

Yêu cầu: Sếp muốn duyệt 1 lần 10 cái đơn xin nghỉ phép đang chờ.

  1. Tạo Action con (Set values): [Status] = "Approved".
  2. Tạo Slice PendingRequests: Chỉ lấy các đơn đang chờ.
  3. Tạo Action cha (Execute on set of rows):
    • Referenced Table: Requests
    • Referenced Rows: Slice_PendingRequests[ID] (Lấy tất cả ID trong slice chờ).
    • Action: Chọn Action con. -> Kết quả: Bấm 1 nút trên Dashboard, toàn bộ đơn trong Slice được duyệt.

(Giữ lại phần Deep Link chi tiết ở phiên bản trước vì nó rất quan trọng và đúng với yêu cầu người dùng).


10.9 Kỹ thuật Vòng lặp (Looping Action)

(Giữ lại phần Vòng lặp ở phiên bản trước - đây là kỹ thuật nâng cao rất giá trị).


10.10 Tổng kết: Thổi hồn vào ứng dụng

Action là ranh giới giữa một file Excel và một Ứng dụng thực thụ.

  • Dùng Navigation để dẫn đường.
  • Dùng Data Change để tự động hóa nhập liệu.
  • Dùng External để kết nối thế giới thực.
  • Dùng Grouped Action để tạo quy trình mượt mà.

Đừng để người dùng phải làm những việc mà máy có thể làm. Hãy tận dụng triệt để kho vũ khí Action này!


10.11 Tài liệu tham khảo (Google Docs)