Custom Form with Search and Editable Sublist

/**

 * @NApiVersion 2.x

 * @NScriptType Suitelet

 */

define([‘N/ui/serverWidget’, ‘N/record’, ‘N/search’], function(serverWidget, record, search) {

  function onRequest(context) {

    if (context.request.method === ‘GET’) {

      var form = serverWidget.createForm({ title: ‘Custom Sublist Suitelet’ });

      var sublist = form.addSublist({

        id: ‘custpage_items’,

        type: serverWidget.SublistType.INLINEEDITOR,

        label: ‘Item Details’

      });

      sublist.addField({

        id: ‘custpage_item’,

        type: serverWidget.FieldType.SELECT,

        label: ‘Item’,

        source: ‘item’

      });

      sublist.addField({

        id: ‘custpage_quantity’,

        type: serverWidget.FieldType.INTEGER,

        label: ‘Quantity’

      });

      sublist.addField({

        id: ‘custpage_factor’,

        type: serverWidget.FieldType.FLOAT,

        label: ‘Factor’

      });

      context.response.writePage(form);

    } else if (context.request.method === ‘POST’) {

      var request = context.request;

      var itemCount = request.getLineCount({ group: ‘custpage_items’ });

      for (var i = 0; i < itemCount; i++) {

        var item = request.getSublistValue({

          group: ‘custpage_items’,

          name: ‘custpage_item’,

          line: i

        });

        var quantity = request.getSublistValue({

          group: ‘custpage_items’,

          name: ‘custpage_quantity’,

          line: i

        });

        var factor = request.getSublistValue({

          group: ‘custpage_items’,

          name: ‘custpage_factor’,

          line: i

        });

        log.debug(‘Processing’, ‘Item: ‘ + item + ‘, Quantity: ‘ + quantity + ‘, Factor: ‘ + factor);

      }

      context.response.write(‘Data saved successfully’);

    }

  }

  return { onRequest: onRequest };

});

Leave a comment

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