我一直致力于使用 sdk 1.32 自定义 AgileEVM 应用程序,并且我一直在使用首选项来存储用户将设置的各种值(多个计费费率、非全职资源等)。这是我创建首选项的方式:
_rallyDataSource.create("preference",
{
Name: 'BillableRate',
Project: '/project/__PROJECT_OID__',
Value: 0
}, function(results) { isTeamLevel = results; } );
工作区的结构是父项目有多个轨道,而这些轨道有多个团队。我希望应用程序在项目层次结构的每个级别上计算适当的 EVM 数据。我遇到了一个问题,我无法检索当前项目及其所有子项目的首选项。PROJECT_SCOPING_DOWN设置为真。似乎偏好的处理方式与故事/任务/等不同。
这是我获得偏好的方式:
var queryConf = {type: 'Preference',
key :'billableRate',
query:'(Project = "/project/__PROJECT_OID__")',
fetch:true};
_rallyDataSource.findAll(queryConf, preferencesRetrievedCallback);
如果我在查询中包含项目 oid,我只会获得与该项目相关的首选项,而不是任何子项目。如果我从查询中删除项目 oid,它会返回每个首选项,而不考虑层次结构。
我也尝试使用 CreateAppPreference 和 GetAppPreferences 来完成此操作,但它似乎表现出相同的行为。
我的问题是,我在这里做错了吗?如果不是,这是预期的功能,那么我如何最好地存储这些变量,以便它们在项目结构的每个级别正确汇总?
在此先感谢您的帮助。