2017-07-09 2 views
0

レポートにレコードを表示できません。sys_id配列は、レポートのレコードを表示しないものです

レポートソース:グループ承認(sysapproval_group)テーブル 条件:システムID - javascript:new GetMyGroupApprovals()。getSysIds();

スクリプトを含める:MyGroupApproval 注:アクティブがチェックされ、づけし、すべてのアプリケーションがオフ

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

呼び出し可能&クライアントのスコアで親切に私は、スクリプトのアプローチでは達成しなければならないことに注意してください。私は私の報告書に記録を得ることができません。

答えて

1

この行はおそらく予期しない動作の原因となっている。 sysIdArray.push(ga.sys_id);

ga.sys_idはGlideRecordにおける反復毎に変化GlideElementオブジェクトを返し、そうsysIdArrayの内容は、単にのために、同じオブジェクトのインスタンスになります結果セットの各行が、値はセット内の最後の行になります。

あなたは、次のいずれかの方法を使用して配列に文字列をプッシュすることを確認する必要があります。

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

この応答はまさに正しいであり、ここではこの問題が発生し、何がそれを引き起こした理由についての記事です。 https://snprotips.com/blog/2017/4/9/always-use-getters-and-setters –

関連する問題