如何在用户事件脚本中获取发票 ID (tranid) 值?

cja*_*cja 5 netsuite suitescript

我想在发票创建后立即获取发票的 tranid。

我有一个包含以下代码的用户事件脚本。

function showValue()
{
    var tranid = nlapiGetFieldValue('tranid');
    nlapiLogExecution('DEBUG', 'save transaction', nlapiGetRecordType() + ", "+ nlapiGetRecordId() + ", "+ 'tranid' + ": "+ tranid + ", "+ (new Date()))
}
Run Code Online (Sandbox Code Playgroud)

将“提交功能”设置为“showValue”后。

该部署适用于发票。

事件类型设置为创建。

当我保存新发票时,以下内容将添加到部署的执行日志中:

"invoice, 1143428, tranid: To Be Generated, Fri Oct 13 2017 04:21:08 GMT-0700 (PDT)"
Run Code Online (Sandbox Code Playgroud)

如何设置内部id但tranid仍然是“待生成”?当然,tranid 会在设置内部 id 时设置。

如何在用户事件脚本中获取 tranid?

小智 5

我之前也遇到过同样的问题。简单直接吧?我针对这个问题提交了一个案例,支持人员告诉我,解决方法是再次加载记录或进行查找(Suiteanswer id 34194 和 18215)。我以前有过,但我没有这样做,因为想要一个优化的脚本并只使用 nlapiGetFieldValue。但到最后,我别无选择。

nlapiLookupField(nlapiGetRecordType, nlapiGetRecordId(), 'tranid')
Run Code Online (Sandbox Code Playgroud)