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'
    });

我还敦促通过“设置”>“记录目录”查看记录目录,以确保准确表示联接。希望这有帮助。