NetSuite - 如何创建引用 link

NetSuite - how to create reference link

当计费计划运行时,它会根据销售订单自动生成发票。发生这种情况时 - 如何在销售订单上创建 link 以允许我在代码中加载相应的发票?

我需要这个,这样我就可以从发票中获取几个字段值,但我无法直接从另一个似乎只与销售订单相关的实体访问发票。

编辑 1:

var fil = [];
fil[0] = new nlobjSearchFilter('createdfrom', null, 'is', nlapiGetRecordId())
var col = [];
col[0] = new nlobjSearchColumn('internalid');
var invoices = nlapiSearchRecord('invoice', null, fil, col);
nlapiLogExecution('DEBUG', 'field val', invoices);

抛出无效的运算符或不正确的语法:createdfrom。

虽然在销售订单上添加 link 是一个可行的解决方案,但这不是您唯一的选择。或者,您可以搜索发票,其中 createdfrom 字段是您的销售订单的内部 ID。类似于 SuiteScript 1.0 中的内容:

var invoices = nlapiSearchRecord('invoice', null,
    [['createdfrom', 'is', nlapiGetRecordId()]],
    [/* create search columns for the fields you need off the invoice */]
) || [];

或在 2.0 中:

var invoices = search.create({
  "type": search.Type.INVOICE,
  "filters": [['createdfrom', 'is', context.currentRecord.id]],
  "columns": [/* create search columns for the fields you need off the invoice */]
}).run().each(processResult);

这将为您提供根据您的销售订单(可能只有 1 个)创建的所有发票的列表。

如果您认为销售订单的发票需要 link,您可以添加自定义正文字段,然后在发票记录上创建一个用户事件,用其 createdfrom 提交前事件的值。但是如果您的销售订单通过多张发票付款会怎样?