Muhammad Hafiz
07/04/2022, 4:25 AMYou must enter at least one line item for this transaction.
function post(context) {
doValidation([context.recordtype], ['recordtype'], 'POST');
var rec = record.create({
type: context.recordtype
});
for (var fldName in context)
if (context.hasOwnProperty(fldName))
if (fldName !== 'recordtype')
rec.setValue(fldName, context[fldName]);
var recordId = rec.save();
return String(recordId);
}
Rajat Parashar
07/04/2022, 7:34 AMec
07/04/2022, 6:13 PMMuhammad Hafiz
07/05/2022, 1:53 AM/**
* @NApiVersion 2.0
* @NScriptType Restlet
* @NModuleScope SameAccount
*/
define([
'N/record',
], function(record) {
function doPost(data){
var recordObj = record.create({
type: "inventoryadjustment",
isDynamic: true
});
var account = data.account;
var department = data.department;
var adjlocation = data.adjlocation;
var items = data.items;
recordObj.setValue({
fieldId:'account',
value:account
});
recordObj.setValue({
fieldId:'department',
value:department
});
recordObj.setValue({
fieldId:'adjlocation',
value:adjlocation
});
for (i = 0; i < items.length; i++) {
recordObj.selectNewLine({
sublistId: 'item'
});
recordObj.setCurrentSublistValue({
sublistId: 'item',
fieldId: 'item',
value: items[i][0]
});
recordObj.setCurrentSublistValue({
sublistId: 'item',
fieldId: 'quantity',
value: items[i][1]
});
recordObj.commitLine({
sublistId:'item'
});
}
var recordId = recordObj.save({
enableSourcing: false,
ignoreMandatoryFields: false
});
return recordId;
}
return {post:doPost};
});
And get an error message :
{
"error": {
"code": "TypeError",
"message": "TypeError: Cannot read property \'length\' of undefined [at Object.doPost (/SuiteScripts/restlet_invadj.js:37:19)]"
}
}
Muhammad Hafiz
07/05/2022, 3:26 AMvar recordObj = record.create({
type: record.Type.INVENTORY_ADJUSTMENT,
isDynamic: true
});
Muhammad Hafiz
07/06/2022, 10:05 AM/**
* @NApiVersion 2.1
* @NScriptType Restlet
* @NModuleScope SameAccount
*/
define([
'N/record',
], function(record) {
function doPost(data){
var recordObj = record.create({
type: record.Type.INVENTORY_ADJUSTMENT,
isDynamic: true
});
var account = data.account;
var department = data.department;
var adjlocation = data.adjlocation;
var items = data.items;
var id = id;
var quantity = quantity;
var rate = rate;
recordObj.setValue({
fieldId:'account',
value:account
});
recordObj.setValue({
fieldId:'department',
value:department
});
recordObj.setValue({
fieldId:'adjlocation',
value:adjlocation
});
for (i = 0; i < items.length; i++) {
recordObj.selectNewLine({
sublistId: 'item'
});
recordObj.setCurrentSublistValue({
sublistId: 'item',
fieldId: 'id',
value: items[i].id
});
recordObj.setCurrentSublistValue({
sublistId: 'item',
fieldId: 'quantity',
value: items[i].quantity
});
recordObj.setCurrentSublistValue({
sublistId: 'item',
fieldId: 'rate',
value: items[i].rate
});
recordObj.commitLine({
sublistId:'item'
});
}
var recordId = recordObj.save({
enableSourcing: false,
ignoreMandatoryFields: false
});
return recordId;
}
return {post:doPost};
});
Rajat Parashar
07/06/2022, 12:34 PMdata.items
is undefined. It is a normal JS error.Muhammad Hafiz
07/12/2022, 9:01 AM