Bài 26: Sử dụng State Machine để chuyển đổi trạng thái trong thực thi mô hình tự động hóa

Máy trạng thái (State Machine) là một dạng tự động hóa hoạt động dựa trên một số trạng thái hữu hạn. Hệ thống sẽ chuyển vào một trạng thái khi có một hoạt động kích hoạt, và thoát khỏi trạng thái đó khi có hoạt động khác xảy ra.

Một phần quan trọng trong máy trạng thái là các chuyển tiếp (transitions) – chúng cho phép Ta thiết lập điều kiện để chuyển từ trạng thái này sang trạng thái khác. Các chuyển tiếp này thường được thể hiện bằng các mũi tên hoặc nhánh nối giữa các trạng thái.

Trong phần Workflow > State Machine, có hai hoạt động đặc trưng của máy trạng thái là: State (Trạng thái)Final State (Trạng thái kết thúc).

State (Trạng thái) Activity gồm ba phần: Entry (Khi vào trạng thái), Exit (Khi thoát trạng thái)Transition(s) (Các chuyển tiếp):

Trong khi đó, Final State (Trạng thái kết thúc) Activity chỉ có Entry:

Cả hai loại Activity (State Final State) này đều có thể được mở rộng bằng cách nhấp đúp chuột, cho phép Ta xem chi tiết và chỉnh sửa nội dung bên trong.

Phần EntryExit cho phép Ta thêm các hành động sẽ được thực hiện khi vào hoặc thoát khỏi trạng thái tương ứng. Phần Transition(s) sẽ hiển thị tất cả các chuyển tiếp có liên kết với trạng thái đang được chọn.

Các Transition(chuyển tiếp) sẽ được mở rộng khi bạn nhấp đúp vào chúng, giống như hoạt động State. Chúng bao gồm ba phần: Trigger (Trình kích hoạt), Condition (Điều kiện) và Action (Hành động), cho phép Ta thêm trình kích hoạt cho trạng thái tiếp theo hoặc thêm điều kiện để một Activity hoặc chuỗi Activity được thực thi.

Ví dụ màn hình Transition cho Try Bigger:

Ví dụ màn hình Transition cho Try Smaller:

Ta thực hiện bài GAME ĐOÁN SỐ NHỊ PHÂN như bài 25, nhưng sử dụng State Machine.

Bước 1: Tạo dự án “LearnStateMachine

Khởi động UiPath và chọn Process để tạo dự án:

Cấu hình, đặt tên, nơi lưu trữ dự án, ngôn ngữ lập trình:

Sau đó bấm Create để tạo dự án.

Bước 2: Tạo State Machine

Để tạo State Machine, ta bấm chuột phải vào dự án/ chọn Add/ rồi chọn State Machine:

Khi chọn State Machine, màn hình New State Machine xuất hiện như dưới đây:

Đặt tên State Machine là “MyStateMachine” rồi nhấn nút Create, kết quả:

Ta thiết lập để cho “MyStateMachine” chạy mặc định, bằng cách bấm chuột phải vào “MyStateMachine.xaml” rồi chọn “Set as Main”, kết quả:

Bước 3: Tạo 2 biến RandomNumber and InitialGuess để lưu trữ số của máy ra ngẫu nhiên và số của người chơi đoán.

Bạn vào thẻ “Variables” lần lượt tạo 2 biến RandomNumber InitialGuess có kiểu Int32 như hình Tui chụp minh họa ở trên.

Bước 4: Kéo thả State Activity và kết nối tới Start node trong StateMachine.

Ta vào thẻ Activities, gõ từ khóa “state” tìm State Activity và kéo thả vào MyStateMachine, lúc bạn kéo thả vào thì di chuyển vào Start Node để kết nối, kết quả:

Ta tiến hành cấu hình cho State khởi tạo này bằng cách Double-Click vào State:

  • DisplayName: Initializing Random Number
  • Entry: Kéo thả Assign Activity vào để tạo giá trị ngẫu nhiên cho RandomNumber. Cách kéo thả Activity bạn đã biết.
Bước 5: Kéo thả Assign Activity để gán giá trị ngẫu nhiên cho RandomNumber

Ta vào thẻ Activities, gõ từ khóa assign rồi kéo thả Assign Activity vào phần Entry như hình minh họa, kết quả:

  • Set value ta viết mã lệnh để tạo số ngẫu nhiên từ 1 tới 100
new Random().Next(1,100)
  • To variable ta gán cho biến RandomNumber

Sau khi cấu hình xong, ta quay lại màn hình chính bằng cách bấm vào link “State Machine” ở phía trên màn hình góc bên trái (dùng dòng với các chữ Expand All và Collapse All), kết quả:

Bước 6: Kéo thả một State và kết nối State này với State (Initializing Random Number) vừa tạo ở bước trước.

Trong thẻ Activities, ta gõ từ khóa state rồi kéo Sate Activity vào màn hình chính như hình minh họa, kết nối State này với State ở bước trước. Lúc kéo State ta di chuyển nó vào State ở bước trước nó sẽ xuất hiện ra các mũi tên, kết quả:

State này có nhiệm vụ yêu cầu người chơi đoán số. Ta Double-click vào State này để cấu hình:

  • DisplayName: Guess Number
Bước 7: Kéo thả InputDialog Activity vào phần Entry của State Guess Number

InputDialog này yêu cầu người chơi đoán một số

Từ thẻ Activities, ta gõ từ khóa Input dialog rồi kéo Activity này vào mục Entry của State Guess Number như hình minh họa ở trên, kết quả:

Ta tiến hành nhập dữ liệu cho Dialog Title, Input Label và Value entered như dưới đây:

  • Dialog Title: “Guess a number”
  • Input Label: “Guess a number from 1 to 100”
  • Value entered:InitialGuess, có nhiệm vụ lưu lại giá trị mà người chơi đoán

Xem hình minh họa kết quả:

Sau đó ta quay lại màn hình chính, bằng cáhc bấm vào link “State machine” ở góc trái bên trên màn hình, cùng dòng với Expand All và Collapse All, kết quả :

Bước 8: Tạo Transition “Try Bigger”

Click chuột vào đường viền của State Guess Number, sau đó giữ và di chuyển chuột vào vị trí khác của chính State này để tạo transition, lúc kéo bạn sẽ thấy đường nét đứt như hình dưới đây:

Sau đó bạn nhả chuột ra, kết quả:

Ta Double Click vào Transition này (T2), giao diện chi tiết của Transition hiện thị ra như hình dưới đây:

  • DisplayName: “Try Bigger”
  • Condition: InitialGuess<RandomNumber

Xem hình kết quả:

Bước 9: Kéo thả MessageBox Activity vào mục Action của Try Bigger:

Trong thẻ Activities, ta gõ từ khóa Message và kéo MessageBox Activity vào giao diện Transition của Try Bigger như hình trên, kết quả:

Thuộc tính Text của Message Box ta nhập: “Your guess is too small. Try a bigger number.”, kết quả:

Quay trở về màn hình chính State Machine ban đầu, ta có:

Bước 10: Tạo Transition “Try Smaller”:

Click chuột vào đường viền của State Guess Number, sau đó giữ và di chuyển chuột vào vị trí khác của chính State này để tạo transition, lúc kéo bạn sẽ thấy đường nét đứt như hình dưới đây:

Sau đó bạn nhả chuột ra, kết quả:

Ta Double Click vào Transition này (T2), giao diện chi tiết của Transition hiện thị ra như hình dưới đây:

  • DisplayName: “Try Smaller”
  • Condition: InitialGuess >RandomNumber

Xem hình kết quả:

Bước 11: Kéo thả MessageBox Activity vào mục Action của Try Smaller:

Trong thẻ Activities, ta gõ từ khóa Message và kéo MessageBox Activity vào giao diện Transition của Try Smaller như hình trên, kết quả:

Thuộc tính Text của Message Box ta nhập: “Your guess is too big. Try a smaller number.”, kết quả:

Quay trở về màn hình chính State Machine ban đầu, ta có:

Bước 12: Kéo Final State và kết nối vào Guess Number State

Trong thẻ Activities, ta gõ từ khóa Final state sau đó kéo thả Activity này vào màn hình và kết nối nó với Guess Number như minh họa, kết quả:

Ta nhấn vào T2 để hiển thị Property:

  • Condition: InitialGuess==RandomNumber
  • DisplayName:Correct Guess

Kết quả:

Bước 13: Kéo MessageBox vào Entry của Final State

Ta Double-click vào Final State để mở màn hình chi tiết của Final State

Sau đó kéo thả MessageBox Activity vào Entry:

Trong thẻ Activities ta gõ từ khóa Message rồi kéo thả MessageBox Activity vào Entry của Final State, kết quả:

Trong thuộc tính Text của MessageBox ta nhập: “Congratulations. You guessed correctly! The number was ” + RandomNumber + “.”, kết quả:

Quay trở về State Machine ta có quy trình tổng quan của State Machine này như sau:

Tiến hành chạy chương trình tự động hóa State Machine này ta có kết quả như sau:

Thực thi phần mềm tự động hóa Game đoán số nhị phân này ta có kết quả như sau (các bạn làm theo nhé, và lưu ý là tùy thuộc vào mỗi máy tính, mỗi lần chạy mà nó sẽ khác nhau, nhưng bạn cần tuân thủ theo Game Nhị phân, tức là mỗi lần đoán sai thì giảm quy mô bài toán đi 1/2), chạy Game ta có:

Máy ra 1 số ngẫu nhiên từ 1 tới 100, ta đoán 50 theo cơ chế nhị phân

Nhấn OK, kết quả:

Chương trình báo rằng số ta đoán quá nhỏ, cần đoán số lớn hơn, tiếp tục áp dụng cơ chế nhị phân ta sẽ đoán số 75:

Nhấn OK, kết quả:

Chương trình báo ta đoán số quá nhỏ, cần đoán số lớn hơn, tiếp tục áp dụng cơ chế nhị phân ta sẽ đoán số 87:

Nhấn Ok, kết quả:

Chương trình báo ta đoán số quá lớn, cần đoán số nhỏ hơn, tiếp tục áp dụng cơ chế nhị phân ta sẽ đoán số 81:

Nhấn Ok, kết quả:

Chương trình báo ta đoán số quá nhỏ, cần đoán số lớn hơn, tiếp tục áp dụng cơ chế nhị phân ta sẽ đoán số 84:

Nhấn Ok, kết quả:

Như vậy sau 5 lần đoán ta đã đoán thành công, đây chính là cách ứng dụng State Machine để xử lý cho bài Game đoán số nhị phân, ở bài trước là sử dụng FlowChart.

Bạn làm theo cơ chế nhị phân ở trên thì sẽ đoán trúng được, thường nếu theo cơ chế này thì khoảng tối đa 7 lần là ta đoán trúng bất chấp quy mô của bài toán.

Bạn có thể tải full source code dự án tự động hóa này ở đây:

https://www.mediafire.com/file/cx5y7jst8fvj5q3/LearnStateMachine.rar/file

Như vậy Tui đã hướng dẫn xong các bạn cách sử dụng State Machine để tạo tự động hóa dạng Máy chuyển trạng thái qua bài minh họa Game nhị phân

Bài học tiếp theo, Tui sẽ hướng dẫn các bài tập bổ sung liên quan tới tạo quy trình tự động hóa, tạo thư viện, Sequence, Flowchart và State machine, Các bạn chú ý theo dõi

Chúc các bạn thành công

p/s: Toàn bộ các bài học liên quan tới Tự động hóa quy trình bằng Robot được tổng hợp tại link https://tranduythanh.com/robotic-process-automation/, các bạn vào trang này và kéo xuống có thể theo dõi từng bài theo chươngĐăng ký và tải phần mềm UiPath Studio

Bài 25: Sử dụng Flowchart cho quy trình tự động hóa phân nhánh

Sơ đồ luồng (FlowChart) là công cụ trực quan giúp thể hiện quy trình làm việc, qua đó làm rõ các điểm ra quyết định cũng như cái nhìn tổng thể về quy trình. Chúng có thể được sử dụng trong nhiều tình huống khác nhau — từ các dự án lớn đến những công việc nhỏ — và còn có thể tái sử dụng trong các dự án tự động hóa khác.

Điểm nổi bật nhất của sơ đồ luồng là khả năng thể hiện các nhánh logic khác nhau, điều mà các chuỗi tuần tự (Sequence) không làm được. Nhờ đó, Ta có thể xây dựng các quy trình kinh doanh phức tạp và kết nối các hoạt động theo nhiều cách đa dạng.

Ngoài ra, sơ đồ luồng còn hỗ trợ tính năng “Tự động sắp xếp”, cho phép Ta sắp xếp các thành phần một cách tự động theo chiều ngang hoặc chiều dọc.

Để minh họa bài Flowchart theo cách dễ hiểu nhất, Tui sẽ minh họa bài GAME ĐOÁN SỐ NHỊ PHÂN, mô tả:

  • Game đoán số nhị phân: Máy sẽ ra một số ngẫu nhiên từ 1 tới 100, sau đó người chơi sẽ đoán:
  • Nếu đoán đúng thì thông báo “Chúc mừng bạn đã đoán đúng”
  • Nếu đoán sai thì thông báo là người chơi đoán sai, và cho biết số người đoán nhỏ hơn hay lớn hơn số của máy

Flowchart sau khi thiết kế hoàn chỉnh Game Đoán Số Nhị Phân như sau:

Dưới đây là chi tiết cách sử dụng FlowChart:

Bước 1: Tạo Process “BinaryGameFlowChart”

Khởi động UiPath/chọn Process để tạo dự án tự động hóa:

Màn hình New Blank Process hiển thị ra như dưới đây, bạn tiến hành nhập các thông số cho Process:

  • Name: Nhập “BinaryGameFlowChart”
  • Description: Nhập “Binary Game Flow Chart”
  • Location: Chọn nơi lưu trữ dự án
  • Compatibility: Chọn Windows
  • Language: Chọn ngôn ngữ lạp trình C#

Sau đó nhấn “Create” để tạo dự án, kết quả:

Bước 2: Tạo FlowChart bằng cách nhấn chuột phải vào dự án chọn Add/rồi chọn Flowchart

Sau khi chọn FlowChart, màn hình New FlowChart xuất hiện ra như dưới đây:

  • Nhập tên “MyFlowchart” rồi nhấn nút “Create”

Kế quả sau khi tạo New Flowchart, có biểu tượng nút Start ở trên màn hình:

Ta thiết lập để cho MyFlowchart chạy chính:

Ta bấm chuột phải vào “MyFlowchart.xaml” rồi chọn Set as Main, kết quả là file này sẽ được tô đậm trong Project.

Tiếp theo là ta tạo thêm 3 biến cho MyFlowchart:

  • MachineNumber: Là biến lưu trữ số ngẫu nhiên của máy từ 1 tới 100
  • HumanNumber: Là số người chơi sẽ đoán
  • Message: Là thông báo của phần mềm tới với Người chơi: Chúc mừng đoán trúng, thông báo đoán số quá nhỏ, thông báo đoán số quá lớn.

Bạn khai báo biến, kiểu dữ liệu của biến và Scope như trên.

Bước 3: Kéo thả Assign Activity để lưu trữ MachineNumber và kết nối vào Start node

Bạn tìm Assign trong thẻ activities rồi kéo thả Activity nào vào màn hình, nhớ lúc kéo thì di chuyển nó tới Start node nó sẽ xuất hiện các mũi tên như rồi, rồi ta nhả chuột ra, kết quả:

Ta nhấn chuột vào Assign Activity để nhập các thông số cấu hình cho nó trong cửa sổ Properties.

  • To variable: Ta gán tên biến MachineNumber
  • Set Value: Ta viết mã lệnh C# để tạo số ngẫu nhiên từ 1 tới 100:
new Random().Next(1,101)
Bước 4: Kéo thả Input Dialog Activity và kết nối vào Assign để hỏi người chơi đoán số nào

Ta gõ từ khóa Input trong thẻ Activities để tìm Input Dialog activity và kéo thả Activity nào vào màn hình, lúc kéo thì nhớ kế nối nó với Assign Activity trước đó. Bạn kéo và di chuyển vào Assign thì các biểu tượng mũi tên sẽ xuất hiền thì nhả chuột ra, kết quả:

Bạn cấu hình như sau:

  • Label: Nhập tên biến Message
  • Result: Nhập tên biến HumanNumber

Như vậy khi cửa sổ này chạy, người chơi gõ số vào để đoán thì nó sẽ được lưu vào biến HumanNumber:

Bước 5: Kéo thả Flow Decision Activity và kết nối vào Input Dialog để hỏi ngươi chơi đoán số nào

Bạn gõ từ khóa “flow decision” trong thẻ Activities, sau đó kéo thả “Flow Decision” Activity nào vào màn hình và kết nối nó với Input Dialog Activity, lúc kéo thả Activity vào thì di chuyển nó vào Input Dialog nó sẽ xuất hiện các biểu tượng mũi tên thì nhả ra, kết quả:

Bạn viết mã lệnh cho mục condition:

HumanNumber==MachineNumber

Chương trình sẽ kiểu tra và trả về kết quả True hoặc False

Dựa vào kết quả này để thông báo cho người chơi là đã Đoán trúng hay là đoán sai.

Bước 6: Kéo thả Messagebox Activity và kết nối vào nhánh True của Flow Decision ở bước 5

Trong thẻ Activities bạn gõ từ khóa Messagebox để tìm MessageBox Activity, kéo thả và kết nối Activity này vào nhánh True của Flow Decision ở bước trên, kết quả:

Bạn tiến hành nhập mã lệnh cho MessageBox này vào thuộc tính Text:

"Congratulations! You guessed correctly! The number was " + MachineNumber.ToString()

Xem kết quả sau khi nhập mã lệnh:

Bước 7: Tiếp tục Kéo thả thêm Flow DecisionActivity và kết nối vào nhánh False của Flow Decision ở bước 5

Tương tự, bạn tìm Flow Decision và kéo thả vào nhánh False của Flow Decision ở bước 5, kéo Activity vào Flow Decision nó sẽ xuất hiện các biểu tượng mũi tên thì nhả chuột ra, kết quả:

Ta tiến hành viết mã lệnh cho Flow Decision này như sau:

Trong thuộc tính Condition, ta gõ lệnh:

HumanNumber > MachineNumber
Bước 8: Tiếp tục Kéo thả thêm Assign Activity và kết nối vào nhánh True của Flow Decision ở bước 7

Tương tự, ta tìm Assign Activity rồi kéo vào nhánh True của Flow Decision ở bước 7, lúc kéo di chuyển chuột vào Flow Decision này thì nó sẽ hiển thị nên các biểu tượng mũi tên thì nhả chuột ra, kết quả:

Ta tiến hành viết mã lệnh cho Set value và To Variable:

  • Set value “Too big! Try again.”
  • To variable: Message

Kết quả:

Bước 9: Tiếp tục Kéo thả thêm Assign Activity và kết nối vào nhánh False của Flow Decision ở bước 7

Ta tìm Assign Activity và kéo thả kết nối nó với Flow Decision ở bước 7. Cách kết nối tương tự các hướng dẫn ở trên, kết quả:

Ta tiến hành viết mã lệnh cho Set value và To variable:

  • Set value “Too small. Try again.”
  • To variabble: Message

Kết quả:

Ta có thể kéo giãn các Activity để dễ quan sát: Bấm chuột vào Activity rồi di chuyển ra xa nhau:

Bước 10: Tiếp tục kết nối Assign Activity ở bước 8 và bước 9 vào Input Dialog Activity (tức là khi đoán sai thì yêu cầu đoán lại):

Bạn click chuột vào ô vuông trong Assign Activity mà bạn muốn kết nối với Input Dialog, vừa nhấn vừa di chuyển chuột vào Input Dialog, hình trên bạn thấy là đường nét đứt không? Tui đang di chuyển chuột từ Assign để kết nối với Input Dialog, sau đó nhả chuột ra, kết quả:

Tiếp tục, bạn lập lại thao tác kết nối Assign còn lại vào Input Dialog:

Bạn click chọn Assign và kết nối tới Input Dialog, hình trên bạn thấy đường nét đứt Tui chụp là lúc tui đang kéo thả kết nối 2 Activity này lại với nhau, kết quả:

Như vậy ta đã hoàn tất FlowChart Game đoán số nhị phân

Bạn có thể sắp xếp lại FlowChart theo Horizontal hoặc Vertical bằng cách nhấn chuột phải vào màn hình / chọn Auto arrange / rồi chọn Horizontal hoặc Vertical:

Kết quả sau khi sắp xếp nằm ngang:

Thực thi phần mềm tự động hóa Game đoán số nhị phân này ta có kết quả như sau (các bạn làm theo nhé, và lưu ý là tùy thuộc vào mỗi máy tính, mỗi lần chạy mà nó sẽ khác nhau, nhưng bạn cần tuân thủ theo Game Nhị phân, tức là mỗi lần đoán sai thì giảm quy mô bài toán đi 1/2), chạy Game ta có:

Lần đầu ta có màn hình:

Máy tính đã ra một số ngẫu nhiên từ 1 tới 100, bây giờ nhị phân nên ta đoán đại là 50, rồi nhấn OK.

Vì chương trình báo là số ta đoán quá nhỏ, nên ta suy luận rằng số của máy lớn hơn số của ta, nên chia nhị phân đoạn từ 50 tới 100 là 25, lấy 25+50 là 75. Ta đoán đại số 75 rồi nhấn OK:

Chương trình lại nói là ta đoán quá lớn, tức là số của máy chỉ nằm từ trên 50 tới dưới 75 mà thôi, ta lấy 50+(75-50)/2=62 (đoạn đại số này), nhấn OK :

Chương trình lại báo là Too Small, tức là số này phải từ trên 62 tới dưới 75, ta lấy: 62+ (75-62)/2=68 (đoán đại số này), nhấn OK:

Chương trình vẫn tiếp tục báo Too Samll, tức là số này phải từ trên 68 cho tới dưới 75, ta lấy: 68 + (75-68)/2=71 (đoán đại số này), nhấn OK:

Như vậy tổng cộng ta đoán 5 lần thì đoán đúng theo đúng cơ chế của Game nhị phân.

Bạn làm theo cơ chế nhị phân ở trên thì sẽ đoán trúng được, thường nếu theo cơ chế này thì khoảng tối đa 7 lần là ta đoán trúng bất chấp quy mô của bài toán.

Bạn có thể tải full source code dự án tự động hóa này ở đây:

https://www.mediafire.com/file/acvmiqc8hwzw3ga/BinaryGameFlowChart.rar/file

Như vậy Tui đã hướng dẫn xong các bạn cách sử dụng Flowchart để tạo tự động hóa dạng rẽ nhánh thông qua bài minh họa Game nhị phân

Bài học tiếp theo, Tui sẽ trình bày chi tiết về “Sử dụng State Machine để chuyển đổi trạng thái trong thực thi mô hình tự động hóa” đây là một trong các chức năng rất hữu dụng của RPA, Các bạn chú ý theo dõi

Chúc các bạn thành công

p/s: Toàn bộ các bài học liên quan tới Tự động hóa quy trình bằng Robot được tổng hợp tại link https://tranduythanh.com/robotic-process-automation/, các bạn vào trang này và kéo xuống có thể theo dõi từng bài theo chươngĐăng ký và tải phần mềm UiPath Studio

Bài 24: Tạo và sử dụng Sequence cho quy trình tự động hóa tuyến tính

Sequence là loại dự án nhỏ nhất trong tự động hóa. Sequence phù hợp với các quy trình tuyến tính vì chúng cho phép ta chuyển từ hoạt động này sang hoạt động khác một cách liền mạch và thực hiện như một hoạt động khối duy nhất.

Ta làm bài này với trình tự mô tả như dưới đây:

  • Bước 1: Nhập Mã khách hàng
  • Bước 2: Nhập Tên khách hàng
  • Bước 3: Nhập Email khách hàng
  • Bước 4: Sau đó lưu thông tin khách hàng vào Notepad với cấu trúc:

Ta khởi động UiPath và tạo một Process với tên “LearnSequence

  • Name: Đặt tên “LearnSequence”
  • Description: “Learn Sequence”
  • Location: Chọn nơi lưu trữ dự án
  • Compatibility: Chọn Windows
  • Language: Chọn C#

Bấm “Create” để tạo dự án, sau đó bấm chuột phải vào dự án rồi chọn Add/Chọn Sequence:

Sau khi chọn Sequence, màn hình New Sequence hiện thị ra như dưới đây:

  • Name: Đặt tên “MySequenece”
  • Location: Nơi lưu trữ Sequence

Sau đó nhấn nút “Create” để tạo Sequence.

Để thiết lập MySequence chạy chính thì ta bấm chuột phải vào MySequence / rồi chọn Set Main:

Lúc này “MySequence.xaml” sẽ được tô đậm:

Bước 1: Kéo thả Input Dialog Activity – Mã khách hàng

Ta vào thẻ Activities rồi tìm từ khóa Input, kéo thả Input Dialog Activity vào màn hình MySequence như hình mình họa ở trên, kết quả:

Ta nhập các thông tin Dialog Title, Input Label, Input Type và Value entered :

  • Dialog Title: “Customer ID”
  • Input Label: “Enter Customer ID:”
  • Value entered: Ta khai báo biến customer_id để lưu trữ Mã khách hàng mà người dùng cung cấp, nhấn ctrl+k để tạo tên biến.
Bước 2: Kéo thả Input Dialog Activity – Tên khách hàng

Ta tiếp tục kéo bổ sung Input Dialog Activity vào MySequence:

Ta nhập thông tin cho:

  • Dialog Title: “Customer Name”
  • Input Label: “Enter Customer Name:”
  • Value entered: khai báo tên biến customer_name để lưu trữ tên khách hàng
Bước 3: Kéo thả Input Dialog Activity – Email khách hàng

Ta tiếp tục kéo thêm Input Dialog Activity vào MySequence như hình minh họa.

Tiến hành cung cấp các dữ liệu cho Input Dialog Email này:

  • Dialog Title: “Customer Email”
  • Input Label: “Enter Customer Email:”
  • Value entered: khai báo tên biến customer_email để lưu trữ email khách hàng
Bước 4: Kéo thả Write Text File Activity – để lưu thông tin khách hàng xuống Notepad

Sau khi kéo thả thành công, ta có kết quả:

Write Text File activity được hiển thị ra màn hình My Sequence. Ta tiến hành nhập liệu:

  • Text *: Ta gõ lệnh:
"Customer ID: " + customer_id + Environment.NewLine + "Customer Name: " + customer_name + Environment.NewLine + "Email: " + customer_email + Environment.NewLine

Xem hình minh họa trong Expression Editor của mục Text *:

  • Write to filename *: Ta nhập tên file notepad, ví dụ “customer_sequence.txt

Ta xem kết quả:

Vậy ta có Sequence chi tiết như sau:

Thực thi phần mềm tự động hóa Sequence này ta có kết quả:

Bạn có thể tải full source code dự án tự động hóa này ở đây:

https://www.mediafire.com/file/ceosehrw4klfspt/LearnSequence.rar/file

Như vậy Tui đã hướng dẫn xong các bạn cách sử dụng Sequence để tạo tự động hóa dạng tuyến tính thông qua bài minh họa nhận vào thông tin của khách hàng và lưu xuống Notepad.

Bài học tiếp theo, Tui sẽ trình bày chi tiết về “Sử dụng Flowchart cho quy trình tự động hóa phân nhánh” đây là một trong các chức năng rất hữu dụng của RPA, Các bạn chú ý theo dõi

Chúc các bạn thành công

p/s: Toàn bộ các bài học liên quan tới Tự động hóa quy trình bằng Robot được tổng hợp tại link https://tranduythanh.com/robotic-process-automation/, các bạn vào trang này và kéo xuống có thể theo dõi từng bài theo chươngĐăng ký và tải phần mềm UiPath Studio

Bài 23: Tạo, xuất bản và sử dụng thư viện trong các quy trình tự động hóa

Bài này Tui hướng dẫn các bạn cách tạo thư viện tự động hóa, cách xuất bản và tái sử dụng thư viện. Cụ thể:

Bước 1: Tạo thư viện “FilterTopProduct”, thư viện này có nhiệm vụ nhận vào một file Excel danh sách Sản phẩm bất kỳ gồm các dữ liệu: Mã sản phẩm, tên sản phẩm, đơn giá. Sau đó thư viện sẽ đọc toàn bộ dữ liệu trong Excel này và lọc ra 3 Sản phẩm có giá cao nhất rồi trả về DataTable cho các dự án khác sử dụng.

Bước 2: Thư viện này sẽ được đóng gói và xuất bản thành nugetpackage .nupkg để tái sử dụng cho các dự án

Bước 3: .nupkg sẽ được tham chiếu tới sử dụng ở một dự án bất kỳ, dự án này sẽ truyền vào Argument là đường dẫn file Excel cho thư viện, sau đó nhận kết quả DataTable đã filter từ thư viện, rồi lưu vào Excel

Các Kiến thức về Activities và kỹ năng trong bài này gồm:

  • Cách tạo thư viện, đóng gói và xuất bản thư viện ra Nutget package
  • Cách tái sử dụng thư viện để tiết kiệm thời gian, chi phí
  • Cách cấu hình và sử dụng Arguments
  • Cách bổ sung thư viện tham chiếu trong .xaml
  • Input Dialog Activity
  • Excel Process Scope
  • Use Excel File for Reading and writing activity
  • LINQ C# để sắp xếp dữ liệu
  • MessageBox Dialog activity

Tập tin Excel mẫu lưu trữ danh sách sản phẩm để sử dụng cho dự án các bạn tải ở đây:

https://www.mediafire.com/file/zfhpa2xioed9n88/Products.xlsx/file

Bước 1: Tạo Library “FilterTopProduct”

Khởi động UiPath, chọn “Library” để tạo dự án dạng thư viện để tái sử dụng.

  • Name: Đặt tên thư viện là “FilterTopProduct
  • Description: nhập mô tả
  • Localtion: Chọn nơi lưu trữ dự án
  • Compatibility: Chọn Windows
  • Language: Chọn ngôn ngữ lập trình C#

Sau đó nhấn nút “Create” để tạo Library, ta có kết quả:

Bạn quan sát “NewActivity.xaml” được tạo ra như hình trên, tùy phiên bản mà có tạo tên khác nhau, không quan trọng lắm, ra tên nào thì dùng tên đó.

Bước 2: Khai báo Arguments

Vì thư viện này nhận vào một đường dẫn Excel bất kỳ, sau khi xử lý thì trả về một DataTable. vì vậy ta cần khai báo 2 Arguments, lưu ý rằng Variables và Arguments là khác nhau về cách sử dụng.

Ta nhấn thẻ “Arguments” và bấm “Create Argument” rồi đặt tên là “input_excel_path” với Direction là in , kiểu dữ liệu là String như hình ở trên.

Tương tự như vậy, ta tạo một Argument tên là “dt_top_product” có kiểu DataTable, Direction là Out. Vì đây là biến trả về kết quả cho các Workflow các sử dụng

Thông thường bạn không thấy kiểu DataTable thì nhớ nhấn chọn “Browse for Types…”:

Sau đó tìm DataTable trong mục Type Name:

Nhấn chọn DataTable ta có kết quả như mong muốn:

Bước 3: Kéo thả Excel Process Scope Activity

Ta vào thẻ Activities rồi gõ từ khóa “excel process scope” để tìm Activity này, sau đó nhấn kéo thả vào màn hình như minh họa:

Bước 4: Kéo thả Use Excel File Activity

Tương tự trong thẻ Activities, ta gõ từ khóa “use excel file” để tìm activity này, sau đó kéo thả vào màn hình như minh họa:

  • Excel file: Ta nhập tên Arguments “input_excel_path” đã khai báo:
Bước 5: Kéo thả Read Range Activity

Tương tự, trong thẻ Activities, ta gõ từ khóa “Read Range” rồi kéo thả Activity này vào màn hình như minh họa:

Trong mục “Range *”: Ta viết lệnh để đọc toàn bộ dữ liệu trong file Excel, nhấn mở Expression Editor:

Mã lệnh ở trên đọc từ Cột A cho tới cột D, đọc toàn bộ các dòng dữ liệu.

Excel.Sheet["Sheet1"].Range["A1:D"+Excel.Sheet["Sheet1"].RowCount]

Sau đó mục “Save to” tạo biến dt_input có kiểu DataTable để lưu trữ toàn bộ dữ liệu được đọc trong bảng Excel (Nhấn control + K để tạo tên biến), lưu ý dt_input cần khai báo Scope là Main Sequence (xem lại các bài học trước):

Bước 6: Kéo thả Assign Activity

Ta tìm Activity Assign rồi kéo vào như minh họa:

  • Save to: dt_top_product , argument này sẽ trả về cho các Workflow khác sử dụng ở các dự án khác nhau, rất tiện lợi
  • Value to Save: Tiến hành viết mã lệnh LINQ C# để xử lý lọc ra TOP 3 Sản phẩm có trị giá lớn nhất.

Mở Expression Editor để viết mã lệnh cho Value to Save:

Mã lệnh Tui để trong C# snippet để bạn dễ copy:

dt_input.AsEnumerable()
    .OrderByDescending(row => Convert.ToInt32(row["Unit Price"]))
    .Take(3)
    .CopyToDataTable()

Viết mã lệnh xong, bạn nhấn Save:

Nếu bạn thấy báo lỗi liên quan tới XML Reader Writer ở trên là do dự án chưa tham chiếu thư viện, nếu bị lỗi ở trên thì bạn bổ sung như sau:

Bạn mở thư mục nơi lưu trữ dự án này:

Bạn mở “NewActivity.xaml” bằng notepad và tim tới mục <sco:Collection> như hình dưới đây:

Sau đó bổ sung System.Xml.ReaderWriter vào như hình:

<AssemblyReference>System.Xml.ReaderWriter</AssemblyReference>

Sau đó, ta tắt và khởi động lại dự án FilterTopProduct trong UiPath, lỗi trên sẽ được sửa:

Bước 7: Packaging a Library (to .nupkg)

Bước này chúng ta sẽ đóng gói thư viện thành Nuget package với đuôi là .nupkg

Trong Ribbon, ta nhấn vào nút “Publish” như hình chụp ở trên, màn hình Publish Library hiển thị ra như dưới đây:

Mục Package properties bạn chọn package name, chỉnh version, new version, bổ sung icon nếu muốn

Sau đó chọn Publish Options:

Màn hình Publish options:

  • Publish to: Chọn Custom
  • Custom URL: Tạo và trỏ tới thu mục mà ta muốn xuất .nupkg ra ổ cứng

Sau đó ta nhấn “Publish” để xuất bản thư viện:

Màn hình trên xuất hiện thông báo rằng ta đã xuất bản thư viện thành công, ta có thể kiểm tra lại:

Bất kỳ dự án tự động hóa nào cũng có thể tái sử dụng được thư viện trên, chỉ cần truyền đường dẫn 1 file Excel danh sách sản phẩm theo mẫu thì kết quả sẽ trả về là DataTable chứa TOP 3 sản phẩm có giá cao nhất. Bạn có thể dựa vào ý tưởng này để làm các thư viện tái sử dụng khác trong thực tế công việc.

Bước 7: Sử dụng Packaging a Library .nupkg

Ở bước này ta tạo một dự án Process mới tên là “UseFilterTopProduct

Ta chọn “Process” để hiển thị màn hình New Blank Process.

Bước 8: Cấu hình tạo “UseFilterTopProduct”:
  • Name: Đặt tên “UseFilterTopProduct”
  • Description: Đặt các mô tả
  • Location: Chọn nơi lưu trữ dự án
  • Compatibility: Chọn Windows
  • Language: Chọn ngôn ngữ lập trình C#

Sau đó bấm Create để tạo Process.

Bước 9: Tham chiếu thư viện

Tham chiếu để truyền excel_input_path vào Arguments cho thư viện.

Bấm chuột phải vào Dependencies/ chọn Manage.

Lúc này màn hình Manage Packages hiển thị ra như dưới đây:

Ta bấm vào biểu tưởng dấu + như hình dưới đây trong mục User defined package sources:

Đặt tên và trỏ tới thư mục lưu trữ thư viện:

Sau đó nhấnt nút “Add”, kết quả:

Sau khi nhấn nút “Add” thư viện “FilterTopProduct” sẽ được nạp vào danh sách như hình trên.

Bước 10: Cài đặt thư viện Filter Top Product

Cũng trong màn hình Manage Packages, ta chọn FilterTopProduct mà ta mới tham chiếu:

Các thông tin chi tiết của thư viện sẽ được hiển thị, để cài đặt bạn nhấn vào nút “Install” ở góc phải phía trên màn hình.

Sau khi cài thành công, ta nhấnt nút “Save”, chờ phần mền thực thi:

Bước 11: Kéo thả Input Dialog Activity

Sau khi cài thư viện thành công, ta quay lại màn hình chính và kéo thả Input Dialog Activity:

Tương tự như các hướng dẫn trước, ta vào thẻ Activities rồi gõ từ khóa Input để tim input dialog Activity, kéo thả nó vào màn hình:

Ta tiến hành nhập Dialog Title và Input Label, cũng như Value entered cho Input Dialog này:

  • Dialog Title: Nhập “Provide Excel list of Products”
  • Input Label: Nhập “Your Excel:”
  • Value entered: Nhấn Ctrl+K để tạo biến, đặt tên là excel_input_path để lưu trữ đường dẫn Excel mà người dùng nhập vào
Bước 12: Thêm Activities từ thư viện Filter Top Product

Đây là bước thêm thư viện mà ta đã đóng gói và cài đặt ở các bước trước. Trong thẻ Activities ta tìm từ khóa “filter” sau đó kéo thả NewActivity vào màn hình:

Sau khi kéo thả thành công ta sẽ có kết quả:

Bạn quan sát NewActivity sẽ xuất hiện 2 mục nhập liệu. Bởi vì thư viện này ta đã khai báo 2 Argument:

  • input_excel_path có direction là in là nhận dữ liệu đầu vào
  • dt_top_product có direction là out là một biến DataTable trả về kết quả là danh sách TOP 3 sản phẩm có giá cao nhất

Ta gán lại các biến cho NewActivity như sau:

  • Ta truyền excel_input_path của UseFilterTopProduct vào cho argument input_excel_path của NewActivity (FilterTopProduct)
  • Ta lưu lại giá trị DataTable của NewActivity trả về, lưu vào biến dt_result, ta nhấn ctrl+K để tạo tên biến dt_result
Bước 13: Kéo Input Dialog activity

Từ thẻ Activities ta tìm từ khóa Input để kéo Input Dialog Activity vào màn hình như minh họa, kết quả sau khi kéo:

Tiến hành nhập Dialog Title, Input Label, Value entered cho Input Dialog:

Màn hình trên minh họa tiêu đề, và value entered là excel_output_path để lưu lại đường dẫn Excel mà người dùng muốn xuất danh sách TOP 3 Sản phẩm ra ổ cứng.

Bước 14: Lưu kết quả Filter ra file Excel mới, kéo use excel process scope

Ta tìm và kéo Excel Process Scope ra màn hình, kết qủa:

Bước 15: Lưu kết quả Filter ra file Excel mới, kéo use excel file

Ta tìm và kéo thả Use Excel File Activity vào mục Do của Excel Process Scope:

  • mục Excel file: Ta sẽ truyền biến excel_output_path:
Bước 16: Lưu kết quả Filter ra file Excel mới, write datatable to excel

Ta tìm và kéo thả Write DataTable to Excel vào mục Do, kết quả:

  • What to write: Ta nhập dt_result, là DataTable chứa TOP 3 sản phẩm có giá cao nhất
  • Destination: Là nơi mà muốn luôn dt_result trong file Excel, thông thường ta lưu từ ô A1
Bước 17: Xuất thông báo lưu kết quả Excel TOP 3 product thành công

Khi chương trình hoàn tất thì cần thông báo cho người sử dụng biết, thường ta dùng MessageBox Activity để thông báo. Ta kéo vào:

Ta nhập thông báo “Saving Excel for TOP 3 Product successful!”

Dưới đây là Workflow tổng quát của dự án:

Thực thi phần mềm tự động hóa này ta có kết quả:

Bạn có thể tải full source code dự án tự động hóa này ở đây:

Source code tạo thư viện đọc Excel danh sách sản phẩm và trả về TOP 3 Sản phẩm có giá cao nhất:

https://www.mediafire.com/file/uil5wpy63rwxlym/FilterTopProduct.rar/file

Soure code sử dụng thư viện TOP 3 sản phẩm:

https://www.mediafire.com/file/jkfd4scghnll7d9/UseFilterTopProduct.rar/file

Như vậy Tui đã hướng dẫn xong chi tiết quá trình tạo dự án tự động hóa đọc danh sách sản phẩm trong Excel và trả về TOP 3 sản phẩm có giá cao nhất sử dụng Thư viện trong tự động hóa để tái sử dụng.

Bài học tiếp theo, Tui sẽ trình bày chi tiết về “Tạo và sử dụng Sequence cho quy trình tự động hóa tuyến tính” đây là một trong các chức năng rất hữu dụng của RPA, Các bạn chú ý theo dõi

Chúc các bạn thành công

p/s: Toàn bộ các bài học liên quan tới Tự động hóa quy trình bằng Robot được tổng hợp tại link https://tranduythanh.com/robotic-process-automation/, các bạn vào trang này và kéo xuống có thể theo dõi từng bài theo chươngĐăng ký và tải phần mềm UiPath Studio

Bài 22: Tạo và thực thi quy trình tự động hóa

Bài học này Tui tiếp tục hướng dẫn các bạn cách tạo một quy trình tự động bằng UiPath Studio để tự động đọc dữ liệu danh sách bảng điểm một môn học của các Sinh viên trong 1 File Excel gồm các cột điểm Quá Trình, Giữa Kỳ, và Cuối Kỳ. Sau đó lưu thành một File Excel mới bổ sung thêm cột điểm trung bình GPA là (30% quá trình+ 20% giữa kỳ +50% cuối kỳ) và kết quả đậu nếu GPA >=5 hay rớt nếu GPA<5.

Các kiến thức và các Activity được trình bày trong bài học này gồm:

  • Input Dialog Activity
  • Assign Activity
  • MessageBox Activity
  • Excel Process Scope Activity
  • Add Data Column Activity
  • Use Excel File for reading data Activity
  • For Each Row in DataTable Activity
  • Use Excel File for writting data Activity
  • Write DataTable to Excel Activity
  • Cách cấu hình các biến, giá trị
  • Tích hợp C# coding for tự động hóa

Toàn bộ tiến trình của dự án tự động hóa này được tổng quát như hình dưới đây:

File Excel dữ liệu mẫu các bạn tải ở đây về máy của các bạn để thử nghiệm với dự án tự động hóa này nhé:

https://www.mediafire.com/file/yp6axbliccefuuo/Students-Score.xlsx/file

Bây giờ các Bạn làm theo từng bước Tui hướng dẫn nhé:

Bước 1: Tạo dự án

Khởi động UiPath Studio và tạo dự án loại Process, tên dự án là”ReadAndWriteGPAExcel“, nếu bạn chưa biết cách tạo dự án thì xem lại bài này

Sau khi nhấn “Process“, màn hình New Blank Process xuất hiện như dưới đây:

Sau đó bạn nhập Name (tên dự án), Description(mô tả dự án), chỉnh localtion và ngôn ngữ lập trình như dưới đây:

  • Name: ReadAndWriteGPAExcel
  • Description: Read students score in Excel then write GPA into new Excel
  • Localtion: Chọn nơi muốn lưu trữ dự án
  • Compatibility: Chọn Windows
  • Language: Chọn ngôn ngữ lập trình C#

Sau đó nhấn nút “Create”, xem kết quả tạo dự án “ReadAndWriteGPAExcel”:

Bước 2: Kéo thả Input Dialog Activity

Bạn vào thẻ “Activities” sau đó gõ từ khóa Input để tìm Input Dialog Activity, rồi bạn kéo thả Activity nào vào màn hình chính như hình minh họa, sau khi kéo thành công ta có kết quả như hình dưới đây:

Tiến hành nhập liệu Dialog Title và Input Label:

  • Dialog Title tiêu đề của cửa sổ, bạn nhập để trong nháy đôi vì nó là chuỗi: “Input Students Score Excel”
  • Input Label là ô tiêu đề chỗ nhập liệu, bạn gõ: “Please enter the path of Excel file:”
  • Input Type để mặc định là Text Box

Khi chạy lên thì ta có giao diện Input Dialog như sau:

Người sử dụng sẽ nhập đường dẫn file Excel gốc dữ liệu điểm rồi nhấn OK, như vậy làm thế nào để ta lưu được tên đường dẫn nào vào bộ nhớ để xử lý? đó chính là phần cấu hình Value Entered ở ô cuối cùng trong Input Dialog Activity:

Cách tạo biến là bạn đã được học rồi, bạn di click chuột vào ô Value entered rồi gõ tổ hợp phím Ctrl+K hoặc bấm vào dấu + rồi chọn Create Variable. Bạn đặt tên biến là “input_excel_path” kiểu dữ liệu là string, và Scope chuyển qua Main Sequen như hình Tui chụp ở trên.

Bước 3: Kéo thả Excel Process Scope Activity

Bạn tiếp tục gõ từ khóa “Excel Scope” trong mục tìm kiếm Activities, sau đó nhấn và kéo thả “Excel Process Scope” vào màn hình chính, nối đuôi nó đằng sau Input Dialog Activity ở bước 2. Sau khi kéo thả Activity này vào bạn thấy kết quả như sau:

Bạn chờ cho hệ thống tải hết các thư viện liên quan, nếu có màn hình nào đó xuất hiện như dưới đây thì nhấn “I Accept”:

Sau khi nhấn “I Accept”, bạn sẽ thấy kết quả hiển thị như sau:

Excel Process Scope Activity cho phép ta tương tác với tập tin Excel thậm chí bạn không cần cài Office.

Activity này có mục Do, ta kéo Activity Use Excel File để đọc dữ liệu Excel theo đúng tiến trình đã vạch ra ở trên:

Bước 4: Kéo thả Use Excel File activity

Trong mục Activities bạn gõ “Use excel” để tìm kiếm Activity này, sau đó kéo thả nó vào màn hình chỗ vùng Do như hình minh họa ở trên. Kết quả:

Activity Use Excel File sẽ nhận vào đường dẫn file Excel mà người sử dụng nhập từ Input Dialog Activity, sau đó nó đọc toàn bộ dữ liệu trong File Excel này và lưu vào DataTable để xử lý.

Như vậy trong mục “Excel File” bạn gõ tên biến “input_excel_path“, xem hình:

Tiếp tới ta cần đọc toàn bộ dữ liệu trong “input_excel_path” vào DataTable, để làm được điều này ta sử dụng Read Range Activity trong mục Do.

Bước 5: Kéo thả Read Range Activity

Tương tự trong ô tìm kiếm Activities, bạn gõ từ khóa “read range” rồi kéo thả “Read Range” Activity vào mục Do trong Use Excel File như hình minh họa ở trên, kết quả:

  • Mục Range chính là khung dữ liệu/vùng dữ liệu trong File Excel mà phần mềm sẽ đọc
  • Has headers bạn checked vào vì chúng ta có sử dụng dòng tiêu đề
  • Visible rows only: Chỉ dọc các dòng Excel có dữ liệu
  • Save to là sau khi đọc xong thì lưu vào đâu

Ta nhấn vào biểu tượng hình vuông ở mục Range để mở màn hình “Expression Editor” và gõ các mã lệnh như hình dưới đây:

Mã lệnh ở trên sẽ đọc toàn bộ dữ liệu bao gồm dòng tiêu đề của file Excel đầu vào. Tui cùng cấp mã lệnh ở đây để bạn copy paste vào cho lẹ:

Excel.Sheet["Sheet1"].Range["A1:E"+Excel.Sheet["Sheet1"].RowCount]

Coding ở trên là đọc dữ liệu từ cột A tới cột E dòng đầu tiên cho hết dòng cuối cùng (thuộc tính RowCount trả về số dòng thực sự trong file Excel có dữ liệu).

Sau khi nhập mã lệnh, bạn nhấn nút Save, ta thấy kết quả:

  • Mục Save to: Bạn gõ tổ hợp phím Ctrl+K để tạo tên biến dt_input có kiểu DataTable, Scope là Main Sequen như hình trên Tui chụp.
Bước 6: Kéo thả Add Data Column Activity cho GPA

Bởi vì dữ liệu đầu vào chỉ có: Mã, tên, điểm quá trình, điểm giữa kỳ và điểm cuối kỳ. Ta cần bổ sung thêm 2 cột là GPA và Decision.

  • GPA = 30% quá trình + 20% giữa kỳ + 50% cuối kỳ
  • Decision: Nếu GPA <5 là rớt, ngược lại là đậu

Trong mục Activities bạn gõ từ khóa “add data column” để tìm activity, sau đó bạn kéo thả “Add Data Column” activity vào giao diện thiết kế như hình ở trên, kết quả:

Bạn nhập dữ liệu như sau cho Add Data Column Activity:

  • Column Name: nhập “GPA”
  • Data Table: gõ tên biến DataTable dt_input vào
Bước 7: Kéo thả Add Data Column Activity cho Decision

Ở bước 6 ta có GPA, bước 7 sẽ dựa vào GPA để đưa ra quyết định là Sinh viên đậu hay rớt, ta bổ sung cột Decision, cách làm như bước sau:

Khi bước 6 và bước 7 thực hiện thành công thì ta sẽ có dữ liệu dt_input như sau (Tui đưa mẫu để bạn dễ tưởng tượng, khi nào tới các bài Debug các bạn sẽ tự xem trong bộ nhớ):

MSSVNameOn-GoingMidtermFinalGPADecision
112John983  
113Tom235  
114Peter857  
115Lila344  
116David798  

Như vậy, rõ ràng chúng ta cần xử lý các công thức toán học để tính giá trị cho các cột GPA và Decision. Quan sát thì bạn có thể suy luận là chúng ta sẽ dùng vòng lặp từ dòng Sinh viên đầu tiên cho tới dòng Sinh viên cuối cùng, mỗi lần lặp ta sẽ áp dụng công thức để tính GPA và Decision:

  • GPA = 30% quá trình (On-Goding) + 20% giữa kỳ (MidTerm) + 50% cuối kỳ (Final)
  • Decision: Nếu GPA <5 là rớt, ngược lại là đậu
Bước 8: Khai báo biến current_index

Bạn mở thẻ Variable lên, nhấn vào “create variable” để tạo tên biến:

Biến current_index này sẽ được xử lý tăng từ 0 cho tới số dòng dữ liệu trong excel -1, dựa vào biến này để ta đọc dữ liệu từng ô trong mỗi dòng để lấy ra các điểm Quá trình, giữa kỳ, cuối kỳ sau đó ráp vào công thức tính cho GPA và Decision.

Bước 9: Kéo thả For Each Row In Data Table Activity

Trong chỗ tìm kiếm Acvitities, bạn gõ từ khóa “for each row” rồi kéo thả For Each Row in Data Table activity vào màn hình như Tui chụp, đặt nó đằng sau Add Data Column của cột Decision, kết quả:

  • Data Table: Bạn gán biến dt_input

Activity For Each Row in Data Table sẽ nhận vào biến dt_input, nó sẽ lặp từng dòng dữ liệu. Ở đây có biến CurrentRow trong mục Item name, nó có thể được dùng để truy suất trực tiếp các cột và ô dữ liệu, tuy nhiên bài này ta chưa sử dụng, mà ta sử dụng theo index, biến current_index mà ta khai báo ở trên.

Mục Body là ta cần xử lý để ráp công thức cho GPA và Decision, cũng như điều khiển thay đổi vị trí dòng mà chúng ta đọc cho dữ liệu trong Excel biến current_index. Do đó ta sẽ sử dụng 3 Activity Assign để xử lý.

Bước 10: Kéo thả Assign Activity cho cột GPA

Trong mục tìm Activities, bạn gõ từ khóa “Assign” rồi kéo thả Assign Activity vào màn hình như Tui minh họa ở trên, kết quả:

Tiếp theo ta nhập công thức cho cột GPA như sau:

  • Save to, đây là giá trị cho cột GPA ở mỗi dòng current_index ta viết lệnh, cột vị trí 5 là cột GPA:
dt_input.Rows[current_index][5]
  • Value to save, là công thức ta tính toán cho GPA:
double.Parse(dt_input.Rows[current_index][2].ToString())*0.3+
double.Parse(dt_input.Rows[current_index][3].ToString())*0.2+
double.Parse(dt_input.Rows[current_index][4].ToString())*0.5

Tương tự như vậy ta kéo thêm Assign Activity để xử lý chột Decision:

Bước 11: Kéo thả Assign Activity cho cột Decison

Ta kéo thả tương tự như GPA, rồi nhập công thức như dưới đây:

  • Coding cho Save to của Decision:
dt_input.Rows[current_index][6]
  • Coding cho Value to Save của Decision:
Double.Parse(dt_input.Rows[current_index][5].ToString()) >= 5 ? "Passed" : "Failed!"

Tiếp theo, biến current_index cần tăng lên 1 đơn vị để chương trình tự động đọc dữ liệu ở các dòng tiếp theo:

Bước 12: Kéo thả Assign Activity cho biến current_index

Tương tự, bạn kéo thả Assign Activity vào màn hình như minh họa, kết quả:

  • Save to là biến current_index
  • Value to save: current_index+1

Mỗi lần lặp, biến current_index sẽ tăng lên 1, vòng lặp sẽ kết thúc khi current_index bằng với số dòng dữ liệu thực tế trong file Excel.

Như vậy, sau khi bước 12 thực hiện xong thì toàn bộ dữ liệu sẽ được fill đầy cho dt_input (GPA và Decision):

MSSVNameOn-GoingMidtermFinalGPADecision
112John9835.8Passed
113Tom2353.7Failed!
114Peter8576.9Passed
115Lila3443.7Failed!
116David7987.9Passed

Ta cần xuất dt_input này ra file excel theo yêu cầu của người dùng.

Bước 13: Kéo thả Input Dialog Activity cho kết quả Excel output

Như vậy ngoài vòng lặp for each này ta sẽ tiến hành lưu dt_input ra file excel theo người sử dụng nhập vào:

Tương tự trong mục Activities ta tìm từ khóa “input dialog” rồi kéo thả activity nào vào quy trình, kéo nó ở ngoài For Each Row in Data Table:

Sau đó ta cấu hình:

  • Dialog Title: “Output Excel with GPA and Decision”
  • Input Lable: “Enter output Excel path for Result:”

Người dùng sẽ nhập vào tên file excel và nơi lưu trữ, ta cần lưu lại đường dẫn này bằng cách khai báo biến output_excel_path trong mục Value entered như hình trên.

Bước 14: Kéo thả Use Excel File để lưu dt_input ra file mới

Trong mục Activities bạn gõ từ khóa “use excel” sau đó kéo thả Activity này vào ngay bên dưới Input Dialog ở bước 13, kết quả:

  • Excel path: nhập tên biến “output_excel_path ” được lưu trữ ở bước trước

Trong mục Do, ta kéo Activity Write DataTable to Excel để lưu dt_input ra file mới

Bước 15: Kéo thả Write DataTable to Excel để lưu dt_input ra file mới

Ta gõ từ khóa “write datatable to excel” trong Activities rồi kéo thả Activity này vào mục Do như hình minh họa ở trên, kết quả:

  • What to write: Chíng là DataTable mà ta muốn lưu
  • Destination: là vùng mà DataTable sẽ được lưu trong file excel

Bạn quan sát thấy Tui nhập:

  • What to write: dt_input
  • Destination: Excel.Sheet[“Sheet1”].Range[“A1”], có nghĩa là Tui muốn lưu dt_input bắt đầu tư ô địa chỉ A1 trong file Excel
Bước 16: MessageBox để thông báo lưu dt_input ra file mới thành công

Khi chương trình lưu excel mới cho dt_input với đầy đủ GPA và Decision thì Ta cần thông báo để người sử dụng biết, Message Box Activity này nên đặt ở ngoài Use Excel Process Scope vì lúc này nó không liên quan gì tới xử lý Excel:

Bạn tìm và kéo thả MessageBox Activity như hình minh họa và xem kết quả:

Ta nhập dữ liệu thông báo:

Cuối cùng ta có Process đầy đủ của dự án tự động hóa này:

Thực thi dự án tự động hóa này, ta có kết quả như sau:

Bạn có thể tải full source code dự án tự động hóa này ở đây:

https://www.mediafire.com/file/qcs2g2zi7vqizkt/ReadAndWriteGPAExcel.rar/file

Như vậy Tui đã hướng dẫn xong chi tiết quá trình tạo một dự án tự động hóa về đọc dữ liệu Excel điểm thành phần của Sinh viên và tự động tạo ra các cột GPA, Decision rồi xuất ra file Excel mới.

Bài học tiếp theo, Tui sẽ trình bày chi tiết về “Tạo, xuất bản và sử dụng thư viện trong các quy trình tự động hóa” đây là một trong các chức năng rất hữu dụng của RPA, giúp ta tiết kiệm thời gian và công sức, tái sử dụng nhanh chóng.

Các bạn chú ý theo dõi

Chúc các bạn thành công

p/s: Toàn bộ các bài học liên quan tới Tự động hóa quy trình bằng Robot được tổng hợp tại link https://tranduythanh.com/robotic-process-automation/, các bạn vào trang này và kéo xuống có thể theo dõi từng bài theo chươngĐăng ký và tải phần mềm UiPath Studio

Bài 21: Giới thiệu Chương 3 – Quy trình và thư viện trong tự động hóa

Trong Chương 3 của khóa học “Tự động hóa quy trình bằng Robot” tập 1, Tui sẽ trình bày các kiến thức cho người học RPA liên quan tới:

Tạo và thực thi quy trình tự động hóa

Bài học này tiếp tục hướng dẫn các bạn cách tạo một quy trình tự động bằng UiPath Studio, sử dụng Application/Browser activity để tự động đọc dữ liệu danh sách bảng điểm một môn học của Sinh viên trong 1 File Excel gồm các cột điểm Quá Trình, Giữa Kỳ, và Cuối Kỳ. Sau đó lưu thành một File Excel mới bổ sung thêm cột điểm trung bình và kết quả đậu hay rớt.

Tạo, xuất bản và sử dụng thư viện trong các quy trình tự động hóa

Phần này chúng ta sẽ học cách tạo, xuất bản và sử dụng thư viện trong các dự án tự động hóa khác. Tui sẽ hướng dẫn các bạn cách tạo một thư viện đọc dữ liệu trong Excel và cách sử dụng chức năng Publish Library để đóng gói và xuất bản thư viện. Cách sử dụng Manage Packages để quản lý và sử dụng thư viện đã xuất bản ở các phần mềm tự động hóa khác nhau.

Tạo và sử dụng Sequence cho quy trình tự động hóa tuyến tính

Phần này chúng ta học cách sử dụng Sequence cho các quy trình tự động hóa tuyến tính. Sequences là loại dự án nhỏ nhất trong UiPath, phù hợp với các quy trình tuyến tính vì cho phép chuyển tiếp mượt mà giữa các Activity như một khối duy nhất. Các Sequences có thể được tái sử dụng nhiều lần, độc lập hoặc trong state machine hay flowchart. Ví dụ như ta tạo Sequence đọc dữ liệu từ Pdf, sau đó dữ liệu từ Pdf sẽ được lưu vào bảng biểu trong Excel.

Sử dụng State Machine để chuyển đối trạng thái trong thực thi mô hình tự động hóa

Phần này các bạn học về State Machine, hay còn gọi là máy trạng thái. State Machine là một loại tự động hóa sử dụng một số lượng hữu hạn các trạng thái trong quá trình thực thi. Nó có thể chuyển vào một trạng thái khi được kích hoạt bởi một hoạt động, và thoát khỏi trạng thái đó khi một hoạt động khác được kích hoạt.

Một yếu tố quan trọng khác của State Machine là các transition (chuyển tiếp), cho phép bạn thêm điều kiện để chuyển từ trạng thái này sang trạng thái khác. Chúng được thể hiện bằng các mũi tên hoặc nhánh nối giữa các trạng thái. Có hai hoạt động đặc trưng cho State Machine, đó là State và Final State.

Ví dụ như ta tạo ra một số ngẫu nhiên cho phần mềm, và người sử dụng tiến hành đoán giá trị của số này cho tới khi đoán trúng, chương trình sẽ dùng State Machine để chuyển trạng thái khi người dùng: Đoán số nhỏ hơn số của máy, đoán số lớn hơn số của máy, và đoán chính xác số của mình.

Tương tác Webservices trong mô hình tự động hóa

Phần này sẽ giới thiệu về tạo các Activities liên quan để kết nối và tương tác Web Services, cụ thể là Restful, Postman Collection thông qua công cụ Server Editor.

Xử lý Global Exception Handler

Phần này Chúng ta sẽ tìm hiểu cách xác định hành vi của dự án khi gặp lỗi trong quá trình thực thi. Có thể hiểu đại khái là cách chúng ta xử lý khi gặp lỗi như thế nào. Chúng ta sử dụng Log Message activity để kiểm tra chi tiết các lỗi, Tìm hiểu ý nghĩa và cách sử dụng: Continue, Ignore, Retry, Abort

Bài tập quy trình tự động hóa

Phần này nhằm củng cố các kiến thức đã học trong chương. Tui sẽ cung cấp một số bài tập có đáp án chi tiết về: Bài tập quy trình tự động hóa, thư viện tự động hóa, Sequence,State machine

Một số câu hỏi trắc nghiêm kiểm tra kiến thức:

Cung cấp nhiều câu hỏi trắc nghiệm kiểm tra kiến thức liên quan chương 3, giúp người học đúc kết được nội dung chương cũng như ý nghĩa của chúng.

Bài học tiếp theo, Tui sẽ trình bày chi tiết về cách Tạo và thực thi quy trình tự động hóa

Các bạn chú ý theo dõi

Chúc các bạn thành công

p/s: Toàn bộ các bài học liên quan tới Tự động hóa quy trình bằng Robot được tổng hợp tại link https://tranduythanh.com/robotic-process-automation/, các bạn vào trang này và kéo xuống có thể theo dõi từng bài theo chương

Bài 20: Tổng kết chương 2 – Phần mềm tự động hóa quy trình bằng Robot – UiPath Studio

Như vậy chúng ta đã hoàn tất chương 2 của khóa học “Tự động hóa Quy trình bằng Robot (RPA)” tập 1.

Các bạn cần nắm các nội dung chính và các điểm nhấn quan trọng như sau:

1. Giới thiệu về các phần mềm lõi của UiPath

UiPath là một nền tảng RPA (Robotic Process Automation) phổ biến nhất hiện nay, hệ sinh thái này giúp tự động hóa các quy trình kinh doanh. Ba phần mềm cốt lõi của UiPath sẽ được trình bày bao gồm:

  • UiPath Studio
  • UiPath Assistant
  • UiPath Orchestrator
2. Automation=data+ data manipulation+application interaction

Quy trình RPA có thể được định nghĩa đơn giản là sự kết hợp giữa dữ liệu, thao tác dữ liệu và tương tác ứng dụng.

  • Dữ liệu – Uipath Studio cung cấp các kiểu dữ liệu được xác định trước như kiểu số, kiểu chuỗi, kiểu ngày tháng, danh sách, bảng dữ liệu.
  • Thao tác dữ liệu – Chúng ta có thể thao tác các dữ liệu thông qua các hoạt động của việc lựa chọn các Activity, các biểu thức tự động hóa hoặc các mã lệnh lập trình để thao tác dữ liệu.
  • Tương tác ứng dụng – UiPath Studio cung cấp các chức năng giúp chúng ta cấu hình và thực hiện các chức năng thông qua Tự động hóa giao diện người dùng hoặc tích hợp các API, trí tuệ nhân tạo.
3. Các Yêu cầu về phần cứng và phần mềm khi dùng UiPath

Yêu cầu phần cứng:
Để sử dụng UiPath hiệu quả, máy tính cá nhân nên có cấu hình tối thiểu Intel i3, RAM 4GB và ổ cứng còn trống ít nhất 10GB, nhưng khuyến nghị sử dụng CPU i5 hoặc i7 thế hệ 8 trở lên, RAM từ 8GB, và ổ SSD để tối ưu tốc độ xử lý. Màn hình nên đạt độ phân giải Full HD và kết nối internet cần ổn định, tốc độ cao. Với máy chủ cài đặt UiPath Orchestrator, yêu cầu hệ điều hành Windows Server 2016 trở lên, CPU Intel Xeon 4 lõi, RAM từ 16GB và ít nhất 100GB dung lượng đĩa trống, cùng với cơ sở dữ liệu SQL Server phiên bản 2016 hoặc mới hơn.

Yêu cầu phần mềm:
UiPath yêu cầu hệ điều hành Windows 10/11 hoặc Windows Server, không hỗ trợ macOS hay Linux. .NET Framework cần tối thiểu phiên bản 4.6.1, nhưng tốt nhất là dùng bản 4.8 trở lên. Về trình duyệt, Chrome được khuyến nghị sử dụng, bên cạnh đó là Edge hoặc Firefox. Nếu cần tự động hóa công việc trên Excel hoặc Outlook, nên sử dụng Microsoft Office 2016 trở lên, ưu tiên Office 365 để có đầy đủ tính năng hỗ trợ. Hệ thống cơ sở dữ liệu có thể chọn SQL Server, Oracle, MySQL hoặc PostgreSQL. Ngoài ra, nên sử dụng ngôn ngữ lập trình C# và thành thạo LINQ để nâng cao hiệu quả khi phát triển quy trình.

Yêu cầu khác:
Để tải và kích hoạt UiPath Studio hoặc StudioX, người dùng cần có tài khoản UiPath. Nếu sử dụng UiPath Robot, cần đảm bảo rằng robot có đủ quyền để chạy dưới chế độ nền. Với các giải pháp quản lý tập trung qua UiPath Orchestrator, có thể lựa chọn cài đặt trên máy chủ riêng hoặc sử dụng dịch vụ đám mây của UiPath Automation Cloud để giảm tải yêu cầu hạ tầng và tăng tính linh hoạt trong quản lý robot.

4. Đăng ký và tải phần mềm UiPath Studio

Phần này hướng dẫn cách đăng ký và tải phần mềm UiPath Studio Community cho người mới bắt đầu học tự động hóa quy trình bằng robot. Đầu tiên, người dùng cần tạo tài khoản UiPath bằng cách truy cập trang chủ UiPath và đăng nhập bằng Gmail để thuận tiện hơn. Sau khi đăng nhập, bạn sẽ tạo một tổ chức (Organization), nhập các thông tin cá nhân và đặt tên cho tổ chức theo ý muốn, đây là bước quan trọng vì liên kết với các công cụ Assistant và Orchestrator sau này. Tiếp theo, để tải phần mềm UiPath Studio Community, bạn vào mục “Download center” trên trang UiPath Automation Cloud, chọn phiên bản Community Edition và tiến hành tải về máy tính. Bộ cài đặt theo phiên bản tại thời điểm hướng dẫn này là có dung lượng khoảng 641MB. Việc cài đặt phần mềm này giúp người dùng sẵn sàng học và thực hành các dự án tự động hóa trong các bài học tiếp theo.

5. Cài đặt và kích hoạt phần mềm UiPath Studio

Phần này hướng dẫn chi tiết quá trình cài đặt và kích hoạt phần mềm UiPath Studio Community. Sau khi tải xong bộ cài đặt từ bài học trước, người dùng khởi chạy file “UiPathStudioCommunity.msi”, chọn chế độ “Quick (for Community users)”, đồng ý điều khoản và tiến hành cài đặt. Trong quá trình này, phần mềm sẽ đề xuất cài thêm tiện ích mở rộng (extension) cho các trình duyệt như Chrome và Edge để hỗ trợ tự động hóa trên web — người dùng chỉ cần nhấn OK và có thể đóng các trình duyệt đang mở. Khi cài đặt hoàn tất, phần mềm yêu cầu kích hoạt: người dùng nhấn “Launch UiPath Studio” hoặc mở biểu tượng trên desktop, sau đó đăng nhập vào tài khoản UiPath đã tạo trước đó. Phần mềm sẽ tự động kết nối với tài khoản và hiển thị giao diện “Welcome to Studio”, nơi cung cấp các lựa chọn như xem video giới thiệu, học các khóa về UiPath, hoặc bắt đầu trải nghiệm phần mềm. Khi khởi động lần đầu tiên, người dùng có thể chọn nhận hướng dẫn sơ bộ hoặc tắt bỏ nếu không cần. Đây là bước hoàn tất cài đặt, chuẩn bị cho bài học tiếp theo về tạo dự án tự động hóa đầu tiên.

6. Bắt đầu một dự án tự động hóa

Phần này hướng dẫn cách bắt đầu một dự án tự động hóa bằng UiPath Studio, với ví dụ cụ thể là dự án “FirstRPA”. Mục tiêu của dự án là nhập vào một dãy số ngăn cách bởi dấu phẩy và tách thành hai dãy: một chứa số lẻ, một chứa số chẵn, đều được sắp xếp tăng dần và hiển thị qua MessageBox. Quá trình bắt đầu bằng cách tạo dự án mới trong UiPath Studio, đặt tên, mô tả và chọn ngôn ngữ lập trình C# để triển khai. Tiếp theo là chi tiết cách sử dụng các Activity cơ bản như Input Dialog để lấy dữ liệu đầu vào, sử dụng Assign để xử lý và phân loại số vào hai danh sách, sau đó dùng Message Box để hiển thị kết quả. Bài viết đi kèm hình ảnh minh họa từng bước từ giao diện phần mềm đến cách tạo biến và kéo thả các Activity, giúp người mới dễ dàng làm quen và thực hành.

7. Ý nghĩa các thành phần – cấu trúc một dự án tự động hóa

Phần này giải thích chi tiết về các thành phần và cấu trúc chính trong một dự án tự động hóa với UiPath Studio, nhằm giúp người dùng hiểu rõ cách quản lý và tối ưu quy trình làm việc. Đầu tiên, phần mềm có 5 vùng làm việc chính: thanh công cụ (Ribbon/Menu) để thao tác nhanh; bảng bên trái quản lý dự án và các công cụ (Project, Activities, Snippets); giao diện chính để thiết kế workflow bằng cách kéo thả các activity; bảng dưới để quản lý dữ liệu workflow; và bảng bên phải hiển thị thuộc tính chi tiết của các activity. Tiếp theo, thẻ Project cho phép quản lý toàn bộ tài nguyên dự án như file .xaml, thư viện, dependencies và cấu hình project.json. Thẻ Activities là thư viện chứa các hành động có thể dùng trong workflow, giúp người dùng dễ dàng tìm kiếm và áp dụng. Thẻ Snippets cung cấp các đoạn mã mẫu để tái sử dụng nhanh chóng. Thẻ Properties cho phép người dùng chỉnh sửa thuộc tính của activity đang chọn, giúp tinh chỉnh từng bước trong quy trình. Cuối cùng, các thẻ quản lý dữ liệu như Variables, Arguments và Import hỗ trợ kiểm soát và tái sử dụng dữ liệu hiệu quả trong toàn bộ dự án.

8. Cấu hình và quản lý các Dependencies cho dự án tự động hóa

Phần này hướng dẫn chi tiết cách cấu hình và quản lý các dependencies trong dự án tự động hóa sử dụng UiPath Studio. UiPath cung cấp hai cấp độ cấu hình: cấu hình chung cho phần mềm và cấu hình riêng cho từng dự án. Trong phần cấu hình chung, người dùng có thể điều chỉnh ngôn ngữ, giao diện sáng hoặc tối, chế độ tự động lưu, cũng như các cài đặt về thiết kế và thực thi dự án. Cấu hình Design cho phép tối ưu quá trình phát triển như tự động lưu, bật/tắt phân tích mã nguồn và gợi ý AI. Mục Locations giúp định nghĩa vị trí lưu trữ dự án, thư viện, và các template mẫu để tái sử dụng. Ngoài ra, phần Manage Sources cho phép người dùng quản lý nguồn các gói thư viện như Local, Official, Marketplace, hay Orchestrator Host. Người dùng cũng có thể thêm các nguồn gói tùy chỉnh để mở rộng khả năng tích hợp.

9. Một số câu hỏi trắc nghiệm kiểm tra kiến thức

Cuối cùng là củng cố và kiểm tra kiến thức về Phần mềm tự động hóa quy trình bằng Robot – UiPath Studio, người học nên tham gia các bài kiểm tra trắc nghiệm. Điều này giúp đánh giá mức độ hiểu biết và chuẩn bị cho việc áp dụng RPA vào thực tế.​

Nắm vững những nội dung trên sẽ giúp bạn có kiến thức về Các phần mềm lõi của UiPath, hiểu được cơ sở của việc tự động hóa, nắm được các yêu cầu phần cứng phần mềm, nắm rõ cách đăng ký, cách tải UiPath, cách cài đặt và kích hoạt Uipath Studio. Biết cách tạo một dự án tự động hóa gồm những thao tác nào, cách sử dụng được một số Activity cơ bản ra sao. Nắm rõ ý nghĩa các thành phần – cấu trúc của một dự án tự động hóa cũng như cách cấu hình và quản lý các dependencies cho dự án tự động hóa.

Bài học sau chúng ta bắt đầu vào “Chương 3 – Quy trình và thư viện trong tự động hóa

Các bạn chú ý theo dõi

Chúc các bạn thành công

p/s: Toàn bộ các bài học liên quan tới Tự động hóa quy trình bằng Robot được tổng hợp tại link https://tranduythanh.com/robotic-process-automation/, các bạn vào trang này và kéo xuống có thể theo dõi từng bài theo chương

Bài 19: Câu hỏi trắc nghiệm Chương 2 – Phần mềm tự động hóa quy trình bằng Robot – UiPath Studio

Tui cung cấp Bộ câu hỏi trắc nghiệm “Chương 2 – Phần mềm tự động hóa quy trình bằng Robot – UiPath Studio” để giúp bạn kiểm tra kiến thức về Các phần mềm lõi của UiPath, ôn lại cơ sở của việc tự động hóa, nắm được các yêu cầu phần cứng phần mềm, nắm rõ cách đăng ký, cách tải UiPath, cách cài đặt và kích hoạt Uipath Studio. Đặc biệt ôn tập và nắm vững cách tạo một dự án tự động hóa gồm những thao tác nào, cách sử dụng được một số Activity cơ bản ra sao. Ôn lại ý nghĩa các thành phần – cấu trúc của một dự án tự động hóa cũng như cách cấu hình và quản lý các dependencies cho dự án tự động hóa.

Hãy thực hiện tốt các câu hỏi để đảm bảo rằng bạn đã nắm được các kiến thức cốt lõi về tự động hóa của chương 2!

Bộ câu hỏi trắc nghiệm RPA tập 1 - Chương 2

Bộ câu hỏi trắc nghiệm RPA tập 1 - Chương 2

1 / 63

UiPath Studio dùng để làm gì?

2 / 63

UiPath Assistant dùng để:

3 / 63

UiPath Orchestrator có chức năng chính là gì?

4 / 63

Thứ tự đúng trong chuỗi hoạt động giữa UiPath Studio, UiPath Assistant và Orchestrator là gì?

5 / 63

Đâu là chức năng không phải của UiPath Orchestrator?

6 / 63

Mối quan hệ giữa UiPath Studio và Orchestrator là:

7 / 63

Khi một quy trình đã được thiết kế xong trong UiPath Studio, làm cách nào để đưa quy trình đó lên Orchestrator?

8 / 63

Từ UiPath Assistant, người dùng không thể làm gì?

9 / 63

Để một robot có thể nhận được quy trình từ Orchestrator, điều kiện nào sau đây là cần thiết?

10 / 63

Câu nào sau đây mô tả đúng nhất mối quan hệ giữa 3 thành phần: UiPath Studio, UiPath Assistant và UiPath Orchestrator?

11 / 63

Which of the following best represents the key components of RPA automation?

12 / 63

In the context of RPA, what does "application interaction" refer to?

13 / 63

Which of the following best represents the key components of RPA automation?

14 / 63

In the context of RPA, what does "application interaction" refer to?

15 / 63

Why is data manipulation a crucial part of RPA?

16 / 63

Hệ điều hành nào được hỗ trợ chính thức để cài đặt UiPath Studio?

17 / 63

Yêu cầu tối thiểu về RAM để chạy UiPath Studio là gì?

18 / 63

UiPath Studio yêu cầu phiên bản .NET Framework nào trở lên để hoạt động?

19 / 63

Yêu cầu về bộ xử lý (CPU) để sử dụng UiPath Studio là gì?

20 / 63

Trước khi cài đặt UiPath Studio, hệ thống cần phải có thành phần nào sau đây?

21 / 63

Để tải UiPath Studio bản Community, bạn cần truy cập vào trang web nào?

22 / 63

Trước khi tải UiPath Studio bản Community, bạn cần làm gì?

23 / 63

Sau khi đăng ký tài khoản UiPath, bạn có thể tải UiPath Studio từ đâu trong Automation Cloud?

24 / 63

Khi cài đặt UiPath Studio, bạn cần chọn loại nào để sử dụng phiên bản miễn phí?

25 / 63

Khi đăng nhập vào UiPath Studio lần đầu tiên, bạn sẽ cần:

26 / 63

Khi bắt đầu quá trình cài đặt UiPath Studio, bạn sẽ được yêu cầu chọn kiểu cài đặt nào?

27 / 63

Để kích hoạt UiPath Studio bằng tài khoản Automation Cloud, bạn chọn tùy chọn nào trong màn hình khởi động?

28 / 63

Sau khi đăng nhập vào UiPath Studio bằng tài khoản UiPath, bạn sẽ được đồng bộ với dịch vụ nào?

29 / 63

Nếu bạn không muốn đăng nhập và muốn kích hoạt Studio thủ công (offline), bạn cần:

30 / 63

Để bắt đầu tạo mới một project dạng Process trong UiPath Studio, bạn cần chọn mục nào từ màn hình khởi động?

31 / 63

Khi tạo một project mới dạng Process, trường nào sau đây là bắt buộc phải điền?

32 / 63

Sau khi tạo Project dạng Process, tệp nào sẽ được tạo làm tệp chính (main) mặc định?

33 / 63

Mục đích chính của Input Dialog Activity trong UiPath là gì?

34 / 63

Kiểu dữ liệu đầu ra (Output) từ Input Dialog thường được gán vào biến có kiểu nào?

35 / 63

Thuộc tính Title trong Input Dialog Activity dùng để làm gì?

36 / 63

Khi sử dụng thuộc tính Options trong Input Dialog, hộp thoại sẽ hiển thị:

37 / 63

Điều gì xảy ra nếu bạn không gán giá trị đầu ra của Input Dialog vào một biến?

38 / 63

What is a variable used for in UiPath?

39 / 63

Which panel in UiPath Studio allows you to create, view, and manage variables?

40 / 63

How do you create a variable directly inside a field (like in Input Dialog or Assign activity)?

41 / 63

What is the Expression Editor used for?

42 / 63

When creating a variable manually in the Variables Panel, which of the following must you define?

43 / 63

Assign Activity trong UiPath được sử dụng để làm gì?

44 / 63

Trong Assign Activity, ô bên trái (To) thường chứa gì?

45 / 63

What is the primary purpose of the Assign activity in UiPath?

46 / 63

Which of the following is a correct way to assign the result of adding two numbers in UiPath using Assign?

47 / 63

What will happen if you try to assign a string to an integer variable using Assign activity?

48 / 63

If you want to convert a string to uppercase using Assign activity in a C#-based UiPath project, which expression is correct?

49 / 63

Trong UiPath, để sử dụng LINQ với một biến kiểu List<string>, namespace nào cần được import?

50 / 63

Trong UiPath, mục đích chính của Message Box activity là gì?

51 / 63

Khi sử dụng Message Box activity, điều gì sẽ xảy ra với tiến trình workflow trong khi Message Box đang hiển thị?

52 / 63

Bạn có thể thêm bao nhiêu nút tuỳ chọn (như OK, Cancel, Yes, No) trong Message Box activity?

53 / 63

Kết quả của việc chọn một nút trong Message Box activity có thể được lưu vào biến kiểu dữ liệu nào?

54 / 63

Trong UiPath, Message Box activity thường được sử dụng trong mục đích nào sau đây?

55 / 63

Trong UiPath Studio, thẻ Properties dùng để làm gì?

56 / 63

Khi làm việc với một activity như "Message Box", nếu muốn thay đổi nội dung hiển thị, bạn sẽ chỉnh sửa ở đâu?

57 / 63

Trong UiPath Studio, thẻ Data Manager chủ yếu giúp bạn quản lý

58 / 63

Lợi ích chính của Data Manager panel trong UiPath Studio là gì?

59 / 63

Thuộc tính DisplayName trong thẻ Properties có tác dụng gì?

60 / 63

Trong UiPath Studio, tab Variables được sử dụng để làm gì?

61 / 63

Tab Arguments trong UiPath Studio dùng để

62 / 63

Đâu là kiểu hướng của argument trong UiPath?

63 / 63

Trong UiPath Studio, tab Imports giúp bạn

Your score is

The average score is 0%

0%

p/s: Toàn bộ các bài học liên quan tới Tự động hóa quy trình bằng Robot được tổng hợp tại link https://tranduythanh.com/robotic-process-automation/, các bạn vào trang này và kéo xuống có thể theo dõi từng bài theo chương

Bài 18: Cấu hình và quản lý các Dependencies cho dự án tự động hóa

Đối với UiPath chúng ta có 2 nơi cấu hình chính, đó là cấu hình chung cho phần mềm UiPath Studio, và cấu hình riêng cho từng dự án tự động hóa.

Để cấu hình chung cho phần mềm, từ màn hình tương tác chúng ta chọn “HOME” trong thanh Ribbon:

Sau khi chọn “HOME” thì màn hình lựa chọn Settings sẽ xuất hiện ra như dưới đây:

1. General

Đây là phần thiết lập chung cho toàn bộ UiPath Studio.


Chức năng:

•Chọn ngôn ngữ giao diện.

•Chọn Theme sáng (Light) hoặc tối (Dark).

•Thiết lập các thông báo, tự động lưu (AutoSave), và các hành vi mặc định khác.

•Thiết lập các thông báo, tự động lưu (AutoSave), và các hành vi mặc định khác.

2. Design

Đây là màn hình Design Settings trong UiPath Studio. Mục đích chính của phần này là tùy chỉnh các thiết lập liên quan đến quá trình thiết kế và phát triển quy trình tự động hóa (RPA) trong UiPath.

Tóm tắt một số chức năng chính:

Save and Publish: Cấu hình hành vi khi mở, lưu, và xuất bản dự án (timeout, autosave, enforce analyzer, v.v.)

Analyzer Settings: Cho phép hoặc tắt việc kiểm tra chất lượng mã trước khi publish hoặc run.

AI & Suggestions: Bật/tắt gợi ý AI cho các hoạt động và tự động sinh output cho các activity.

Execution Settings: Cấu hình hành vi khi thực thi: số dòng output console, minimize khi chạy, chế độ debug mặc định.

Design Style & Behavior: Chọn ngôn ngữ thiết kế (VB.NET hoặc C#), Tùy chỉnh giao diện thiết kế như hiển thị annotation, activity properties inline, hiển thị Data Manager, và các gợi ý cấu hình activity.

3. Locations

Màn hình Locations trong phần Settings của UiPath Studio dùng để cấu hình các vị trí lưu trữ mặc định cho dự án và các thành phần liên quan đến quá trình phát triển và triển khai tự động hóa.

Tóm tắt chức năng của từng mục trong hình:

Project path: Đường dẫn mặc định để lưu các dự án UiPath mới tạo.

Publish process URL: Đường dẫn hoặc URL nơi bạn muốn publish (xuất bản) các quy trình tự động hóa khi hoàn thành.

Publish library URL: Đường dẫn để lưu các thư viện khi bạn publish chúng. Thư viện này có thể tái sử dụng trong nhiều dự án khác.

Publish project templates URL: Vị trí lưu trữ các template dự án (mẫu dự án) mà bạn tạo ra để dùng lại sau này.

Custom Workflow Analyzer rules location: Vị trí lưu các tập tin chứa quy tắc kiểm tra chất lượng mã (Workflow Analyzer rules) do bạn tự tạo hoặc tùy chỉnh.

4. Manage Sources

Trong UiPath Studio, màn hình Manage Sources trong phần Settings là nơi bạn quản lý các nguồn gói package — đây là nơi Studio sẽ tìm và tải về các gói thư viện (như activities, libraries) để sử dụng trong các dự án của bạn.

4.1. Default package sources (Nguồn gói mặc định):

Local

Vị trí lưu trữ gói cục bộ trên máy tính của bạn.
Ví dụ: C:\Users\<username>\AppData\Local\Programs\UiPath\Studio\Packages

Official

Nguồn gói chính thức từ UiPath. Đây là nơi UiPath cung cấp các activity packages mới nhất.

Marketplace

Nguồn gói từ UiPath Marketplace, nơi bạn có thể tìm thêm các package được cộng đồng hoặc UiPath cung cấp.

Microsoft Visual Studio Offline Packages

Gói package offline của Visual Studio, dùng cho các dependency liên quan đến .NET.

Orchestrator Host

Package source từ Orchestrator nếu bạn kết nối Studio với UiPath Orchestrator.

4.2. User defined package sources (Nguồn gói do người dùng định nghĩa):

Bạn có thể thêm nguồn riêng để lấy các package tùy chỉnh.

Ví dụ trong hình:

•nuget.org: Đây là nguồn chính của NuGet, rất phổ biến cho các thư viện .NET.

mycopylibrary: Đây là một thư viện tùy chỉnh từ ổ D mà Tui đã lập trình và publish trước đó, chứa các package nội bộ.

Bạn có thể:

Thêm (+) nguồn mới.

Sửa thông tin.

Xóa (-) nguồn không cần thiết.

Sắp xếp thứ tự ưu tiên nguồn.

4.3. Name / Source

Khi thêm mới nguồn package, bạn cần nhập:

Name: Tên nguồn package.

Source: Đường dẫn hoặc URL tới package feed.

5. Code Editor

Code Editor trong Settings của UiPath Studio — đây là nơi cấu hình giao diện và hành vi của trình soạn thảo mã trong UiPath (chủ yếu khi bạn viết code như trong Invoke Code hoặc làm việc với VB.NET/C#/Expressions).

Một số chức năng chính:

5.1. General

Font: Chọn font chữ hiển thị trong editor (Ví dụ: Cascadia Mono là font monospace, rất dễ đọc với code.)

Font Size: Cỡ chữ trong trình soạn thảo mã.

Tab Size: Số lượng khoảng trắng cho mỗi tab (Giúp code rõ ràng, dễ đọc hơn.)

5.2. Editor Options

View Whitespace: Hiển thị khoảng trắng trong code (space/tab).

Highlight Current Line: Tô sáng dòng bạn đang làm việc để dễ theo dõi hơn.

Show Structure Guide Lines: Hiển thị các đường kẻ giúp bạn nhìn rõ cấu trúc code theo khối (ví dụ: điều kiện, vòng lặp).

Show Error Squiggles:Hiển thị gạch đỏ dưới lỗi cú pháp hoặc lỗi biên dịch trong code.

Show Line Numbers: Hiển thị số dòng bên trái của trình soạn thảo.

Auto Convert Tabs To Spaces: Tự động chuyển phím Tab thành dấu cách (space).

Show Selection Margin: Hiển thị lề bên trái để dễ dàng chọn dòng hoặc khối code.

Show Selection Matches: Khi bạn chọn một từ, các từ giống vậy trong code sẽ được highlight.

Highlight References: Highlight các tham chiếu (references) đến biến hoặc phương thức khi bạn chọn chúng.

5.3. Advanced Options

Enable Source Decompilation: Hỗ trợ dịch ngược mã nguồn của các thư viện đã biên dịch.

Enable Import Completion: Gợi ý tự động khi bạn nhập tên namespace hoặc thư viện.

Để cấu hình riêng cho từng dự án tự động hóa ta bấm chuột phải vào dự án:

1. Để xem nơi lưu trữ dự án ta bấm chuột phải vào dự án rồi chọn Open Project Folder:

Lúc này chương trình sẽ mở thư mục chứa dự án như dưới đây:

Main.xaml là file nơi ta thiết kế chính, nó giống như WPF vậy

ta có thể mở dự án lại bằng cách từ UiPath chọn mở file project.json

2. Để xem cấu hình dự án ta bấm chuột phải và chọn Project Settings:

Màn hình Project Settings sẽ xuất hiện như dưới đây:

Tại màn hình này ta có thể đổi tên dự án, chỉnh sửa description cũng như thêm các Icon và hiệu chính các cấu hình khác.

3.Để thêm mới Thư mục, tập tin và các quy tình tự động hóa ta bấm chuột phải vào dự án chọn Add:

Tóm tắt ngắn gọn:

MụcGiải thích ngắn gọn
Folder…Tạo thư mục mới. Giúp bạn tổ chức file, workflows, assets một cách rõ ràng và có cấu trúc.
File…Thêm file mới. Dùng khi bạn cần thêm file dữ liệu hoặc tài liệu phụ trợ vào dự án.
SequenceWorkflow tuần tự. Sequence là dạng workflow cơ bản nhất, xử lý các bước tuần tự từ trên xuống dưới.
FlowchartWorkflow dạng sơ đồ. Flowchart giúp xây dựng quy trình phức tạp hơn với nhiều nhánh rẽ và điều kiện.
State MachineWorkflow theo trạng thái. Thích hợp cho các quy trình điều khiển theo trạng thái, có nhiều trạng thái và chuyển đổi giữa chúng.
FormGiao diện người dùng. Thiết kế giao diện người dùng dạng form để thu thập dữ liệu hoặc tương tác trong quá trình bot hoạt động.
WorkflowThêm workflow mới. Workflow là khái niệm tổng quát hơn, dùng để thêm file workflow mới (thường là file .xaml).
Coded WorkflowWorkflow viết bằng code. Viết logic workflow bằng code (VB.NET hoặc C#), phù hợp cho dev chuyên sâu hoặc khi cần thao tác phức tạp không dễ thực hiện bằng giao diện kéo thả.
Coded Test CaseTest case viết bằng code. Viết mã kiểm thử tự động cho dự án, giúp kiểm thử tính chính xác và độ ổn định của quy trình.
Code Source FileFile mã nguồn phụ trợ. Tạo file code để lưu trữ các phương thức dùng chung hoặc logic riêng biệt.
Global HandlerXử lý lỗi toàn cục. Dùng để xử lý lỗi toàn cục trong toàn bộ dự án.
→ Rất quan trọng để đảm bảo quy trình không bị dừng đột ngột do lỗi không mong muốn.

4.Để tương tác trực tiếp trên tập tin ta bấm chuột phải vào tập tin:

Tóm tắt chức năng chính:

MụcChức năng chính
OpenMở file để chỉnh sửa
Open File LocationMở thư mục chứa file
RenameĐổi tên file
DeleteXóa file
Copy / PasteSao chép và dán file
Select for CompareSo sánh với file khác
Find ReferencesTìm nơi sử dụng file
AddThêm file hoặc workflow mới
Debug FileDebug riêng file này
Open in Text EditorMở file dạng text XML
Set as Global HandlerĐặt làm Global Handler
Argument PropertiesQuản lý tham số
Extract as TemplateLưu thành template tái sử dụng
Create Test CaseTạo kiểm thử tự động
Convert to Test CaseChuyển file thành test case

Để quản lý Dependencies ta bấm chuột phải vào nó rồi chọn Manage:

Màn hình Manage Packages sẽ hiển thị ra như dưới đây:

1.Settings

  • Cài đặt chung cho quản lý package.
  • Có thể thêm hoặc chỉnh sửa nguồn (source) của các package.

2.Project Dependencies

  • Danh sách các package mà project hiện tại đang sử dụng.
  • Bạn đang mở tab này trong ảnh.
  • Cho biết version package nào đang được cài, và có thể update hoặc downgrade tại đây.

3.All connectors

  • Danh sách các connector để kết nối tới dịch vụ bên ngoài (như API, database, cloud service…).
  • Hỗ trợ thêm các khả năng tích hợp.

4.All packages

  • Hiển thị tất cả các package có sẵn từ mọi nguồn.
  • Dùng để tìm kiếm và thêm package mới vào project.

5.Local

  • Các package có sẵn trên máy tính của bạn.
  • Dùng khi bạn tải package về offline và cài đặt thủ công.

6.Official

  • Các package chính thức từ UiPath.
  • Được UiPath phát hành và hỗ trợ đầy đủ.

7.Marketplace

  • Các package từ UiPath Marketplace, được cộng đồng và đối tác phát triển.
  • Có nhiều hoạt động hoặc component mở rộng.

8.Microsoft Visual Studio Offline

  • Package từ nguồn của Visual Studio đã cài sẵn trên máy.
  • Chủ yếu dành cho tích hợp .NET hoặc project đặc thù.

9.Orchestrator Host

  • Package được lưu trữ trên UiPath Orchestrator.
  • Khi bạn dùng automation đám mây hoặc server nội bộ.

10.nuget.org

  • Package từ NuGet, kho package chính thức của Microsoft dành cho .NET.
  • Giúp bạn mở rộng khả năng sử dụng .NET libraries trong UiPath.

11.mycopylibrary

  • Đây là một nguồn tuỳ chỉnh, có thể là thư viện riêng mà bạn (hoặc công ty) thêm vào. Cài này do Tui tạo ra trước đó
  • Dùng cho package nội bộ hoặc tự phát triển.

Như vậy Tui đã hướng dẫn xong chi tiết các Cấu hình và quản lý các Dependencies cho dự án tự động hóa. Các bạn cố gắng hiểu được cách sử dụng của chúng để áp dụng vào dự án tự động hóa tốt nhất.

Bài học tiếp theo, Chúng ta sẽ làm “Một số câu hỏi trắc nghiệm kiểm tra kiến thức và các kỹ năng liên quan Phần mềm tự động hóa quy trình bằng Robot – UiPath Studio”, Các bạn chú ý theo dõi

Các bạn chú ý theo dõi

Chúc các bạn thành công

p/s: Toàn bộ các bài học liên quan tới Tự động hóa quy trình bằng Robot được tổng hợp tại link https://tranduythanh.com/robotic-process-automation/, các bạn vào trang này và kéo xuống có thể theo dõi từng bài theo chươngĐăng ký và tải phần mềm UiPath Studio

Bài 17: Ý nghĩa các thành phần – cấu trúc một dự án tự động hóa

Trong bài 16 các bạn đã biết cách tạo một dự án tự động hóa rồi, các bạn đã làm quen được với một số Activity thường sử dụng như Input Dialog Activity, Assign Activity, MessageBox Activity, cách đặt tên biến và gán giá trị cho biến, cách tích hợp mã lệnh lập trình C# vào quy trình tự động hóa, và cách thực thi quy trình tự động hóa như thế nào.

Bài này Tui trình bày chi tiết Ý nghĩa các thành phần – cấu trúc một dự án Tự động hóa để bạn dễ dàng triển khai các dự án trong tương lai, việc nắm được ý nghĩa của các thành phần này giúp bạn tiết kiệm được nhiều thời gian, lựa chọn đúng và nhanh các chức năng, giúp phần mềm hoạt động hiệu quả hơn:

1. Các vùng làm việc chính trong dự án

2. Thẻ Project

3. Thẻ Activities

4. Thẻ Snippets

5. Thẻ Properties

6. Thẻ Data Manager

7. Thẻ Outline

8. Thẻ quản lý dữ liệu của workflow: Variables, Arguments, Import

Dưới đây là các giải thích chi tiết về ý nghĩa và cách sử dụng của các thành phần trong phần mềm:

1. Các vùng làm việc chính trong dự án

Có 5 vùng làm việc chính trong phần mềm UiPath Studio:

(1)Ribbon/Menu/tool bars

– Nơi đây tập hợp các chức năng chính: tạo mới, lưu, mở project, publish (xuất bản quy trình), debug, thiết lập cài đặt, v.v. Các lệnh nhanh trong quá trình phát triển.

– Thanh công cụ nhanh, cho phép chạy (Run), debug (gỡ lỗi), kiểm tra (Validate), publish, lưu… Giúp thao tác thuận tiện hơn trong quá trình làm việc.

(2)Left panel

Thường chứa các thẻ như: Project, Activities, Snippets, quản lý tệp dự án, hoạt động và mẫu quy trình. Giống như “kho công cụ” và “quản lý tài nguyên” trong dự án.

(3)Main Panel

– Phần giao diện chính (Main Workspace – 3): Đây là nơi bạn xây dựng workflow bằng cách kéo thả các activity vào và thiết kế quy trình tự động. Các file .xaml mở trong phần này:

(4)Bottom Panel

– Phần giao Bottom panel (4): Đây là nơi quản lý dữ liệu của workflow

(5)Right Panel

Thường là thẻ Properties hoặc Data Manager… Panel này hiển thị thuộc tính của activity đang được chọn để bạn cấu hình chi tiết cho từng bước của quy trình.

2. Thẻ Project

– Quản lý toàn bộ tài nguyên dự án: các file workflow (.xaml), thư mục, tài nguyên (asset), dependencies (các gói phụ thuộc), và project.json. Bạn có thể thêm, xóa, hoặc mở các file trong dự án tại đây:

3. Thẻ Activities

– Thư viện chứa tất cả các activity có thể sử dụng trong dự án: như Read Range, Click, Assign, Flow Decision… Có thể tìm kiếm và kéo thả vào workflow chính:

4. Thẻ Snippets

– Chứa các đoạn mã mẫu (code mẫu) hoặc workflow mẫu dùng để tái sử dụng. Thay vì tạo mới từ đầu, bạn có thể dùng snippet có sẵn để tiết kiệm thời gian:

5. Thẻ Properties

– Hiển thị và cho phép chỉnh sửa thuộc tính của activity hoặc đối tượng đang được chọn. Ví dụ: thay đổi tên biến, thiết lập đường dẫn file, hoặc cấu hình logic điều kiện:

6. Thẻ Data Manager

– Quản lý tất cả các tài nguyên dữ liệu trong dự án, ví dụ: biến (variables), đối tượng argument, tài nguyên bảng dữ liệu, queue, assets… Dễ dàng xem và sửa đổi các loại dữ liệu này:

7. Thẻ Outline

– Hiển thị sơ đồ cây (tree view) của toàn bộ cấu trúc workflow hiện tại. Giúp bạn dễ dàng xem tổng thể luồng xử lý và điều hướng nhanh đến bất kỳ bước nào trong quy trình:

8. Thẻ quản lý dữ liệu của workflow: Variables, Arguments, Import

Thẻ quản lý dữ liệu của workflow bao gồm các thẻ: Variables, Arguments, Import

8. 1. Thẻ Variables (Biến cục bộ trong workflow)

Chức năng chính: Quản lý tất cả biến trong file workflow hiện tại (.xaml).

Ý nghĩa:

•Lưu trữ dữ liệu tạm thời trong quá trình workflow chạy.

•Biến chỉ có phạm vi cục bộ: chỉ dùng trong workflow hoặc sequence mà bạn tạo biến đó.

•Bạn cần đặt Scope (phạm vi) để xác định biến dùng trong sequence nào.

Ví dụ:

•original_list: lưu danh sách số gốc

•odd_list, even_list: lưu danh sách số lẻ và chẵn sắp xếp tang dần

Chú ý:
? Sử dụng khi dữ liệu chỉ dùng trong một đoạn quy trình cụ thể.

8. 2. Thẻ Arguments (Tham số đầu vào / đầu ra cho workflow)

Chức năng chính:

-Quản lý các argument — tham số để truyền dữ liệu giữa các workflow.

Ý nghĩa:

•Dùng để truyền dữ liệu vào hoặc lấy dữ liệu ra từ một workflow.

Argument có ba loại chính:

In: Dữ liệu đi vào workflow.

Out: Dữ liệu đi ra từ workflow.

In/Out: Dữ liệu truyền vào và có thể bị thay đổi trong workflow rồi trả về.

Chúng giống như “cửa giao tiếp” giữa các file .xaml hoặc giữa workflow với hệ thống bên ngoài.

Ví dụ:

•in_EmailAddress : truyền địa chỉ email vào workflow gửi email.

•out_ProcessResult : lấy kết quả xử lý từ workflow con ra.

Lưu ý:
? Dùng khi cần trao đổi dữ liệu giữa các workflow hoặc với trình điều khiển chính (Main).

8.3. Thẻ Imports (Thư viện, Namespace)

Chức năng chính:
Quản lý các namespace hoặc thư viện mà workflow đang sử dụng.

Ý nghĩa:

•Cho phép bạn nhập các thư viện .NET hoặc thư viện mở rộng của UiPath để sử dụng trong workflow.

•Khi bạn import namespace, bạn có thể gọi các class hoặc method mà không cần ghi đầy đủ đường dẫn.

Ví dụ:

•Import System.IO → dễ dàng thao tác với file và thư mục.

•Import System.Text.RegularExpressions → dùng Regex để xử lý chuỗi.

Lưu ý:
? Giống như việc bạn “khai báo dùng thêm công cụ” để mở rộng khả năng của workflow.

Tui tóm tắt ý nghĩa sử dụng của Variables, Arguments, và Imports như sau:

ThẻChức năng chínhKhi nào sử dụng
VariablesBiến cục bộ trong workflowKhi cần lưu trữ dữ liệu tạm thời trong một workflow hoặc sequence cụ thể
ArgumentsTham số truyền dữ liệu vào / ra workflowKhi cần truyền dữ liệu giữa các workflow, hoặc giao tiếp với Main workflow
ImportsThêm thư viện, namespace mở rộngKhi cần dùng thêm chức năng ngoài mặc định của UiPath như xử lý file nâng cao, Regex, v.v.

Như vậy Tui đã hướng dẫn xong chi tiết Ý nghĩa các thành phần – cấu trúc một dự án Tự động hóa. Các bạn cố gắng hiểu được cách sử dụng của chúng để áp dụng vào dự án tự động hóa tốt nhất.

Bài học tiếp theo, Tui sẽ trình bày chi tiết về cách “Cấu hình và quản lý các Dependencies cho dự án tự động hóa”, đây là một trong những kỹ thuật quan trọng chúng ta cần phải nắm để dự án được hoạt động tốt nhất có thể.

Các bạn chú ý theo dõi

Chúc các bạn thành công

p/s: Toàn bộ các bài học liên quan tới Tự động hóa quy trình bằng Robot được tổng hợp tại link https://tranduythanh.com/robotic-process-automation/, các bạn vào trang này và kéo xuống có thể theo dõi từng bài theo chươngĐăng ký và tải phần mềm UiPath Studio