RE: {“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
        };
    });
virtual LIFE Rookie Asked on July 4, 2022 in SuiteScript.
Add Comment
1 Answers

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;
          …
Rookie Answered on July 5, 2022.
Add Comment

Your Answer

By posting your answer, you agree to the privacy policy and terms of service.