2016-05-13 76 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