如何在库存详细信息子记录上设置 Serial/Lot 数字的值?
How do I set the value for Serial/Lot Number on an Inventory Detail Subrecord?
我已尽一切努力让它工作,但无论我做什么,我总是从 NetSuite 收到以下错误:
error code: USER_ERROR error message: {"type":"error.SuiteScriptError","name":"USER_ERROR","message":"Please enter value(s) for: Serial/Lot Number","stack":["anonymous(N/serverRecordService)"...
当我尝试提交该行时会发生这种情况。
我正在尝试做的(在 RESTlet 中)是以编程方式为现有工单 (WO) 创建工单完成 (WOC)。我让它为第一次手术工作。但是,对于需要库存详细信息的最终操作,我收到了错误。这是我的代码(为了更清楚起见,我删除了错误检查等):
/**
* @NApiVersion 2.x
* @NScriptType restlet
*/
define(['N/runtime', 'N/error', 'N/record', 'N/search'], function(runtime, error, record, search) {
return {
get : function(datain) {
var wo = record.load({
type: record.Type.WORK_ORDER,
id: datain.woid
});
var woc = record.transform({
fromType: record.Type.WORK_ORDER,
fromId: datain.woid,
toType: record.Type.WORK_ORDER_COMPLETION,
isDynamic: true,
defaultValues: {
isbackflush: 'F',
}
});
woc.setText({
fieldId: "startoperation",
text: "20"
});
woc.setText({
fieldId: "endoperation",
text: "20"
});
woc.setText({
fieldId: "completedquantity",
text: "230"
});
var invdetail = woc.getSubrecord({
fieldId: "inventorydetail"
});
invdetail.selectNewLine({
sublistId: "inventoryassignment",
});
invdetail.setCurrentSublistValue({
sublistId: "inventoryassignment",
fieldId: "binnumber",
value: 29
});
invdetail.setCurrentSublistValue({
sublistId: "inventoryassignment",
fieldId: "quantity",
value: 230
});
invdetail.setCurrentSublistText({
sublistId: "inventoryassignment",
fieldId: "issueinventorynumber",
text: "abc"
});
invdetail.commitLine({
sublistId: "inventoryassignment",
});
woc.save();
var results = {
woc: woc
};
return JSON.stringify(results);
}
}
});
能想到的我都试过了。使用 setCurrentSublistValue() 和 setCurrentSublistText(),将值设置为现有手数、新手数等。
但是,无论我做什么,NS 总是返回 "Please enter value(s) for: Serial/Lot Number" 错误,就好像它没有设置一样。
想法、想法、建议???
谢谢!
尝试使用 receiptinventorynumber
作为您的 fieldId。
invdetail.setCurrentSublistValue({
sublistId: 'inventoryassignment',
fieldId: 'receiptinventorynumber',
value: 'lotNumber'
});
invdetail.commitLine({sublistId: 'inventoryassignment'});
我已尽一切努力让它工作,但无论我做什么,我总是从 NetSuite 收到以下错误:
error code: USER_ERROR error message: {"type":"error.SuiteScriptError","name":"USER_ERROR","message":"Please enter value(s) for: Serial/Lot Number","stack":["anonymous(N/serverRecordService)"...
当我尝试提交该行时会发生这种情况。
我正在尝试做的(在 RESTlet 中)是以编程方式为现有工单 (WO) 创建工单完成 (WOC)。我让它为第一次手术工作。但是,对于需要库存详细信息的最终操作,我收到了错误。这是我的代码(为了更清楚起见,我删除了错误检查等):
/**
* @NApiVersion 2.x
* @NScriptType restlet
*/
define(['N/runtime', 'N/error', 'N/record', 'N/search'], function(runtime, error, record, search) {
return {
get : function(datain) {
var wo = record.load({
type: record.Type.WORK_ORDER,
id: datain.woid
});
var woc = record.transform({
fromType: record.Type.WORK_ORDER,
fromId: datain.woid,
toType: record.Type.WORK_ORDER_COMPLETION,
isDynamic: true,
defaultValues: {
isbackflush: 'F',
}
});
woc.setText({
fieldId: "startoperation",
text: "20"
});
woc.setText({
fieldId: "endoperation",
text: "20"
});
woc.setText({
fieldId: "completedquantity",
text: "230"
});
var invdetail = woc.getSubrecord({
fieldId: "inventorydetail"
});
invdetail.selectNewLine({
sublistId: "inventoryassignment",
});
invdetail.setCurrentSublistValue({
sublistId: "inventoryassignment",
fieldId: "binnumber",
value: 29
});
invdetail.setCurrentSublistValue({
sublistId: "inventoryassignment",
fieldId: "quantity",
value: 230
});
invdetail.setCurrentSublistText({
sublistId: "inventoryassignment",
fieldId: "issueinventorynumber",
text: "abc"
});
invdetail.commitLine({
sublistId: "inventoryassignment",
});
woc.save();
var results = {
woc: woc
};
return JSON.stringify(results);
}
}
});
能想到的我都试过了。使用 setCurrentSublistValue() 和 setCurrentSublistText(),将值设置为现有手数、新手数等。
但是,无论我做什么,NS 总是返回 "Please enter value(s) for: Serial/Lot Number" 错误,就好像它没有设置一样。
想法、想法、建议???
谢谢!
尝试使用 receiptinventorynumber
作为您的 fieldId。
invdetail.setCurrentSublistValue({
sublistId: 'inventoryassignment',
fieldId: 'receiptinventorynumber',
value: 'lotNumber'
});
invdetail.commitLine({sublistId: 'inventoryassignment'});