1

JavaScript

/**
 * @NApiVersion 2.1
 * @NScriptType UserEventScript
 * @NModuleScope SameAccount
 */
 define(['N/search', 'N/ui/serverWidget', 'N/record'],
 /**
* @param{search} search
* @param{serverWidget} serverWidget
*/
 (search, serverWidget, record) => {
     /**
      * Defines the function definition that is executed before record is loaded.
      * @param {Object} scriptContext
      * @param {Record} scriptContext.newRecord - New record
      * @param {string} scriptContext.type - Trigger type¨; use values from the context.UserEventType enum
      * @param {Form} scriptContext.form - Current form
      * @param {ServletRequest} scriptcontext.request - HTTP request information sent from the browser for a client action only.
      * @since 2015.2
      */
     const beforeLoad = (scriptContext) => {

        var objRecord = scriptContext.newRecord
        var lineCount = objRecord.getLineCount({"sublistId": "timeitem"});
        var recSublist = objRecord.getSublist({sublistId: 'timeitem'})
        log.debug('sublist record', recSublist)

        var objForm = scriptContext.form; 
        var objSublist = objForm.getSublist({id: 'timeitem'}); 



        if (scriptContext.type == scriptContext.UserEventType.CREATE) {

            // console.log('create');
            log.debug('create')

            var custpage_clientContractField = recSublist.addField({
                id : 'custpage_clientcontract',
                type : serverWidget.FieldType.SELECT,
                label: 'Client Contract'
            })
            
            custpage_clientContractField.addSelectOption({
                   value : '',
                   text : ''
            });

            if (scriptContext.type == scriptContext.UserEventType.EDIT) {
                
                log.debug('EDIT WITHIN')
            }

        } 
        else if (scriptContext.type == scriptContext.UserEventType.EDIT) {

            log.debug('EDIT')

            var custpage_clientContractField =...