Jordan
06/09/2026, 6:22 PMetiusten
06/09/2026, 6:27 PMAnthony OConnor
06/09/2026, 6:27 PMJordan
06/09/2026, 7:47 PMfunction renderForm() {
let form = sw.createForm({title: 'Ecommerce Portal', hideNavBar: true});
let radioGroup = form.addFieldGroup({id: 'ordertype', label: 'Order Type'});
let sampleOrder = form.addField({id: 'custpage_allowance', label: 'Sample Order', type: sw.FieldType.RADIO, source: 'sample', container: 'ordertype'});
let allowance = form.addField({id: 'custpage_allowance', label: 'Use Allowance', type: sw.FieldType.RADIO, source: 'allowance', container: 'ordertype'});
sampleOrder.defaultValue = 'sample';
let sublist = form.addSublist({id: 'custpage_items', label: 'Ecomm Items', type: sw.SublistType.INLINEEDITOR});
let itemField = sublist.addField({id: 'custpage_item_id', label: 'Item', type: sw.FieldType.SELECT, source: 'item'});
// itemField.addSelectOption({value: '', text: ''});
// let itemSearch = search.create({
// type: search.Type.ASSEMBLY_ITEM,
// filters: [['isinactive', 'is', 'F']],
// columns: ['internalid', 'displayname']
// }).run().each(function(item) {
// let itemId = item.getValue({name: 'internalid'});
// let dn = item.getValue({name: 'displayname'});
// log.debug("itemId and display", itemId + ' | ' + dn)
// itemField.addSelectOption({value: itemId, text: dn});
// return true;
// })
sublist.addField({id: 'custpage_item_qty', label: 'Quantity', type: sw.FieldType.FLOAT});
form.addSubmitButton({label: 'Create Order'});
return form;
}Anthony OConnor
06/09/2026, 8:00 PM/**
* @NApiVersion 2.1
* @NScriptType Suitelet
*/
define(['N/ui/serverWidget', 'N/search', 'N/record', 'N/redirect', 'N/runtime', 'N/log', 'N/url'], (
serverWidget,
search,
record,
redirect,
runtime,
log,
url
) => {
const onRequest = (context) => {
try {
if (context.request.method === 'GET') {
let form = renderForm();
context.response.writePage(form);
} else {
//handle POST
}
} catch (e) {
log.error('Unexpected Error', e);
context.response.write('An error occurred: ' + e.message);
}
};
function renderForm() {
let form = serverWidget.createForm({title: 'Ecommerce Portal', hideNavBar: true});
let radioGroup = form.addFieldGroup({id: 'ordertype', label: 'Order Type'});
let sampleOrder = form.addField({id: 'custpage_allowance', label: 'Sample Order', type: serverWidget.FieldType.RADIO, source: 'sample', container: 'ordertype'});
let allowance = form.addField({id: 'custpage_allowance', label: 'Use Allowance', type: serverWidget.FieldType.RADIO, source: 'allowance', container: 'ordertype'});
sampleOrder.defaultValue = 'sample';
let sublist = form.addSublist({id: 'custpage_items', label: 'Ecomm Items', type: serverWidget.SublistType.INLINEEDITOR});
let itemField = sublist.addField({id: 'custpage_item_id', label: 'Item', type: serverWidget.FieldType.SELECT, source: 'item'});
// itemField.addSelectOption({value: '', text: ''});
// let itemSearch = search.create({
// type: search.Type.ASSEMBLY_ITEM,
// filters: [['isinactive', 'is', 'F']],
// columns: ['internalid', 'displayname']
// }).run().each(function(item) {
// let itemId = item.getValue({name: 'internalid'});
// let dn = item.getValue({name: 'displayname'});
// log.debug("itemId and display", itemId + ' | ' + dn)
// itemField.addSelectOption({value: itemId, text: dn});
// return true;
// })
sublist.addField({id: 'custpage_item_qty', label: 'Quantity', type: serverWidget.FieldType.FLOAT});
form.addSubmitButton({label: 'Create Order'});
return form;
}
return{
onRequest
};
});Anthony OConnor
06/09/2026, 8:01 PMAnthony OConnor
06/09/2026, 8:01 PMAnthony OConnor
06/09/2026, 8:02 PMAnthony OConnor
06/09/2026, 8:03 PMJordan
06/09/2026, 8:08 PMAnthony OConnor
06/09/2026, 8:08 PMJordan
06/09/2026, 8:10 PMNickSuite
06/09/2026, 9:30 PMAaron McCausland
07/07/2026, 8:09 PM