DeleteRecord() Method
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-25-2023 02:10 AM
Hello Experts,
I have written the following script in a UI action to delete all closed-state events. While the code is working as expected, it only deletes 50 records when I click on the UI action button. I want to delete all records whose state is "closed." Thank you.
function cleanup() {
var gm = new GlideModal("glide_confirm_basic", true, 600);
gm.setTitle("Confirmation");
gm.setPreference("title", "Are you sure you want to delete all closed events?");
gm.setPreference("onPromptComplete", function() {
var gr = new GlideRecord('u_ma_frm_event');
gr.addQuery('u_ma_fld_state', 'closed');
// gr.setLimit(2);
gr.query();
//gr.setWorkflow(false);
var deletedCount = 0;
while (gr.next()) {
gr.deleteRecord();
setTimeout(function() {
location.reload(true);
}, 10000);
deletedCount++;
}
if (deletedCount > 0) {
// g_list.refresh();
alert(deletedCount + " event deleted successfully.");
//g_list.refresh();
//action.setRedirectURL(current);
// window.location.reload(true);
// g_form.submit();
// var w = top.gsft_main || top;
//w.location.reload();
//this.window.location.reload();
// location.reload();
//contentWindow.location.reload(true);
// Refresh the page
} else {
alert("No closed event found or could not be deleted.");
}
});
gm.setPreference("onPromptCancel", function() {
alert("You clicked on 'Cancel'");
});
gm.render();
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-25-2023 02:18 AM
Hi @Mark Wood ,
Try gr.deleteMultiple(); in place of gr.deleteRecord();
Please check and Mark Helpful and Correct if it really helps you.
Regards,
Mayur Shardul

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-25-2023 02:24 AM
Hi,
Try deleteMultiple instead of deleteRecord. You can try the below script
function cleanup() {
var gm = new GlideModal("glide_confirm_basic", true, 600);
gm.setTitle("Confirmation");
gm.setPreference("title", "Are you sure you want to delete all closed events?");
gm.setPreference("onPromptComplete", function() {
var gr = new GlideRecord('u_ma_frm_event');
gr.addQuery('u_ma_fld_state', 'closed');
gr.query();
var deletedCount = gr.getRowCount();
gr.deleteMultiple();
if(deletedCount > 0) {
setTimeout(function() {
location.reload(true);
}, 10000);
}
if (deletedCount > 0) {
alert(deletedCount + " event deleted successfully.");
} else {
alert("No closed event found or could not be deleted.");
}
});
gm.setPreference("onPromptCancel", function() {
alert("You clicked on 'Cancel'");
});
gm.render();
}
Palani
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-25-2023 03:08 AM
Hello @palanikumar and @Mayur2109 deleteMultiple() not working their that is the reason I am using deleteRecord().

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-25-2023 03:15 AM
Try without setTimeout and let me know whether it works
function cleanup() {
var gm = new GlideModal("glide_confirm_basic", true, 600);
gm.setTitle("Confirmation");
gm.setPreference("title", "Are you sure you want to delete all closed events?");
gm.setPreference("onPromptComplete", function() {
var gr = new GlideRecord('u_ma_frm_event');
gr.addQuery('u_ma_fld_state', 'closed');
gr.query();
var deletedCount = 0;
while (gr.next()) {
gr.deleteRecord();
/*setTimeout(function() {
location.reload(true);
}, 10000);*/
deletedCount++;
}
if (deletedCount > 0) {
alert(deletedCount + " event deleted successfully.");
} else {
alert("No closed event found or could not be deleted.");
}
});
gm.setPreference("onPromptCancel", function() {
alert("You clicked on 'Cancel'");
});
gm.render();
}
Palani