Show the data based on UK time using suitelet

Show the saved search data based on the Uk time using the suitelet

/**
 * @NApiVersion 2.1
 * @NScriptType Suitelet
 */

define(['N/search','N/file','N/format'],
           (search,file,format) => {
        /**
         * Defines the Suitelet script trigger point.
         * @param {Object} scriptContext
         * @param {ServerRequest} scriptContext.request - Incoming request
         * @param {ServerResponse} scriptContext.response - Suitelet response
         * @since 2015.2
         */
        const onRequest = (context ) => {
            var results = new Array();
            try{
              var response = context.response;
              //obtain the current date
                var date =new Date();
                log.debug("date",date)

             //converting current date to UK time zone
                var london_time = format.format({
                    value : date,
                    type : format.Type.DATETIME,
                    timezone : format.Timezone.EUROPE_LONDON
                });
                let london__time_new=new Date(london_time.split(' ')[0]);
               var londonDate = generateDateString(london__time_new);
               log.debug("londonDate",londonDate);

                 //converting current date to Australia time zone
                var australia_time = format.format({
                    value : date,
                    type : format.Type.DATETIME,
                    timezone : format.Timezone.AUSTRALIA_SYDNEY
                });
                let australia_time_new=new Date(australia_time.split(' ')[0]);
                var ausDate = generateDateString(australia_time_new);
              log.debug("ausDate",ausDate);
              //comapre london time and australian time
              if(londonDate < ausDate){

                 //load the search with id to obtain the required result
                    var search_load=search.load({

                        id:'customsearch_jj_uk_test_klipfolio_search',
                    });
                    log.debug('search',search_load);
                   //load the filters
                    var filters = search_load.filters;
                   //create a new filter for system note date
                   var filterOne = search.createFilter({
                        name: 'date',
                        join:'systemnotes',
                        operator: search.Operator.WITHIN,
                        values:'yesterday'
                    });
                     //replace the search filter createddate in the ui search with new filter
                    var filer= filters.splice(7,1,filterOne)
                    log.debug("filer",filer);
                    log.debug('search',search_load);
                  //Run the search result
                  var results = search_load.run().getRange(0,100);
               }
                else{
                 
  var search_load=search.load(

                     id:'customsearch_jj_uk_test_klipfolio_search'
                    });
                   log.debug('search',search_load);
                   var filters = search_load.filters;
                    var filterOne = search.createFilter({
                       name: 'date',
                       join:'systemnotes',
                       operator: search.Operator.WITHIN,
                       values: 'today'
                    });

                var filer= filters.splice(7,1,filterOne)
                    log.debug("filer",filer);
                   var results = search_load.run().getRange(0,100);
                }
}
            catch (e) {
                log.error('on_request', e.message);
            }
          
response.writeLine(JSON.stringify(results));
          function generateDateString(dateObj) {
                //convert date to specific format
                var date = dateObj;
                log.debug("date",date);
                var d = date.getDate();
                var m = date.getMonth()+1;
                var y = date.getFullYear();
                var dateString = ((m <= 9 ? '0' + m : m) + '/' + (d <= 9 ? '0' + d : d) + '/' + y);
                return dateString;
            }
        }

     return {onRequest}

    });

Leave a comment

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