工作前API没有返回与我们的web报告相同的结果:
在我们的web前端上,其中一个报表的日期范围从$$TODAYbw到$$TODAYe+6m,它返回了大约500行。
我在API上尝试了如下相同的查询(格式化是为了便于阅读)
/v7.0/RSALLO/search
?fields=DE:project:Probability,allocationDate,scheduledHours,project:name,project:status,roleID,project:status,role:name
&allocationDate_Mod=between
&allocationDate=$$TODAYbw
&allocationDate_Range=$$TODAYe+6m
&AND:0:project:status_Mod=notin
&AND:0:project:status=CPL
&AND:0:project:status=DED
&AND:0:project:status=REJ
&AND:0:project:status=UZF
&AND:0:project:status=IDA
&AND:0:roleID_Mod=in
&AND:0:roleID=55cb58b8001cc9bc1bd9767e080f6c10
&AND:0:roleID=55cb58b8001cc9bd9fc0f8b03a581493
&AND:0:roleID=55cb58b8001cc9bfaa01243cd6024b6d
&AND:0:roleID=55cb58b8001cc9c0afa399dece405efd
&$$LIMIT=1000几乎没有任何结果。注意&allocationDate_Range=$$TODAYe+6m行。如果我将其更改为在没有一天结束修饰符的情况下读取=$$TODAY+6m,则API返回大约500行。
我检查了每一个过滤标准,只有allocationDate范围出错。我为日期修饰符找到了这一资源,其中没有e+6m示例,但是它可以在我们的web前端报告中工作。
API是有缺陷的,还是web报告在后台做了额外的事情?
发布于 2017-06-05 15:31:09
对于您的问题,我没有一个确切的解决方案,但我可以确认API在解析通配符时确实遇到了一些困难,就像您试图使用的那样,而且它们并不总是以我们所期望的方式出现。此外,API的解析方式与文本模式报告不同,因此在文本模式报告中看起来很好的查询可能会返回前者中不同的内容。
如果我可以提出一种不同的解决方案,因为您已经将其编码在Workfront之外,那么我建议您只需自己执行日期计算,并将显式的日期时间对象传递给Work前台,而不是允许它使用自己的逻辑。我知道这并不能回答“什么是会准确返回我想要的查询”的问题,但是它应该给出正确的最终结果。
至于它的价值,我花了大约15分钟试图得到一个例子,在我的工作结束后,我放弃了,因为它一直返回的值应该超出了我自己的日期范围。
https://stackoverflow.com/questions/44338205
复制相似问题