使用JavaScript获取与项关联的SharePoint任务,而不使用相关项
我有一个不寻常的环境,客户机不想支持SharePoint组件,因此我有一个O365 SharePoint站点,我只能通过工作流或JavaScript以编程方式进行操作使用JavaScript获取与项关联的SharePoint任务,而不使用相关项,javascript,sharepoint,Javascript,Sharepoint,我有一个不寻常的环境,客户机不想支持SharePoint组件,因此我有一个O365 SharePoint站点,我只能通过工作流或JavaScript以编程方式进行操作 我有一些正在启动任务的工作流,但由于某些原因,我偶尔会收到一个没有填充“相关项”的任务。因此,查找与任务关联的项失败,因为我正在查找的相关项是我正在使用的ID。我仍然可以从列表项,到工作流,再到任务。是否有另一种方法,使用类似WorkflowItemId的东西,我可以将任务与这些项目关联?以下是我必须通过项目Id查找任务的一些代码
我有一些正在启动任务的工作流,但由于某些原因,我偶尔会收到一个没有填充“相关项”的任务。因此,查找与任务关联的项失败,因为我正在查找的相关项是我正在使用的ID。我仍然可以从列表项,到工作流,再到任务。是否有另一种方法,使用类似WorkflowItemId的东西,我可以将任务与这些项目关联?以下是我必须通过项目Id查找任务的一些代码,它要么删除任务(删除列表项目时),要么填充taskId以在表单中显示,这在O365 SharePoint online中使用。为其指定列表项的ID,并将列表标题更改为任务列表标题。如果还有其他问题,请告诉我
$.fn.get_taskIds = function (param) {
var itemTitle, taskId, curID = param.ItemId, foundAction = param.action;
get_listData(appWebUrl + "/_api/web/lists/getbytitle('ExpirationTaskList')/items?$select=RelatedItems,Id,Title").done(
function (data) {
var itemJSON;
$.each(data.d.results, function (index, item) {
itemJSON = $.parseJSON(item.RelatedItems);
itemTitle = item.Title;
taskId = item.Id;
$(itemJSON).each(function (i, val) {
$.each(val, function (k, v) {
if (k == 'ItemId') {
if (v == curID) {
switch (foundAction) {
case 'view':
if (itemTitle == 'Warranty Expiration') { $('#WTaskId').val(taskId); $('#wTaskRadio').attr('disabled', false); }
if (itemTitle == 'Lease Expiration') { $('#LTaskId').val(taskId); $('#lTaskRadio').attr('disabled', false); }
break;
case 'delete':
delete_Task(taskId);
break;
}
}
}
})
})
});
}).fail(function (arg) {
$('#jsError').html('Fail in Async Query to Retrieve task data: <br />');
var jsonResp = $.parseJSON(arg.responseText);
$('#jsError').append(jsonResp.error.message.value);
});
}
var dfrd = $.Deferred(function (dfrd) {
$.ajax({
url: aurl,
type: "Get",
contentType: "application/json;odata=verbose",
headers: {
"Accept": "application/json;odata=verbose"
},
success: function (data) {
dfrd.resolve(data);
},
error: function (args) {
dfrd.reject(args);
}
});
});
return dfrd.promise();
}