2016-05-13 131 views
0

当计费计划运行时,它会自动从销售订单生成发票。发生这种情况时 - 如何在销售订单上创建链接,以便我可以在代码中加载相应的发票?NetSuite - 如何创建参考链接

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

编辑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。

回答

3

虽然在销售订单上添加链接是一个可行的解决方案,但这不是您唯一的选择。或者,您可以搜索发票,其中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人)创建的所有发票的列表。

如果您认为需要链接到销售订单上的发票,则可以添加自定义正文字段,然后在发票记录上创建一个用户事件,在Before Submit事件时使用其createdfrom值填充此新字段。但是,如果您的销售订单通过多个发票付款,会发生什么情况?

+0

感谢您的建议。你是否说创建的是一个构建领域?我在发票表单上看到的createfrom字段并不包含internid而是一个字符串,如:“Sales Order #SO -6” – MG2016

+1

@ MG2016'createdfrom'是'Sales Order#SO'的标准内部标识号 – Rockstar

+0

返回无效的操作符或不正确的语法:createdfrom。 – MG2016