Script to add item lines in the sales order when clicking submit button in the popup

The following code can be used to add item lines in the sales order when clicking submit button in the popup triggered from the sales order.

Suitelet POST action:

    let html = '<script>'
                    for (let key in freeItems) {
                        let itemObj = freeItems[key];
                        html += `window.opener.nlapiSetCurrentLineItemValue('item', 'item', ${itemObj.custpage_selected_item}, true, true); `
                        html += `window.opener.nlapiSetCurrentLineItemValue('item', 'price', ${- 1}, true, true); `
                        html += `window.opener.nlapiSetCurrentLineItemValue('item', 'quantity', ${itemObj.custpage_selected_quantity}, true, true); `
                        html += `window.opener.nlapiSetCurrentLineItemValue('item', 'custcol_jj_item_brand', ${itemObj.custpage_selected_prod_brand}, true, true); `
                        if (itemObj.custpage_selected_free_item == 'T') {
                            html += `window.opener.nlapiSetCurrentLineItemValue('item', 'rate', ${0}, true, true); `
                             html += `window.opener.nlapiSetCurrentLineItemValue('item', 'amount', ${0}, true, true); `
                              html += `window.opener.nlapiSetCurrentLineItemValue('item', 'custcol_jj_free', true, true, true); `
                             
                        } else {
                            html += `window.opener.nlapiSetCurrentLineItemValue('item', 'rate', ${itemObj.custpage_selected_price_aux}, true, true); `
                             html += `window.opener.nlapiSetCurrentLineItemValue('item', 'amount', ${itemObj.custpage_selected_total}, true, true); `
                        }
                       
                        if (!isEmpty(itemObj.custpage_selected_discount)) {
                            html += `window.opener.nlapiSetCurrentLineItemValue('item', 'custcol_acs_discount_applied', ${itemObj.custpage_selected_discount}, true, true); `
                        }
                        if (!isEmpty(itemObj.custpage_selected_free_item == 'T')) {
                            html += `window.opener.nlapiSetCurrentLineItemValue('item', 'custcol6', ${Number(itemObj.custpage_selected_price_aux) * Number(itemObj.custpage_selected_quantity)}, true, true); `
                        }
                        html += `window.opener.nlapiCommitLineItem('item'); `
                    }
                    html += `window.onbeforeunload = null; `
                    html += `window.close();</script > `
                    scriptContext.response.write(html);

Leave a comment

Your email address will not be published. Required fields are marked *