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.