Practical Console Geekery

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");
    var customerId = r.load({
        type: r.Type.SALES_ORDER,
        id: 874
    }).getValue({fieldId: "entity"});
    console.log(customerId);
    console.timeEnd("Load Record");
    
    console.time("Lookup");
    var 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.

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}

Related posts

January 7, 2021

Anything I wrote today about business would both feel and be inadequate. I simply can’t arrive at the words to express how I feel in this moment. So instead, here are a few helpful ...

Read More

December 20, 2020

2020 was a hundred swift kicks to the shorts and one giant kick in the ass. If you’ve lost people you love, if you’ve gotten sick or hurt, if you’ve lost your job, if ...

Read More

December 16, 2020

“I’ve been meaning to learn SuiteScript, but it’s hard to find the time …”“We’re slammed, and I just don’t have the time …”“I haven’t made the time …” All are variations of a theme ...

Read More

December 14, 2020

Last week we looked at mimicking the functionality of a REST endpoint with its own module (e.g. retrieving a User, or a list of Users, refreshing a token, etc). For complex integrations that rely on a large ...

Read More