newbie
newbie

Reputation: 14950

How to disable add/edit/delete of sublist suitescript

How can I disable editing of the sublist using Suitescript user event (before load) in netsuite?

I also need to disable the inline editing.

Thank you.

Upvotes: 0

Views: 7156

Answers (3)

NetSuite Help
NetSuite Help

Reputation: 228

You can also use form object to achieve the same. See sample code below:-

var form = scriptContext.form; var serviceItemColumn = form.getSublist({id: 'timeitem'}).getField({id: 'item'}); serviceItemColumn.updateDisplayType({ displayType : 'disabled' })

Upvotes: 0

starholme
starholme

Reputation: 121

Ideally in NetSuite you would restrict this based on permissions. For custom records, you can disable inline editing, and you can disable child record editing. The help documentation has this to say about it:

Check the Allow Child Record Editing box to allow records of this type to be edited directly when they display as child records in a sublist on a parent record.

https://system.netsuite.com/app/help/helpcenter.nl?topic=CARD_-29 see item 14.

Upvotes: 1

felipechang
felipechang

Reputation: 924

You don't really need to disable editing before load, because no one can interact with sub-lists at this point. Sub-lists are like linked to the main record which means they load as the main record object loads, so the best way to prevent them from being edited is on the DOM.. which means making a form script or client-script (form preferably).

-If you know which form is used by the record go to it, else go to the record and look for "customize form" on the upper-right menu on the blue area.

-Then click on custom code.

-Add a script for "Validate Line Function" to prevent that line from being edited.

-Use the NetSuite example as a base, to prevent the line from editing you just have to return false.

function sampleValidateLine(type)
{
    if ( (nlapiGetCurrentLineItemValue('item', 'custcol_service_item') == true) &&
        (!nlapiGetCurrentLineItemText('item', 'custcol_service_rep')) )
    {
        alert("You must choose a Service Rep for this service item.");
        return false;
    }
    return true;
}

Upvotes: 4

Related Questions