NetSuite SuiteScript 2.0 无法以编程方式从用户事件脚本中检索库存详细信息子列表子记录
NetSuite SuiteScript 2.0 Cannot programmatically retrieve Inventory Details sublist subrecord from user event script
我正在尝试使用以下代码在用户事件脚本中通过 SuiteScript 2.0 检索 Adjust 库存表单的库存详细信息字段。脚本最终需要验证批号是否递增 1。
lines
和 newIventoryDetails
return {"details":"SS lines: 1"}
和 {"details":"SS newIventoryDetails: standard subrecord"}
然而线条
var lotNumber = newIventoryDetails.getValue({
fieldId: 'issueinventorynumber'
});
log.debug({details: "SS lotNumber: " + lotNumber});
returns {"details":"SS lotNumber: undefined"}
为批号。有谁知道我哪里出错了?
/**
* @NApiVersion 2.0
* @NScriptType UserEventScript
* @NModuleScope SameAccount
*/
define([], function () {
// Script global variables.
var allowSaveLot = true;
var firstItemNegative = false;
var firstItemParentID = -9999;
function beforeSubmit(context) {
log.debug({details: "SS beforeSubmit: " + context.type});
var newRecord = context.newRecord; // The new record being submitted.
// Check how many lines exist in the inventory sublist.
var lines = newRecord.getLineCount({sublistId: 'inventory'});
log.debug({details: "SS lines: " + lines});
var newIventoryDetails = newRecord.getSublistSubrecord({
sublistId: 'inventory',
fieldId: 'inventorydetail',
line: 0
});
log.debug({details: "SS newIventoryDetails: " + newIventoryDetails});
var lotNumber = newIventoryDetails.getValue({
fieldId: 'issueinventorynumber'
});
log.debug({details: "SS lotNumber: " + lotNumber});
}
return {
beforeSubmit: beforeSubmit
};
}); // Define
通过此更改修复了它:
function beforeSubmit(context) {
log.debug({details: "SS beforeSubmit: " + context.type});
var newRecord = context.newRecord; // The new record being submitted.
if (newRecord.isDynamic) {
log.debug({details: "SS isDynamic: true"}); // currentRecord is Dynamic.
} else {
log.debug({details: "SS isDynamic: false"});
}
// Check how many lines exist in the inventory sublist.
var lines = newRecord.getLineCount({sublistId: 'inventory'});
log.debug({details: "SS lines: " + lines});
var newIventoryDetails = newRecord.getSublistSubrecord({
sublistId: 'inventory',
fieldId: 'inventorydetail',
line: 0
});
log.debug({details: "SS newIventoryDetails: " + newIventoryDetails});
var lotNumber = newIventoryDetails.getSublistText({ // getSublistValue
sublistId: 'inventoryassignment',
fieldId: 'issueinventorynumber',
line: 0
});
log.debug({details: "SS lotNumber: " + lotNumber});
}
我正在尝试使用以下代码在用户事件脚本中通过 SuiteScript 2.0 检索 Adjust 库存表单的库存详细信息字段。脚本最终需要验证批号是否递增 1。
lines
和 newIventoryDetails
return {"details":"SS lines: 1"}
和 {"details":"SS newIventoryDetails: standard subrecord"}
然而线条
var lotNumber = newIventoryDetails.getValue({
fieldId: 'issueinventorynumber'
});
log.debug({details: "SS lotNumber: " + lotNumber});
returns {"details":"SS lotNumber: undefined"}
为批号。有谁知道我哪里出错了?
/**
* @NApiVersion 2.0
* @NScriptType UserEventScript
* @NModuleScope SameAccount
*/
define([], function () {
// Script global variables.
var allowSaveLot = true;
var firstItemNegative = false;
var firstItemParentID = -9999;
function beforeSubmit(context) {
log.debug({details: "SS beforeSubmit: " + context.type});
var newRecord = context.newRecord; // The new record being submitted.
// Check how many lines exist in the inventory sublist.
var lines = newRecord.getLineCount({sublistId: 'inventory'});
log.debug({details: "SS lines: " + lines});
var newIventoryDetails = newRecord.getSublistSubrecord({
sublistId: 'inventory',
fieldId: 'inventorydetail',
line: 0
});
log.debug({details: "SS newIventoryDetails: " + newIventoryDetails});
var lotNumber = newIventoryDetails.getValue({
fieldId: 'issueinventorynumber'
});
log.debug({details: "SS lotNumber: " + lotNumber});
}
return {
beforeSubmit: beforeSubmit
};
}); // Define
通过此更改修复了它:
function beforeSubmit(context) {
log.debug({details: "SS beforeSubmit: " + context.type});
var newRecord = context.newRecord; // The new record being submitted.
if (newRecord.isDynamic) {
log.debug({details: "SS isDynamic: true"}); // currentRecord is Dynamic.
} else {
log.debug({details: "SS isDynamic: false"});
}
// Check how many lines exist in the inventory sublist.
var lines = newRecord.getLineCount({sublistId: 'inventory'});
log.debug({details: "SS lines: " + lines});
var newIventoryDetails = newRecord.getSublistSubrecord({
sublistId: 'inventory',
fieldId: 'inventorydetail',
line: 0
});
log.debug({details: "SS newIventoryDetails: " + newIventoryDetails});
var lotNumber = newIventoryDetails.getSublistText({ // getSublistValue
sublistId: 'inventoryassignment',
fieldId: 'issueinventorynumber',
line: 0
});
log.debug({details: "SS lotNumber: " + lotNumber});
}