问题描述
我正在通过 javascript 启动 Sharepoint 2013 工作流,我想将一个启动参数设置为其中的一个人。
在这里,我定义了我的启动参数并启动了工作流程。我正在为人员字段使用人员选择器。我为这个人尝试了不同的符号,比如 id、mail、显示名称、key 和 json 对象。
var peoplePicker = SPClientPeoplePicker.SPClientPeoplePickerDict.peoplePickerDiv_TopSpan;
var keys = peoplePicker.GetAllUserKeys();
var initiationParams = {};
initiationParams["Person"] = keys;
initiationParams["String"] = "test";
startWorkflow("name",initiationParams);
使用此函数可以在启动工作流时发送参数。它适用于字符串参数。 我从最后一个 anwser 得到了代码: https://sharepoint.stackexchange.com/questions/175041/trying-to-start-sharepoint-workflow-from-code
/**
* Starts a SharePoint 2013 Workflow on a particular list or library item.
* https://sharepoint.stackexchange.com/questions/175041/trying-to-start-sharepoint-workflow-from-code
*
* @param {string} workflowName The name of the Workflow
* @param {string} initiationParams The initiation Parameters of the Workflow
*/
function startWorkflow(workflowName,initiationParams) {
var itemId = 1;
var listGUID = "{643fa273-936b-4a21-a602-0589ccafa1b0}";
SP.soD.executeFunc("sp.js","SP.ClientContext",function () {
SP.soD.registerSod('sp.workflowservices.js',SP.Utilities.Utility.getLayoutsPageUrl(
'sp.workflowservices.js'));
SP.soD.executeFunc('sp.workflowservices.js',"SP.WorkflowServices.WorkflowServicesManager",function () {
var ctx = new SP.ClientContext.get_current(),wfsManager = SP.WorkflowServices.WorkflowServicesManager.newObject(ctx,ctx
.get_web()),wfSubs = wfsManager.getWorkflowSubscriptionService().enumerateSubscriptionsByList(
listGUID);
ctx.load(wfSubs);
ctx.executeQueryAsync(function () {
wfsEnum = wfSubs.getEnumerator();
while (wfsEnum.moveNext()) {
var wfSub = wfsEnum.get_current();
if (wfSub.get_name() === workflowName) {
wfsManager.getWorkflowInstanceService().startWorkflowOnListItem(
wfSub,itemId,initiationParams);
ctx.executeQueryAsync(
function (sender,args) {
console.log("Successfully started workflow.");
},function (sender,args) {
$("#workflowResult").html(
"Fehler beim Starten des Workflows.");
console.log("Failed to start the workflow.");
}
);
}
}
},function (e) {
console.error(e)
});
}
);
});
}
如何通过 javascript 通过启动参数将人员发送到我的工作流程?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)