Scriptを使用してDatabase viewに指定されているフィールドのラベル名を取得したいです。

Yuya2009
Tera Contributor

いつもお世話になっております。

GlideRecord('Database view name')を使用すると、Database viewのリスト画面にレコードが存在すれば、そのレコードのフィールドラベルを取得することが出来ますが、レコードが存在しない場合はフィールドラベルを取得することができないので困っています。
GlideReocrdを使用して、View Fieldに指定されたフィールドのカラムラベル名をView tableの設定から取得することは出来ますでしょうか?

どんな些細な事でもいいのでご教授頂けると幸いです。

宜しくお願い致します。

1 件の受理された解決策

iwai
Giga Sage

レコードがなくてもフィールドラベルは取得可能です、initialize() をするとQueryしなくてもTable情報を取得できます。以下のScriptで言語を固定したい場合は、setPreference("user.language", 'ja'); を使ってみてください。

var gr = new GlideRecord('incident');
gr.initialize();
var fields = gr.getFields();
var nameData = [];
var labelData = [];

var user = gs.getUser();
//var lang = user.getPreference("user.language");
//user.setPreference("user.language", 'ja');

for (var i = 0; i < fields.size(); i++) {
  var glideElement = fields.get(i);
  nameData.push('' + glideElement.getName());
  labelData.push('' + glideElement.getLabel());
}
gs.info(JSON.stringify(labelData,null,2));
//user.setPreference("user.language", lang);

 

元の投稿で解決策を見る

1件の返信1

iwai
Giga Sage

レコードがなくてもフィールドラベルは取得可能です、initialize() をするとQueryしなくてもTable情報を取得できます。以下のScriptで言語を固定したい場合は、setPreference("user.language", 'ja'); を使ってみてください。

var gr = new GlideRecord('incident');
gr.initialize();
var fields = gr.getFields();
var nameData = [];
var labelData = [];

var user = gs.getUser();
//var lang = user.getPreference("user.language");
//user.setPreference("user.language", 'ja');

for (var i = 0; i < fields.size(); i++) {
  var glideElement = fields.get(i);
  nameData.push('' + glideElement.getName());
  labelData.push('' + glideElement.getLabel());
}
gs.info(JSON.stringify(labelData,null,2));
//user.setPreference("user.language", lang);