我的公司運行幾種不同類型的項目,並希望根據所選項目記錄中運行的項目類型以不同方式查看項目記錄。Suitescript 2.0爲不同類型的項目使用不同的表格
我有選擇標題爲「自定義窗體」(這是一個選擇字段)和我們的工作人員輸入項目類型「custentityjt_fie_pro_projecttype」(也是選擇字段)的字段。
我創建負荷用戶事件腳本之前下面來嘗試實現這一目標:
/**
* @NApiVersion 2.x
* @NScriptType UserEventScript
* @NModuleScope SameAccount
*/
define(["N/record"], function(r) {
function beforeLoad(context) {
var currentRecord = context.newRecord;
var projectType = currentRecord.getValue({
fieldId: "custentityjt_fie_pro_projecttype",
});
currentRecord.setValue({
fieldID: 'customform',
value: projectType
})
}
return {
beforeLoad: beforeLoad,
}
})
當加載在編輯模式下的項目備案,自定義窗體選擇不會改變,並加載項目記錄時在查看模式下,我得到如下:
{"type":"error.SuiteScriptError","name":"UNEXPECTED_ERROR","message":null,"stack":["anonymous(N/recordService)","beforeLoad(/SuiteScripts/setForm.js:13)"],"cause":{"type":"internal error","code":"UNEXPECTED_ERROR","details":null,"userEvent":"beforeload","stackTrace":["anonymous(N/recordService)","beforeLoad(/SuiteScripts/setForm.js:13)"],"notifyOff":false},"id":"","notifyOff":false}
我很新的NetSuite和編程一般,所以請溫柔:)
非常感謝您的幫助。我是說得很對,這隻會在編輯模式下工作嗎?是在視圖模式下查看項目時有什麼辦法讓它工作? – jtux
我還應該提到,在編輯模式下,自定義窗體選擇的確會改變,但實際的窗體本身不會改變。將不得不點擊選擇,而不是隻是改變字段的值,以便它實際執行更改。這可以通過在更改後添加頁面重新加載來解決嗎? – jtux
@jtux您是正確的,這隻會在編輯模式,我也相信它只能作爲客戶端腳本,而不能在加載之前用戶事件腳本。 –