{“type”:”error.SuiteScriptError”,”name”:”SSS_MISSING_REQD_ARGUMENT”,”message”:”load: Missing a required argument: id”,”stack”:[“createError(N/error)”,”onRequest(/SuiteScripts/_sdr_sl_salesorder_finance.js:107)”,”createError(N/error)”],”cause”:{“name”:”SSS_MISSING_REQD_ARGUMENT”,”message”:”load: Missing a required argument: id”},”id”:””,”notifyOff”:false,”userFacing”:true}
/**
* @NScriptType Suitelet
* @NApiVersion 2.0
*/
define([‘N/record’, ‘N/redirect’, ‘N/ui/serverWidget’],
/**
* @param{record} record
* @param{redirect} redirect
* @param{serverWidget} serverWidget
*/
function(record, redirect, serverWidget) {
/**
* Defines the Suitelet script trigger point.
* @param {Object} scriptContext
* @param {ServerRequest} scriptContext.request – Incoming request
* @param {ServerResponse} scriptContext.response – Suitelet response
* @since 2015.2
*/
function onRequest(context) {
var request = context.request;
var response = context.response;
if (request.method == ‘GET’) {
//sdr_ue_salesorder.js
var oderNum = request.parameters.sdr_ordernum;
var customer = request.parameters.sdr_customer;
var total = request.parameters.sdr_total;
var financePrice = request.parameters.sdr_financeprice;
var orderId = request.parameters.sdr_orderid;
var form = serverWidget.createForm({
title: ‘Sales Order Finacing’
});
var helpFld = form.addField({
id: ‘custpage_sdr_finacing_help’,
type: serverWidget.FieldType.HELP,
label: ‘Please assign a price to the financing of this sales order,then click Submit Financing.’
});
var ordernumFld = form.addField({
id: ‘custpage_sdr_oder_number’,
type: serverWidget.FieldType.TEXT,
label: ‘Oder #’
});
var customerFld = form.addField({
id: ‘custpage_sdr_customer’,
type: serverWidget.FieldType.TEXT,
label: ‘Customer’
});
var totalFld = form.addField({
id: ‘custpage_sdr_total’,
type: serverWidget.FieldType.CURRENCY,
label: ‘Total’
});
var financepriceFld = form.addField({
id: ‘custpage_sdr_financing_price’,
type: serverWidget.FieldType.TEXT,
label: ‘Financing Price’
});
var orderidFld = form.addField({
id: ‘custpage_sdr_order_id’,
type: serverWidget.FieldType.TEXT,
label: ‘Sales Order ID’
})
ordernumFld.defaultValue = oderNum;
customerFld.defaultValue = customer;
totalFld.defaultValue = total;
financepriceFld.defaultValue = financePrice;
orderidFld.defaultValue = orderId;
ordernumFld.updateDisplayType({
displayType: serverWidget.FieldDisplayType.INLINE
});
customerFld.updateDisplayType({
displayType: serverWidget.FieldDisplayType.INLINE
});
totalFld.updateDisplayType({
displayType: serverWidget.FieldDisplayType.INLINE
});
orderidFld.updateDisplayType({
displayType: serverWidget.FieldDisplayType.HIDDEN
});
form.addSubmitButton(‘Save Finance Info’);
response.writePage(form);
} else {
var orderId = request.parameters.custpage_sdr_order_id;
var financePrice = request.parameters.custpage_sdr_financing_price;
var salesOrder = record.load({
type: record.Type.SALES_ORDER,
id: orderId
});
salesOrder.setValue(‘custbody_sdr_financing_price’, financePrice);
salesOrder.save();
redirect.toRecord({
type: record.Type.SALES_ORDER,
id: orderId
});
}
}
return {
onRequest: onRequest
};
});
I think you need to use the runtime module and use the runtime.getCurrentScript() here
something like this:
/**
* @NScriptType Suitelet
* @NApiVersion 2.0
*/
define([‘N/record’, ‘N/redirect’, ‘N/ui/serverWidget’,’N/runtime’],
/**
* @param{record} record
* @param{redirect} redirect
* @param{serverWidget} serverWidget
*/
function(record, redirect, serverWidget, runtime) {
/**
* Defines the Suitelet script trigger point.
* @param {Object} scriptContext
* @param {ServerRequest} scriptContext.request – Incoming request
* @param {ServerResponse} scriptContext.response – Suitelet response
* @since 2015.2
*/
function onRequest(context) {
var request = context.request;
var response = context.response;
if (request.method == ‘GET’) {
scriptObj = runtime.getCurrentScript()
//sdr_ue_salesorder.js
var oderNum = request.parameters.sdr_ordernum;
var customer = request.parameters.sdr_customer;
…