我需要你的帮助.我想完成2013年运行的自定义工作流任务(SH 2010 WF).我一直在使用一堆代码.在JavaScript AJAX中使用Rest API更新任务列表.我用其他列表测试此代码并运行OK,但是当我想更新任务列表时.我收到了不同的错误MSG.
如果我想更新Title提交,我收到""消息":{"lang":"es-ES","value":"值不在预期范围内."}}},"status":400, "statusText":"错误请求"}"
如果我想更新结果字段,我可以看到属性中的字段.
您是否有任何关于如何使用Rest API处理工作流任务及其内容类型的概念性描述
提前感谢拉米罗
我会分享我的代码.
function updateJson(endpointUri,payload, success, error)
{
return getFormDigest('https://partner.coca-cola.com/sites/SLBU2013Test/POC').then(function (data) {
$.ajax({
url: endpointUri,
type: "POST",
data: JSON.stringify(payload),
contentType: "application/json;odata=verbose",
headers: {
"Accept": "application/json;odata=verbose",
"X-RequestDigest" : data.d.GetContextWebInformation.FormDigestValue,
"X-HTTP-Method": "MERGE",
"If-Match": "*"
},
success: success,
error: error
});
});
}
function getItemTypeForListName(name) {
console.log("SP.Data." + name.charAt(0).toUpperCase() + name.slice(1) + "ListItem");
return"SP.Data." + name.charAt(0).toUpperCase() + name.slice(1) + "ListItem";
}
function updateListItem(webUrl,listTitle,listItemId,itemProperties,success,failure)
{
var listItemUri = webUrl + "/_api/web/lists/getbytitle('" + listTitle + "')/items(" + listItemId + ")";
console.log(listItemUri);
var itemPayload = {
'__metadata': {'type': 'SP.Data.TasksListItem'}
};
for(var prop in itemProperties){
itemPayload[prop] = itemProperties[prop];
console.log(itemProperties[prop]);
}
updateJson(listItemUri,itemPayload,success,failure);
}
function getFormDigest(webUrl) {
return $.ajax({
url: webUrl + "/_api/contextinfo",
method: "POST",
headers: { "Accept": "application/json; odata=verbose" }
});
}
function Calcular (){
var itemProperties = {'Status':'Completadas'};
updateListItem('https://partner.coca-cola.com/sites/SLBU2013Test/POC','Tasks',2,itemProperties,printInfo,logError);
function printInfo()
{
console.log('Item has been created');
}
function logError(error){
console.log(JSON.stringify(error));
}
};
Run Code Online (Sandbox Code Playgroud)
还有另一个类似的帖子。我的答案是进行一些屏幕抓取并将用户重定向到用户界面。简而言之,我们无法使用 REST 更新列表,但可以使用 CSOM。不管怎样,WF 忽略了任务的变化。链接如下:使用 CSOM 在 Sharepoint 中以编程方式更新任务项。