SuiteScript 2.0:如何加载数据集然后添加条件?
SuiteScript 2.0: How do you load a dataset and then add conditions?
情况:
我正在尝试加载数据集,然后根据用户选择的字段向数据集添加其他条件(过滤器)。整个开发是一个“自定义报告”构建,使用一个套件,用户可以填充一些字段来选择“动态过滤器”。当他们单击生成按钮时,我将 criteria/filters 添加到搜索和数据集中,然后加入结果并显示它们。
问题是,尽管我可以在加载后向搜索添加过滤器,但无论我尝试什么,我似乎都无法向数据集添加过滤器。
此代码获取数据集数据:
var datasetData = datasetLib.load({ id: datasetId });
resultSet.pageRanges.forEach(function (pageRange) {
// Fetch the results on the current page
var myPage = resultSet.fetch({ index: pageRange.index });
res.data = res.data.concat(myPage.data.results);
if (res.columns.length < 1) {
var columns = JSON.parse(myPage.pagedData.queryDefinition).columns;
for (var i = 0; i < columns.length; i++) {
res.columns.push(columns[i].label);
}
}
});
我尝试了许多不同的迭代来创建条件...这是一个:
dataset.createCondition({
column: datasetData.columns[0], // I loaded the dataset and use it to reference the column
operator: query.Operator.ANY_OF,
values: params.customer.split(',')
})
现在上面的代码确实创建了一个条件,但是当我尝试将其添加到数据集的当前条件中时,我收到 errors.I 我正在尝试将其推入父条件的子参数中。
请询问您是否需要更多信息...
如果使用工作簿没问题,那么我建议您使用查询模块使用上面的数据集加载工作簿,然后使用上面的 createCondition 将条件动态添加到加载的查询中。
var myLoadedQuery = query.load({
id: 'custworkbook237'
});
var mySalesRepJoin = myLoadedQuery.autoJoin({
fieldId: 'salesrep'
});
var thirdCondition = mySalesRepJoin.createCondition({
fieldId: 'email,
operator: query.Operator.START_WITH_NOT,
values: 'foo'
});
我还敦促通过“设置”>“记录目录”查看记录目录,以确保准确表示联接。希望这有帮助。
情况: 我正在尝试加载数据集,然后根据用户选择的字段向数据集添加其他条件(过滤器)。整个开发是一个“自定义报告”构建,使用一个套件,用户可以填充一些字段来选择“动态过滤器”。当他们单击生成按钮时,我将 criteria/filters 添加到搜索和数据集中,然后加入结果并显示它们。
问题是,尽管我可以在加载后向搜索添加过滤器,但无论我尝试什么,我似乎都无法向数据集添加过滤器。
此代码获取数据集数据:
var datasetData = datasetLib.load({ id: datasetId });
resultSet.pageRanges.forEach(function (pageRange) {
// Fetch the results on the current page
var myPage = resultSet.fetch({ index: pageRange.index });
res.data = res.data.concat(myPage.data.results);
if (res.columns.length < 1) {
var columns = JSON.parse(myPage.pagedData.queryDefinition).columns;
for (var i = 0; i < columns.length; i++) {
res.columns.push(columns[i].label);
}
}
});
我尝试了许多不同的迭代来创建条件...这是一个:
dataset.createCondition({
column: datasetData.columns[0], // I loaded the dataset and use it to reference the column
operator: query.Operator.ANY_OF,
values: params.customer.split(',')
})
现在上面的代码确实创建了一个条件,但是当我尝试将其添加到数据集的当前条件中时,我收到 errors.I 我正在尝试将其推入父条件的子参数中。
请询问您是否需要更多信息...
如果使用工作簿没问题,那么我建议您使用查询模块使用上面的数据集加载工作簿,然后使用上面的 createCondition 将条件动态添加到加载的查询中。
var myLoadedQuery = query.load({
id: 'custworkbook237'
});
var mySalesRepJoin = myLoadedQuery.autoJoin({
fieldId: 'salesrep'
});
var thirdCondition = mySalesRepJoin.createCondition({
fieldId: 'email,
operator: query.Operator.START_WITH_NOT,
values: 'foo'
});
我还敦促通过“设置”>“记录目录”查看记录目录,以确保准确表示联接。希望这有帮助。