還記得我們之前提到Blue Prism有如積木般,
將不同的Object堆積、重整、並列後,
可以產生新的流程組合,
是不是很像樂高積木般的變化。
這次,我們為了要拯救老師的飯碗,
嘗試著設計幾個可以獨立測試運作Object的流程,
每個Object流程的內部不但可以重組積木般的調整,
還可合併幾個Objects一起運作,
對於較為複雜的流程經過此番拆解與聚焦(focus)分析、設計後,
將變得既簡單又能擔負大任(更複雜的流程)。
Choice Stage選擇階段
(1)使用Choice取得判斷的資料來源。
(2)藉由CalcA~F將判斷結果暫存到指定的Data Item中。
BP Collection and Loop Stages的模擬測試
(1)目的:運用Collection來預設測試資料,並由Loop來一個個的執行。
接下來我們開始將昨日單一成績分配等級,
調整為批次分配等級,看看Blue Prism怎麼做?
後續即將批次分類的等級
分數區間 | 級數 |
---|---|
90-100 | A |
80-89 | B |
70-79 | C |
60-69 | D |
50-59 | E |
0-49 | F |
1. 到Studio區域,在Objects分支下,ExcelTest分支下,滑鼠雙鍵點擊: ReadExcelTest
2. 此時開啟昨天的Object並切換到Action2的頁籤。
3. 新增一個測試的資料來源Collection
(1). 從工具圖示區拖曳一個Collection
(2). 點擊2下Collection,開啟Collection Properties的設定畫面
(3). 設定屬性資訊
Name: 學生成績
Description:將成績分配等級
(4). 設定屬性中Fields的Properties (按下右下角的Add新增)
第一列: Name:姓名 Type:Text Decription:學生的姓名
第二列:Name:分數 Type:Number Decription:學生的成績
第三列:Name:等級 Type:Text Decription:學生的等級
(5). 設定屬性中Initial Values的Properties (按下右下角的Add新增)
相關設定依照以下表格中的三欄內容設定。
(6). 設定屬性中Current Values的Properties
此部分不須設定,由流程跑完後自動塞入結果。
動腦時間: 想一想,之前是一筆分數,現在是暫存於Collection的多筆分數,
要怎樣才能讓每一筆分數都分配到對應的級數?
Ans: 使用Loop
4. 新增一「對」Loop(為何稱為「對」,因為是由Loop Start與Loop End組成)
(1). 從工具圖示區拖曳一個Loop圖示到流程設計區塊中
(2). 斷開Start與Choice1的Link,調整Loop Start1到 Start1與Choice1之間並重新Link起來。
(3). 指定Loop Start1的屬性
設定Collection為:學生成績
5. 重新調整Choice的分數判斷
來源為Collection中: 學生成績.分數
6. 設定每個Calculation判斷後的結果儲存位置
將Store Result In 改為:學生成績.等級
7. 調整Loop End1
(1). 重新Link CalcA~F到Loop End1
(2). Loop End1 Link到End中。
8. 執行流程:
(1). 若已執行過,建議先按下Reset按鈕(循環圖示),再按下執行圖示。
(2). 點擊左上角的三角形執行圖示,即開始執行流程。
(3). 檢視結果:
執行完畢後,開啟學生成績的Collection,並切換到Current Values的頁籤,
便可看到每個人的每個分數都被分配好等級於等級欄位了。
Loop Start Stage 循環開始階段
Blue Prism 中使用循環來順序訪問集合的內容。典型場景包括一一提取客戶數據,並通過一一求和計算多個賬戶的總>債務。
集合中的數據不需要順序訪問;如果一次只需要集合中的少量項目,則可以按名稱引用集合中的每個項目。有關概述,>請參閱有關集合的幫助頁面。
循環開始階段屬性對話框有許多字段,允許您定義循環開始時發生的情況。循環期間發生的事情將由您放置在循環開始>和循環結束之間的業務對象、計算等決定。
- 輸入名稱 - 您輸入的名稱標識循環開始,它將顯示在流程圖上。
- 輸入描述 - 附加描述字段允許輸入更長的敘述。
- 選擇集合 - 集合下拉菜單允許您選擇將用作循環基礎的集合。
(節錄自 Blue Prism 6.10 help)
這個改寫成績分發等級功能,
從處理單一資料到批次處理,
是不是很有成就感,
原本老師要熬夜人工判斷的等級,
現在可以去泡個咖啡、吃個甜點,
Blue Prism 防疫特助就能交差了!!
沒想到疫情的來臨,卻意外獲得得力助手,
這樣的流程設計方式,就可以以Object為單位來做單元測試,
對於區塊性的流程驗證有很大的幫助。