我正在尝试使用N / query模块获取交易数据:
require([ 'N/query'],
function(query) {
var trxQuery = query.create({ type: query.Type.TRANSACTION });
trxQuery.columns = [
trxQuery.createColumn({ fieldId: 'externalid' }),
trxQuery.createColumn({ fieldId: 'account' }),
trxQuery.createColumn({ fieldId: 'fxamount' })
];
var results = trxQuery.run();
})
帮助说出关于在创建查询列时设置fieldId的另一件事:
从“记录浏览器”中获取此值(fieldId)。
1. Go to the appropriate record type. 2. Scroll until you see the Search Columns table. 3. Locate the appropriate value in the Internal ID column.
但是,出现以下错误: {“类型”:“ error.SuiteScriptError”,“名称”:“ SSS_SEARCH_ERROR_OCCURRED”,“消息”:“发生搜索错误:找不到记录'交易'的字段'帐户'。 ...
fxamount字段也发生同样的事情。
如何通过使用N /查询模块来定义查询列以获取有关交易的帐户和金额(外币)的数据?
答案 0 :(得分:2)
通过N/query
模块,您可以使用与UI中的Google Analytics(分析)工作簿功能相同的逻辑。由于某些原因,这些工作簿并不总是具有与记录浏览器中相同的字段名称。对于我的两分钱,N/search
模块仍然是要走的路。 N/query
似乎比N/search
慢得多。
在工作簿用户界面中,您可以单击每个字段名称旁边的信息图标,并查看query
模块所需的字段ID。
在您的示例中,fxamount
的搜索可能是查询中的foreigntotal
。
此外,顶级交易或交易行级别似乎没有account
字段。在交易会计行级别,有一个account
字段。
我不确定您要查找的帐户字段是否正确,但是此代码似乎有效。
var trxQuery = query.create({
type: query.Type.TRANSACTION
});
trxQuery.columns = [
trxQuery.createColumn({ fieldId: 'id' }),
trxQuery.createColumn({ fieldId: 'transactionlines.accountingimpact.account' }),
trxQuery.createColumn({ fieldId: 'foreigntotal' })
];
var results = trxQuery.run();