Client Script to Validate Item Type Before Adding to Item Sublist

/**

 * @NApiVersion 2.0

 * @NScriptType ClientScript

 * @NModuleScope SameAccount

 */

define([‘N/currentRecord’, ‘N/record’], 

/**

 * @param {currentRecord} currentRecord

 * @param {record} record

 */

function (currentRecord, record) {

/**

* Validation function to be executed when sublist line is committed.

*

* @param {Object} scriptContext

* @param {Record} scriptContext.currentRecord – Current form record

* @param {string} scriptContext.sublistId – Sublist name

*

* @returns {boolean} Return true if sublist line is valid

*

* @since 2015.2

*/

function itemTypeValidation(scriptContext) {

log.debug({ title: ‘Script Context’, details: scriptContext });

try {

if (scriptContext.sublistId === ‘item’) {

var rec = currentRecord.get();

var itemId = rec.getCurrentSublistValue({

sublistId: ‘item’,

fieldId: ‘item’

});

var itemRecord = record.load({

type: record.Type.INVENTORY_ITEM,

id: itemId

});

// Perform checking of the item type

if (itemRecord.type === ‘inventoryitem’) {

alert(‘Item selected is an Inventory Item. You can only enter a Service Item.’);

return false;

}

}

return true;

} catch (error) {

log.debug({ title: ‘Catch – Error’, details: error.message });

return true;

}

}

return {

validateLine: itemTypeValidation

};

});

Leave a comment

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