DeleteRecord() Method

Mark Wood
Tera Contributor

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();
}
7 REPLIES 7

Mayur2109
Kilo Sage
Kilo Sage

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

palanikumar
Mega Sage

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();
}
Thank you,
Palani

Hello @palanikumar and @Mayur2109 deleteMultiple() not working their that is the reason I am using deleteRecord().

 

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();
}
Thank you,
Palani