Sign up to receive SuiteScript examples and advice directly in your email inbox.

Practical Console Geekery

Created: June 20, 2017

I am a geek. There is no way around it, and I have accepted my fate as such.

I became a developer because I so enjoyed the process of creation, the tinkering, and numbers. Do you have to love those same things to be a great programmer? Certainly not. A wild sense of curiosity doesn't hurt, though.

Some of that curiosity and my tinkering habit has led me to an example of leveraging the Developer Console to gain a better understanding of SuiteScript. Using the Console's "timer" API, I was able to very quickly illustrate the performance difference between loading a record to read a field value versus using the lookups we explored last week.

require(['N/record', 'N/search'], function (r, s) {
  console.time('Load Record')
  const customerId = r.load({
    type: r.Type.SALES_ORDER,
    id: 874
  }).getValue({fieldId: 'entity'})
  console.log(customerId)
  console.timeEnd('Load Record')
    
  console.time('Lookup')
  const customerId2 = s.lookupFields({
    type: r.Type.SALES_ORDER,
    id: 874,
    columns: ['entity']
  }).entity[0].value
  console.log(customerId2)
  console.timeEnd('Lookup')
})

I won't give away the results here; to satisfy your curiosity, I recommend you copy and paste this into your own Console to see the results for yourself.