logo

NJP

Duplicate GlideRecord

Import · May 24, 2019 · article

A simple way to create a new gliderecord from another one.

Please, look at the number 5 if you use the autonumbering feature

function duplicateGlideRecord(tableName, sysID, fieldsToExclude) { var gr = new GlideRecord(tableName); gr.initialize(); gr.get(sysID); gr.setValue('number', new NumberManager(tableName).getNextObjNumberPadded()); if (typeof fieldsToExclude !== 'undefined') for (var i = 0; i < fieldsToExclude.length; i++) gr.setValue(fieldsToExclude[i], "NULL"); return gr;
}

You’ll find some examples here below. The first one with only two parameters (tablename and sys_id of source gliderecord)

@example
var table = 'incident';
var sysID = 'ed92e8d173d023002728660c4cf6a7bc';
var clonedGR = duplicateGlideRecord(table, sysID);
clonedGR.insert();

The second example adds an array of fields. These ones must be excluded from duplication

var table = 'incident';
var sysID = 'ed92e8d173d023002728660c4cf6a7bc';
var fieldsToExclude = ['subcategory', 'contact_type'];
var clonedGR = duplicateGlideRecord(table, sysID, fieldsToExclude);
clonedGR.insert();
View original source

https://blog.kofko.xyz/duplicate-gliderecord