Problem when trying to use GlideQuery instead of GlideRecord to perform several updates

Joaquin Campos
Mega Sage

Dear Community,

 

Could somebody help me to "translate" following code example using GlideQuery instead of GlideRecord? All examples that I've seen about GlideQuery are updating one single record, not several ones in a loop.

var gr = new GlideRecord('incident');
gr.addActiveQuery();
gr.addQuery('assigned_to', current.sys_id);
gr.query();
while (gr.next()) {
   gr.assigned_to = gr.assignment_group.manager;
   gr.update();
}

I've tried with this but it doesn't work:

 

var gq_incident = new GlideQuery('incident')
.where('active', true)
.where('assigned_to', current.sys_id)
.select('assigned_to', 'assignment_group.manager')
.forEach(function(record) {
      record.assigned_to = record.assignment_group.manager;
      record.update();
});

Thank you very much in advance!

 

Joaquín

1 REPLY 1

Joaquin Campos
Mega Sage

Finally I've been able to solve it with this:

 

var gq_incident = new GlideQuery('incident')
            .where('active', true)
            .where('assigned_to', current.sys_id)
            .select('assigned_to', 'assignment_group.manager', 'sys_id')
            .forEach(function(record) {
                var assignee = record.assignment_group.manager;
                new GlideQuery('incident')
                    .where('sys_id', record.sys_id)
                    .update({
                        assigned_to: assignee
                    });
            });

Not sure if anyone has a better or more simple idea!