Automation trong Appsheet

Automation trong Appsheet là gì?

Automation trong Appsheet là một tính năng cho phép bạn tạo các quy trình tự động hóa mà không cần viết code1. Bạn có thể sử dụng Automation để cải thiện hiệu quả bằng cách loại bỏ các rào cản không cần thiết, duy trì quản trị và bảo mật IT với phát triển do công dân thực hiện, và nhanh chóng và dễ dàng tạo các quy trình tự động hóa và ứng dụng tùy chỉnh với một đám mây mở1. Bạn có thể sử dụng Automation để xử lý tài liệu thông minh, cấu hình các bot để phát hiện các thay đổi dữ liệu, tạo các quy trình tự động hóa từ các thành phần hoàn toàn có thể tái sử dụng, và kết nối liền mạch với các API, nguồn dữ liệu, webhook và phần mềm.

Các tính năng chính của Automation

AppSheet Automation là một nền tảng tự động hóa không cần mã nguồn giúp các doanh nghiệp tự động hóa quy trình của họ. Đây là một công cụ mạnh mẽ có thể được sử dụng để tự động hóa nhiều loại công việc, bao gồm:

  • Tự động cập nhật dữ liệu

  • Tạo file

  • Sử dụng API từ các dịch vụ bên ngoài

  • Sử dụng gửi thông báo trên Appsheet

  • Sử dụng gửi tin nhắn hoặc email trên Appsheet

  • Gọi tới một Appscript

Automation trong thực tế sử dụng:

  • Tạo file ví dụ: File đơn hàng, xuất kho nhập kho...

  • Tự động gửi email cho khác hàng xác nhận đơn hàng có đính kèm theo file

  • Tự động tạo file báo cáo hàng ngày.

  • Update các dữ liệu sau khi xóa.

Các phần chính trong Automation

Trong appsheet có 4 phần cấu tạo nên một Automation gồm Event - Process - Task - Event

Bot

Bot là một automation



Event

Để một boot có thể chạy chúng ta cần một sự kiện để boot có thể hoạt động, sự kiện này được hiểu là nơi bắt đầu của Boot



Đối với loại Data change, trong phần điều kiện chạy, để tránh trường hợp automation chạy liên tục, chúng ta thường để một công thức như sau.

**[_THISROW_BEFORE].[file_bao_gia]<>[_THISROW_AFTER].[file_bao_gia]**

Công thức này là công thức sẽ yêu cầu automation chạy khi một dòng dữ liệu thay đổi. Ở đây có 3 phần chính.

  • -**[file_bao_gia]** Là giá trị của cột file báo giá

  • -**[_THISROW_BEFORE]** Là giá trị trước khi người dùng edit. Ví dụ file123.pdf

  • -**[_THISROW_AFTER]** Là giá trị sau khi người dùng edit và update. Ví dụ file124.pdf

Vậy nếu chuyển đổi hàm này ra thành ngôn ngữ thông thường ta sẽ có

`**[_THISROW_BEFORE].[file_bao_gia]<>[_THISROW_AFTER].[file_bao_gia]`** 


**file123.pdf** <> (khác với) **file124.pdf** 

Vậy sau khi nhận dạng được tên file này khác nhau tức là điều kiện để kích hoạt Boot đã được chính xác, lúc này Boot sẽ được kích hoạt và tiếp tục chạy tới bước thứ 3 đó là Process




➡️ Sự kiện thời gian thay đổi:

Boot sẽ tự động chạy vào thời điểm mà người dùng đã xác định trước. Ví dụ: gửi email lúc 8h sáng.

Appsheet cho phép chúng ta chạy các automation theo các thời gian nhất định như sau. Chạy theo ngày, chạy theo tuần, theo tháng và theo tháng trong tuần.

Một lưu ý khi sử dụng chạy event theo thời gian đó là chỉnh time zone về GMT +7 ( múi giờ việt nam) và nên kích hoạt vào những lúc người dùng không sử dụng app để tránh trường hợp xảy ra xung đột dữ liệu.

Lưu ý tính năng này chỉnh hoạt động trên bản trả phí của Google



Process

Process là tổng hợp các tác vụ thành một hoạt động phức tạp. Process đại diện cho một quy trình kinh doanh thông thường, như duyệt đơn hàng. Một process có thể chạy một tập hợp các tác vụ theo thứ tự đơn giản, như gửi email hoặc tạo tập tin. Một process phức tạp hơn có thể mất giờ hoặc ngày để hoàn thành.





Task

Một nhiệm vụ là một hoạt động đơn giản chạy nhanh chóng và được thêm vào như một bước trong một quy trình.

AppSheet hỗ trợ các loại tác vụ khác nhau như gửi email, SMS, thông báo, gọi webhooks, tạo và lưu tệp, gọi tập lệnh và gửi tin nhắn trò chuyện.

Task gồm 6 hoạt động sau:

  1. Gửi email đến bên ngoài (Đề nghị sử dụng)

  2. Gửi thông báo đến users (Chỉ hoạt động trên điện thoại)

  3. Gửi tin nhắn SMS

  4. Gọi dịch vụ bên ngoài qua API

  5. Tạo mới một file

  6. Gọi mã script (Sử dụng code)



Automation và Action

Automation và Action trong AppSheet là hai khái niệm quan trọng giúp người dùng tùy biến và tự động hóa ứng dụng của họ. Dưới đây là thông tin chi tiết về hai khái niệm này:

Automation (Tự động hóa)

Action (Hành động)

Automation trong AppSheet cho phép bạn thiết lập các quy trình tự động hóa để giảm thiểu sự can thiệp của con người, tiết kiệm thời gian và nâng cao hiệu quả công việc. Bạn có thể tạo ra các quy trình tự động hóa dựa trên sự kiện (Event) và điều kiện (Condition) được định nghĩa trước. Ví dụ, bạn có thể thiết lập một quy trình tự động gửi email thông báo khi có dữ liệu mới được nhập vào ứng dụng.

Action là những hành động cụ thể mà người dùng có thể thực hiện trong ứng dụng AppSheet. Chúng có thể bao gồm việc thêm, sửa, xóa dữ liệu, thay đổi giá trị của một trường hoặc thực hiện các hành động khác. Bạn có thể tùy chỉnh các action để phù hợp với nhu cầu sử dụng của ứng dụng.

⇒ Về việc update dữ liệu bằng automation sẽ cần tốn thời gian để xử lý. Cụ thể sẽ mất từ 5-10 giây để Appsheet trả về kết quả. 

=> Update dữ liệu bằng action sẽ không hiệu quả nếu người dùng xóa dữ liệu.

Kiểm tra automation có hoạt động hay không

⇒ Về việc update dữ liệu bằng action sẽ trả về kết quả trực tiếp và không tốn thời gian để load lại dữ liệu

Automation là quá trình chạy tự động vì vậy trong thực tế có thể có một số lỗi phát sinh không mong muốn. Để kiểm tra xem các bots (automation )có đang hoạt động được bình thường hay không chúng ta cần thực hiện các bước sau:

Kiểm tra automation theo từng Bot

  • Bước 1: Vào automation chọn vào một bots bất kỳ.

  • Bước 2: Ở góc phải màn hình chọn vào test

  • Bước 3: Kiểm tra lỗi, nếu bot không có báo lỗi sẽ trả về kết quả như hình dưới





Kiểm tra automation theo lịch sử chạy

  • - Bước 1: Vào automation chọn vào **Monitor**

  • - Bước 2: Chọn vào app bạn muốn kiểm tra thông tin

  • - Bước 3:  Ở màn hình chính sẽ hiển thị thông tin lỗi của automation, chọn vào run để xem được chi tiết hơn







Ứng dụng Automation trong thực tế

1. Update dữ liệu bằng automation

Khi một dòng dữ liệu từ một bảng con thay đổi, các giá trị đi kèm bảng đó cần thay đổi theo, Appsheet sẽ không thể tự động cập nhật được các giá trị thay đổi nếu chúng ta không thực hiện việc update. Để update

  • Bước 1: Tạo một Boot và để điều kiện all change hoặc update and delete (trong trường hợp này nếu không muốn lúc nào Appsheet cũng update bạn nên để điều kiện giới hạn lần chạy ví dụ hàm **[_THISROW_BEFORE].[file_bao_gia]<>[_THISROW_AFTER].[file_bao_gia]**

  • Bước 2: Tạo một process, trong process này chọn vào Run a data action

  • Bước 3: Tạo một action để gọi tới action update

  • Bước 4: Khi đã hoàn thành lưu lại và kiểm tra xem Automation đã hoạt động được chưa.

  • Bước 5: Kiểm tra automation





2. Tạo file bằng automation

Tạo file là một phần quan trọng trong việc sử dụng automation, để tạo được file bằng Automation chúng ta cần kết hợp giữa Action và Automation

Action

  • Bước 1: Tạo action với tên là set tên file. Trong bước này cần set tên cho 2 cột

    • update = now()

    • file = CONCATENATE("/Files/Contract/",CONCATENATE([id],"-",TEXT([update],"dd-mm-yyyy-HH-MM")),".pdf") ⇒ trường hợp này đang sử dụng đường dẫn là contract, bạn có thể sử dụng bất kỳ đường dẫn nào bạn muốn

    • Lưu ý nếu là file pdf thì giữ nguyên đuôi file, nếu là file excel thì hãy đổi tên lại thành .xlsx

  • Bước 2: Tạo action sycn (đồng bộ ) với loại go to another view with in this app

    • LINKTOROW([id],"CONTRACT_Detail")& "&at="&(NOW()+1) ⇒ Trong đó contract_detail là view mong muốn trả về

  • Bước 3: Tạo action nhóm 2 action này lại

⇒ Lưu ý action ở bước 1 và bước 2 chọn kiểu hiển thị là ref (ẩn) và để icon là -







Automation

  • Bước 1: Vào automation tạo một Bot và đổi tên bot đó

  • Bước 2: Trong phần event chọn all change và phần condition gõ vào công thức

    • [_THISROW_BEFORE].[contract_file]<>[_THISROW_AFTER].[CONTRACT_file] ⇒ trong đó contract file là tên của cột lưu thông tin file

  • Bước 3: Chọn vào process chọn tiếp run a task, ở mục này chọn create a new file

  • Bước 4: Chọn vào loại file mong muốn, sau đó ấn create, lúc này appsheet sẽ tự động tạo ra một file template cho bạn

  • Bước 5: Chọn vào file folder path và đổi đường dẫn : theo đường dẫn ở phần action "/Files/Contract/” ,

  • Bước 6: Trong phần File Name Prefix đổi thành “CONCATENATE([id],"-",TEXT([update],"dd-mm-yyyy-HH-MM"))”

  • Bước 7: Chọn Disable Timestamp

Như vậy chúng ta đã tạo xong một file trên Appsheet.







Tạo số thứ tự trong File appsheet

Tùy thuộc vào loại tạo file mà bạn có thể sử dụng tới công thức khác nhau. Khi tạo file bằng Appsheet sẽ có 2 loại. tạo file bằng ref và tạo file bằng filter

Hàm đánh số thứ tự trong Appsheet (dành cho template) (hàm select) stt

Cách sử dụng, copy sau đó thay thế

**

<<Start: Filter("PO detail",AND([SỐ ĐH]=[_THISROW].[SỐ ĐH],[LOẠI]="SẢN PHẨM"))>><<COUNT(SPLIT(LEFT(CONCATENATE(SELECT(PO detail[_ROWNUMBER],AND([SỐ ĐH]=[_THISROW].[SỐ ĐH],[LOẠI]="SẢN PHẨM"))), FIND(trim(CONCATENATE([_ROWNUMBER]," ")), CONCATENATE(SELECT(PO detail[_ROWNUMBER],AND([SỐ ĐH]=[_THISROW].[SỐ ĐH],[LOẠI]="SẢN PHẨM")))) +LEN(TEXT([_ROWNUMBER]))-1), “,”))>>


Hàm đánh số thứ tự trong Appsheet (dành cho template) (hàm Related) stt

<<Start: [Related KHVTs]>> 

<<COUNT(SPLIT(LEFT(CONCATENATE([Related KHVTs][_ROWNUMBER]), FIND(trim(CONCATENATE([_ROWNUMBER]," ")), CONCATENATE([Related KHVTs][_ROWNUMBER])) +LEN(TEXT([_ROWNUMBER]))-1), “,”))>>

**








Các lỗi thường gặp khi tạo file trên Appsheet:

  • Sai đường dẫn: Lỗi này thường xảy ra khi file gốc không nằm trong thư mục của app, lúc này chúng ta cần sửa đổi đường dẫn lại thành

  • CONCATENATE("/appsheet/Data/",CONTEXT(appname),"/Files/HD/",[Mã HĐ],"-",TEXT([update],"dd_mm_yyyy_HH_MM"),".pdf")

  • Trong đó chúng ta cần thêm đường dẫn /appsheet/Data/",CONTEXT(appname) để appsheet có thể hiểu được

3. Tạo bot thông báo tới telegtam

Xem thêm :  https://hocdata.blogspot.com/2023/04/huong-dan-gui-tin-nhan-bang-telegram.html


Nếu bạn muốn tìm một khóa học về Appsheet có thể tham khảo khóa học sau trên Unica.


Hòa Data

Chào các bạn, tôi là Hòa - chuyên gia phân tích dữ liệu, nhà phát triển ứng dụng AppSheet. Tôi rất mong được cùng hợp tác và phát triển với các doanh nghiệp để mang đến những giải pháp tối ưu nhất.

Đăng nhận xét

Mới hơn Cũ hơn