javascript - 修复脚本仅更新一条记录

标签 javascript servicenow

我现在对 Javascript 和 Service 还很陌生,所以请耐心等待。我正在创建一个修复脚本来填充事件任务上的事件违规时间标签。它将显示与父事件相同的 SLA。我的下面的脚本返回应更新的正确记录数。然而,当我去更新第二个GlideRecord中的记录时,它只更新了一条记录(应该是125条左右)。我出于测试目的对代码的更新部分进行了评论。有什么建议么?谢谢

var grSLA = new GlideRecord('u_incident_task'); 
grSLA.addEncodedQuery('u_incident_breach_timeISEMPTY^parentISNOTEMPTY^stateIN1,2,4'); 
grSLA.query();  

var count=0;
gs.info("{0} of Itasks found to update", grSLA.getRowCount());

while (grSLA.next())
{   
    var ipar = grSLA.parent.sys_id;
} 
gs.print(ipar);

var grName = new GlideRecord('task_sla');
grName.addQuery('task', ipar);   
grName.addQuery('stage', 'in_progress');
grName.query();

while (grName.next()) 
{
    var bTime = grName.planned_end_time.getDisplayValue();
    grSLA.u_incident_breach_time=bTime; //sets the Incident Breach Time on the iTask

    //grSLA.update();
    count++;
}

最佳答案

我相信您需要将 task_sla 循环移至 u_incident_task 循环内。

它仅更新最后一条记录,因为 ipar 是循环中的最后一条记录。

var grSLA = new GlideRecord('u_incident_task'); 
grSLA.addEncodedQuery('u_incident_breach_timeISEMPTY^parentISNOTEMPTY^stateIN1,2,4'); 
grSLA.query();  

var count=0;
gs.info("{0} of Itasks found to update", grSLA.getRowCount());

while (grSLA.next())
{   
    var ipar = grSLA.parent.sys_id;
    gs.print(ipar);

    var grName = new GlideRecord('task_sla');
    grName.addQuery('task', ipar);   
    grName.addQuery('stage', 'in_progress');
    grName.query();

    while (grName.next()) 
    {
        var bTime = grName.planned_end_time.getDisplayValue();
        grSLA.u_incident_breach_time=bTime; //sets the Incident Breach Time on the iTask

        grSLA.update();
        count++;
    }
}

关于javascript - 修复脚本仅更新一条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45619586/

相关文章:

javascript - jQuery(文档).在 ('focus' 上)?

javascript - 生成地址所有组合的有效方法 - Javascript

html - 是否可以设置 iFrame 的样式

docker - ServiceNow 与 C# 和 dotnet 核心应用程序集成

database - ServiceNow - 如何编写从 2 个表中检索值的选择查询

javascript - app.post 不工作! "Cannot GET/up"

javascript - 删除数组中所有重复的值,并保留 Javascript 中不重复的值

javascript - Electron Packager - 使用相对路径

javascript - 在 JSON 源数据中使用 AngularJS 表达式

java - 具有通用类型的 WebFlux WebClient