如何處理Teamcenter流程回退情況
近期會有很多Teamcenter實施工程師會來咨詢小迪,在配置workflow的時候流程的回退節點設置,到底是使用失敗路徑設置吶,還是通過handler設置?
相信很多人在以往的項目實施中經常會按照往常的習慣,喜歡使用失敗的路徑方式,看起來比較直觀且可以很清晰地看到流程節點的各種流向。但是每次執行到一半的時候你會發現有bug,同時經驗豐富的人也會告訴你這種方式行不通。但是直覺告訴我,這種思維一定會被打破,于是小迪就去嘗試了下這種方法,并且收獲了一些不錯的成果。
首先我們來看看這個流程圖:
是不是看著非常的熟悉,而且也沒啥毛病。
可是小迪想說的是,這個流程是錯誤的,根本無法正常使用。
如果你強行使用它,很可能會遇到下面的現象:
1、流程直接報錯。
2、流程不報錯,但是無法前進,也無法后退,直接停止了。
3、當Review節點拒絕時,流程就陷入了停止狀態,陷入了進退兩難的境地。
此時流程一直在等待所有審核節點的拒絕信號。
4、如果在Approve節點拒絕,則會報錯:
此時流程就陷入了停止狀態,同樣陷入了進退兩難的境地。
估計當年的你,和小迪一樣都遇到了這樣的情況,然后就放棄了這種方法了,直接給它下個結論:此功能有bug。
小迪經過一番折騰之后,把這個流程稍微調整了一下,如下圖所示:
小迪親測多次,此流程可以正常工作。
總結:
這個流程的點睛之筆就在于那個Or節點。Or節點表示只要接收到任何一個退回信息,就進行下一步任務。而原始流程最大的錯誤也是在這里,流程會一直等待所有退回節點的信息,以至于陷入了停滯狀態。
為了鞏固這塊知識點,嘗試比較以下流程,并判斷其正確性:
Workflow1:
Workflow2:
Workflow3:
Workflow4:
答案揭曉:
-
錯誤。流程執行完第一個節點Design時,就會停滯。
-
錯誤。流程執行完第一個節點Design時,就會停滯。
-
錯誤。Or節點使用錯誤。
-
正確。其實細心的朋友可能就會發現,這個流程剛好是Workflow1的改版,實現了每個節點在拒絕時,都會回退到它的上一個節點。
經過多種流程設置方法的分析和總結,收獲了幾個知識點,跟大家一起分享下:
-
失敗路徑和Handler兩種方式,一定不要混合使用。
-
當一個節點有多個輸入節點時,要善用Or節點。
-
設計出流程后要多場景綜合測試,不要理所當然地認為它就是正確的。
作者:許詩龍
審校:周維青

提交
如何處理Teamcenter流程回退情況
PLM在汽車零部件行業中的地位和作用
長安數字化制造產業升級項目
Process Simulate介紹
西門子面向機床行業的虛擬調試新技術應用