Trong UiPath Studio có nhiều kiểu luồng công việc (workflow) khác nhau (Sequence – trình tự, Flowchart – lưu đồ, State Machine – luồng trạng thái, Global Exception Handler – trình xử lý ngoại lệ) giúp bạn xây dựng những quy trình tự động phù hợp với độ phức tạp của quy trình và cũng có những độ khó khác nhau.

1.    Sequence

Luồng công việc trình tự (sequence) là một luồng công việc cơ bản trong UiPath Studio. Luồng công việc này là một chuỗi các hành động được thực thi một cách trình tự, nối tiếp nhau một cách liền mạch.

Ví dụ: Khi bạn thực hiện điền form, bạn cần nhập các trường input một cách trình tự, sau đó click vào nút “Gửi”.

Một ưu điểm của Sequence là chúng có thể được sử dụng lại nhiều lần, là một phần cho các luồng công việc phức tạp giúp tiết kiệm thời gian hơn cho các nhà phát triển.

Đánh giá

  • Độ khó: Dễ
  • Áp dụng: Áp dụng cho các quy trình đơn giản

Ví dụ cách sử dụng

Nhập danh sách khách hàng từ file excel vào hệ thống. Hệ thống sẽ thực hiện tuần tự việc nhập Company Name, First Name, Last Name, Role in Company, sau đó click nut “Submit”. Sequence này cũng có thể được sử dụng lại trong trường hợp cần nhập nhiều dữ liệu khách hàng bằng các sử dụng For Each.

2.    Flowchart

Flowchart là một luồng công việc phổ biến trong các dự án tự hóa, nó mang tính linh hoạt cao hơn luồng công việc tuần tự (Sequence), đồng thời cũng có độ khó khi sử dụng cao hơn. Flowchart sử dụng các kết nối (connector) để liên kết các activity các decision point để trỏ quy trình đến một bước nhất định (tương tự như câu lệnh if hoặc goto trong lập trình). Nhờ các đặc tính đó, Flowchart được sử dụng để xử lý các quy trình từ đơn giản đến phức tạp.

Đánh giá

  • Độ khó: Trung bình
  • Áp dụng: Áp dụng cho các quy trình đơn giản và phức tạp

Ví dụ cách sử dụng

Để ví dụ cách sử dụng Flowchart, chúng ta cùng thực hiện bài toán xác định năm nhuận.

Nếu một năm là năm nhuận thì số năm Dương lịch chia 19 nếu dư 3, 6, 9, 11, 14, 17 thì các năm đó là nhuận.

Quy trình thực hiện

  1. Nhập năm cần tính
  2. Tính số dư của phép tính Năm hiện tại chia 19
  3. Nếu số thuộc danh sách 3, 6, 9, 11, 14, 17, in ra thông báo “Năm <số năm đã nhập> là năm nhuận”
  4. Nếu không, in ra thông báo “Năm <số năm đã nhập> không phải là năm nhuận”
  5. Kết thúc

3.    State Machine

State Machine là một dạng luồng công việc sử dụng “hữu hạn các trạng thái” trong quá trình thực thi của nó, nó cũng được hiểu là một dạng luồng công việc thực hiện theo hướng sự kiện (event-driven).

Một State trong State Machine gồm 3 phần:

  • Entry: Thực hiện các activities khi trạng thái được kích hoạt
  • Exit: Thực hiện các activities khi thoát khỏi trạng thái
  • Transitions: Chứa các điều kiện chuyển đổi trạng thái, liên kết chúng đến các State khác

Note: Final State không bao gồm Exit và Transitions, khi một Final State được gọi, nó thực thi hành động kết thúc vòng đời một State Machine.

Đánh giá

  • Độ khó: Cao
  • Áp dụng: Áp dụng cho các quy trình phức tạp

Ví dụ cách sử dụng

Bài toán: Thiết kế quy trình cho phép người dung nhập vào một số, nếu số đó bằng với số ngẫu nhiên được sinh ra trong hệ thống (vd từ 1-100) thì thông báo cho người dùng

Bước 1: Xác định số lượng State:

  • State 1 (Initial State): Sử dụng khởi tạo một số ngẫu nhiên.
  • State 2 (Guess Number): Sử dụng để thực hiện nhập một số từ người dùng.
  • State 3 (Final State): in ra thông báo khi người dung nhập đúng số.

Bước 2: Xác định các Transitions (điều kiện chuyển đổi State hoặc mối liên hệ giữa các State)

Ở đây ta có thể thấy từ State 1 sang State 2 là tuyến tính, không có điều kiện nào nhưng vẫn cần có Transition để chuyển đổi trạng thái từ trạng thái “Nhập dữ liệu” sang “Xử lý dữ liệu”.

Nếu số nhập vào không đúng với số Ngẫu nhiên, cần quay lại State 2 để người dung nhập lại số, vậy ở đây sẽ có 3 Transition ứng với 2 điều kiện: Correct (Chính xác), Smaller (nhỏ hơn số ngẫu nhiên), Bigger (Lớn hơn số ngẫu nhiên) trong đó nếu Correct thì chuyển sang trạng thái Final (kết thúc), 2 trường hợp còn lại quay lại State 2.

Lược đồ State Machine đầy đủ
State 1: Khởi tạo số ngẫu nhiên

State “Guess Number” thực hiện hành động hiện nhận vào 1 số từ người dung sau đó chuyển sang các trạng thái tiếp theo dựa vào Transitions.

State 2: Xử lý dữ liệu nhập vào

4.    Global Exception Handler

Global Exception Handler là một kiểu luồng công việc sử dụng để xác định khi nào một quy trình xảy ra lỗi, nó thường được sử dụng chung với các luồng công việc khác như một các để xử lý các ngoại lệ.

Note: Mỗi dự án RPA của UiPath chỉ được phép tạo duy nhất 1 workflow Global Handler Exception

Một Global Exception Handler sẽ có 2 tham số:

  • errorInfo (In): Chứa thông tin về ngoại lệ. Hệ thống sẽ tự động phát hiện ngoại lệ (nếu có) trong quá trình thực thi và gửi để Global Exception Handler để xử lý, thông tin sẽ được lưu trong tham số “errorInfo”
  • result (Out): Chứa thông tin về hành động tiếp theo để xử lý ngoại lệ, nó gồm 4 giá trị:
    • Continue: Tiếp tục thông báo lỗi và dừng chương trình tại vị trí activity lỗi
    • Ignore (bỏ qua): Hệ thống sẽ bỏ qua ngoại lệ, thực thi tiếp activity kế tiếp activity bị lỗi
    • Retry: Hệ thông thực thi lại activity bị lỗi dựa theo tham số lần RetryCount được đặt sẵn
    • Abort: Hệ thống dừng quy trình hiện tại và hiển thị lỗi ở phần Log

Đánh giá

  • Độ khó: Trung bình
  • Áp dụng: Có thể áp dụng trong cả quy trình đơn giản và phức tạp

Ví dụ các sử dụng

Hình dưới mô tả một Global Exception Handler mặc định của UiPath, mỗi khi có ngoại lệ bất kỳ xuất hiện trong quá trình thực thi, hệ thống sẽ tiền hành thực thi lại activity bị lỗi 3 lần (errorInfo.RetryCount < 3), nếu sau 3 lần mà ngoại lệ vẫn xuất hiện, hệ thống tiến hành dừng thực thi quy trình.

Trên đây RPT đã giới thiệu với các bạn 4 kiểu Workflow trong các dự án tự động hóa với UiPath, hy vọng các bạn chọn được kiểu phù hợp hoặc kết hợp chúng với nhau cho các dự án tự động hóa của mình. Happy Automation!

RPT Vietnam

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *