sys_id 数组是我的报告中未显示记录的数组之一

sys_id arrays to is one of not displaying records on my report

我无法在我的报告中显示记录。

报告来源:Group Approval(sysapproval_group) table Condition:Sys Id - 是其中之一 - javascript: new GetMyGroupApprovals().getSysIds();

脚本包括:MyGroupApproval 注意:勾选了 Active,勾选了 Accesible 是所有应用程序分数和 Client callable 未勾选

var GetMyGroupApprovals = Class.create();
GetMyGroupApprovals.prototype = {
    initialize: function() {
    }, 
 getSysIds : function getMyGroupMembers(){  
  var ga = new GlideRecord('sysapproval_group');
  ga.addQuery('parent.sys_class_name', '=', 'change_request');  
  ga.query();
  gs.log("TotalRecords1 Before:: " + ga.getRowCount());
  var sysIdArray = [];
   while(ga.next()){     
     sysIdArray.push(ga.sys_id);   
   }  
  return sysIdArray;
  },
 
    type: 'GetMyGroupApprovals'
};

请注意,我必须使用脚本方法来实现。我无法在我的报告中获得记录。

此行可能导致意外行为: sysIdArray.push(ga.sys_id);

ga.sys_id returns 一个 GlideElement 对象,它随着 GlideRecord 中的每次迭代而改变,所以 sysIdArray 的内容将只是一个实例结果集中的每一行都使用相同的对象,但值只是结果集中的最后一行。

您需要确保使用以下方法之一将字符串推送到数组:

sysIdArray.push(ga.sys_id+''); // implicitly call toString 
sysIdArray.push(ga.getValue('sys_id')); // return string value

快速建议,您也可以使用以下方法获得 sys_ids: sysIdArray.push(ga.getUniqueValue());