2012-10-17 50 views
0

在我的工作流程中,我希望能夠使用文檔方面設置變量。現在我知道設置使用文檔我會做類似的屬性變量...如何檢索Alfresco/Activiti工作流中的長寬比值

task.setVariable('wf_caseType', bpm_package.children[0].properties["hearing:caseType"]); 

而這只是基於看Alfresco Javascript API。但是,我還沒有看到任何有關檢索文檔方面的內容。

什麼我迄今所做的是一些JavaScript當文件被帶過來一定空間得到執行,我們創建了這方面的呼籲caseID類似下面..

var caseID=0 

var props=new Array(1); 
props["wf:caseIDNum"]=caseID; 
var newAspect=newNewSpaceName.addAspect("wf:caseID",props); 

而且什麼基本上是將caseID方面添加到腳本中創建的文件夾中,隨後該文件夾中的文檔也繼承此方面。

所以我想補充說,一個變量可能的工作方式相同,即:

task.setVariable('wf_caseId', bpm_package.children[0].aspect["hearing:caseId"]); 

然而,這已被證明並非如此。有沒有人有這樣的經驗,或者可以在這裏提供一些建議?

回答

3

當一個方面被添加到一個節點時,你可以像任何一個節點的內容類型定義的屬性一樣獲取/設置它的任何屬性。沒有區別。所以你的第一個setVariable調用無論聽到:caseType是在一個類型還是一個方面定義。

+0

因此,如果我正確地理解了這一點,只要我將'wf:caseId'定義爲我的workflowModel.xml文件中的一個屬性,並且我在OP中提到的腳本已經運行,我應該能夠do:'task.setVariable('wf_caseId',bpm_package.children [0] .property [「wf:caseIDNum」]);'? –

2

JavaScript API的頁面描述aspects屬性爲ScriptNode對象:

方面的各方面的只讀陣列(如完全合格的QName 字符串)施加到該節點。 (這將返回作爲Java的HashSet)

你的問題是指「方面」(單數) - 但節點往往會(?通常)有多個方面

JavaScript API Cookbook頁面鏈接到您也有將節點添加到節點的示例。

更新:現在你已經更新了這個問題,我發現你想訪問某個方面定義的屬性 - 請參閱Jeff的解答!