2012-06-12 23 views
0

我试图通过添加显示上次更新时间和谁进行更新的列来更新最近更改的应用程序。前一个可以通过将LastUpdateDate添加到查询中轻松完成,但后者对我来说非常棘手。查询任务+上次更新用户在拉力赛应用程序

我试图查询RevisionHistory如下

queries.push({ 
    type:"task", 
    key:"tasks", 
    fetch:"WorkProduct,Name,FormattedID,ToDo,Owner,LastUpdateDate,RevisionHistory", 
    query: "(LastUpdateDate > " + lastWorkDateWithoutTime + ")", 
    order: "LastUpdateDate desc" 
}); 

,然后提取,通过

// query last update 
var lastrevision = task.RevisionHistory.Revisions[0]; 
task.LastUpdateBy = lastrevision.User; 

取得最新的更改用户名,但它不是要去工作,因为我无法访问任务.RevisionHistory.Revisions

回答

0

你几乎在那里你只需要确保改变提取以包括修订以及RevisionHistory。

queries.push({ 
    type:"task", 
    key:"tasks", 
    fetch:"WorkProduct,Name,FormattedID,ToDo,Owner,LastUpdateDate,RevisionHistory, Revisions", 
    query: "(LastUpdateDate > " + lastWorkDateWithoutTime + ")", 
    order: "LastUpdateDate desc" 
}); 
+0

谢谢Charles,它节省了我的一天。为了记录,提取代码也应该更新为:var lastrevision = task.RevisionHistory.Revisions [0]; task.LastUpdateBy = lastrevision.User._refObjectName; – HuyNA

+0

但是,我不太了解这背后的机制。如上所述查询,它看起来像“修订”是“任务”对象的一部分。但是,我们需要通过“任务”对象的“修订历史”来访问它。这让我感到困惑 – HuyNA

+0

提取字段以递归方式应用于每个返回的子对象。因此,请求对象内的所有对象都会填充该信息。如果你想问另一个关于它的问题,我会详细回答它作为参考,以便人们更容易找到 –