2013-04-22 27 views
2

在Alfresco中使用規則和簡單的JavaScript開始很容易,但是我試圖通過JavaScript添加資源來啓動工作流。如何通過添加資源的Javascript啓動Alfresco工作流程

我的目標是添加用於啓動流程的文檔(或文檔),因此我可以在Alfresco WorkDesk的Alfresco BPM的「OW_ATTACHMENTS」中獲得參考。 我已經嘗試了很多次與bpm:workflowpagckage或bpm:包沒有運氣....幫助!

編輯:

function startWorkflow(name,docNode) 
{  
    var workflow = actions.create("start-workflow"); 
    workflow.parameters["bpm:workflowPackage"] = docNode; 
    workflow.parameters.workflowName = "activiti$AdHocactivitiTimer"; 
    workflow.parameters["bpm:assignee"] = people.getPerson("admin"); 
    workflow.parameters["bpm:workflowDescription"] = "test"; 
    workflow.parameters["bpm:workflowPriority"] = "2"; 
    workflow.parameters["bpm:sendEMailNotifications"] = true; 
    workflow.parameters["initiator"] = people.getPerson("admin"); 
    var today = new Date(); 
    var duedate = today.getDate() + 1; 
    workflow.parameters["bpm:workflowDueDate"] = duedate; 
    workflow.execute(document); 
} 

function main() 
{  
    var docNode = search.findNode(document.nodeRef); 
    var name = document.name; 
     startWorkflow(name,docNode); 
} 


main(); 

的感謝!

+0

你可以添加你已經嘗試了一些什麼碼? – Zlatko 2013-04-23 05:53:20

+0

對不起......我編輯了我的嘗試......感謝您的關注! – 2013-04-23 08:47:04

回答

4

bpm:package或bpm_package在開始之前不可用。 那麼你將文檔添加到bpm_package中。

而在您的工作流程中,您可以訪問bpm_package作爲變量。與bpm_package.addNode(doc);你可以添加節點。

這些節點可以通過找到搜索/ childbynamepath/XPath的等

如果不使用該操作的另一種方法是:

var workflowAction = workflow.getDefinitionByName('activiti$AdHocactivitiTimer'); 
var package= workflow.createPackage(); 
package.addNode(document); 
workflowAction.startWorkflow(package, parameters); 
+0

馬利克感謝您的回答...我沒有得到爲什麼如果我在我的javascript中使用bpm_package它告訴我:ReferenceError:「bpm_package」未定義。我見過它只用在模型中,而不是在與規則相關的js中...我錯了嗎? – 2013-04-24 12:27:38

+0

就像我說的,開始時還沒有軟件包。所以當你開始工作流程時,它會創建一個。或者你需要自己創建包。 bpm_package只能在工作流中的JS中訪問。它正在被填滿。看看:http://wiki.alfresco.com/wiki/WorkflowAdministration#Process_Data – 2013-04-24 13:12:09

+0

我做到了!大!!謝謝!!! – 2013-04-24 14:14:59

相關問題