NetSuite:需要使用事务保存搜索获取到岸成本类别行字段的值
NetSuite: Need to get value Of Landed Cost Category Line Field using Transaction Saved Search
我正在尝试使用 NetSuite 的自定义选项(SuiteBuilder、SuiteScript 等)在某种程度上模仿 NetSuite 的到岸成本功能,然后根据我的要求进一步扩展功能。
为此,我需要在脚本中使用保存的搜索获取交易记录(如账单、采购订单等)中项目子列表的“LANDED COST CATEGORY”行字段的值。
但是在保存的搜索中我无法找到任何 Column/scriptId 可以给我 LANDED COST CATEGORY 行字段的值。我们能够使用 record.load().getValue() 获取此值,但我需要来自多个事务记录的此值,使用此方法可能会导致性能问题。那么,请您告诉我们如何使用保存的搜索访问此值。
我认为 Netsuite 目前不会在保存的搜索中公开该字段。这是 Netsuite 中的 records browser,列出了交易搜索的所有可用搜索列。该列的内部 ID 是 landedcostcategory,但未显示在列表中。
但是,如果您的目标是在 SuiteScript 中获取此信息,那么您可以使用 'N/query' 模块。调出您的采购订单之一,打开 Javascript 控制台 (Ctrl+Shift+J) 并试试这个:
require(['N/query'], (query) => {
const suiteqlQuery = `SELECT
transaction as transaction_id,
BUILTIN.DF(transaction) as transaction_name,
BUILTIN.DF(item) as item_name,
item as item_id,
landedcostcategory as landedcostcategory_id,
BUILTIN.DF(landedcostcategory) as landedcostcategory_name
FROM
transactionline
WHERE
transaction='<internal id of your PO here>'`;
const results = query.runSuiteQL({query: suiteqlQuery}).asMappedResults();
console.log(JSON.stringify(results, null, 2));
/*
Example output for results:
[
{
"transaction_id": "12345",
"transaction_name": "Purchase Order #PO123456",
"item_name": "My Favorite iPod",
"item_id": 1234,
"landedcostcategory_id": 1,
"landedcostcategory_name": "Duties & Tariffs"
}
]
*/
})
我正在尝试使用 NetSuite 的自定义选项(SuiteBuilder、SuiteScript 等)在某种程度上模仿 NetSuite 的到岸成本功能,然后根据我的要求进一步扩展功能。
为此,我需要在脚本中使用保存的搜索获取交易记录(如账单、采购订单等)中项目子列表的“LANDED COST CATEGORY”行字段的值。
但是在保存的搜索中我无法找到任何 Column/scriptId 可以给我 LANDED COST CATEGORY 行字段的值。我们能够使用 record.load().getValue() 获取此值,但我需要来自多个事务记录的此值,使用此方法可能会导致性能问题。那么,请您告诉我们如何使用保存的搜索访问此值。
我认为 Netsuite 目前不会在保存的搜索中公开该字段。这是 Netsuite 中的 records browser,列出了交易搜索的所有可用搜索列。该列的内部 ID 是 landedcostcategory,但未显示在列表中。
但是,如果您的目标是在 SuiteScript 中获取此信息,那么您可以使用 'N/query' 模块。调出您的采购订单之一,打开 Javascript 控制台 (Ctrl+Shift+J) 并试试这个:
require(['N/query'], (query) => {
const suiteqlQuery = `SELECT
transaction as transaction_id,
BUILTIN.DF(transaction) as transaction_name,
BUILTIN.DF(item) as item_name,
item as item_id,
landedcostcategory as landedcostcategory_id,
BUILTIN.DF(landedcostcategory) as landedcostcategory_name
FROM
transactionline
WHERE
transaction='<internal id of your PO here>'`;
const results = query.runSuiteQL({query: suiteqlQuery}).asMappedResults();
console.log(JSON.stringify(results, null, 2));
/*
Example output for results:
[
{
"transaction_id": "12345",
"transaction_name": "Purchase Order #PO123456",
"item_name": "My Favorite iPod",
"item_id": 1234,
"landedcostcategory_id": 1,
"landedcostcategory_name": "Duties & Tariffs"
}
]
*/
})