Name

global.CatalogLabelEvaluator

Description

Get the labels for a Catalogue Item

Script

gs.include("PrototypeServer");

var CatalogLabelEvaluator = Class.create();

CatalogLabelEvaluator.prototype = {
  initialize : function(/* GlideRecord */ gr) {
  	this.cartItem = gr;
  },

  getLabels: function() {
  	var returnArray = [];
  	var variable_set = new GlideappVariablePoolQuestionSet();
  	variable_set.setCartID(this.cartItem.sys_id);
  	variable_set.load();
  	var question_list = variable_set.getSummaryVisibleQuestions();
  	for (var i=0; i<question_list.size(); i++) {
  		var question = question_list.get(i);
  		var optionArray = [];
  		optionArray.push(question.getLabel());
  		optionArray.push(question.getDisplayValue());
  		optionArray.push(question.getSummaryMacro());
  		optionArray.push(question.getId());
  		optionArray.push(question.getType());
  		optionArray.push(question.getValue());
  		if (question.getType() == '33' && !GlideStringUtil.nil(question.getValue())) {
  			var sysAttachment = new GlideSysAttachment(question.getValue());
  			sysAttachment.exists() && optionArray.push(sysAttachment.getState());
  		}
  		returnArray.push(optionArray);
  	}
  	return returnArray;
  },

  getDisplayValue: function(question, questionType, value) {
  	return question.getDisplayValue();
  }
}

Sys ID

d4a7f2fec0a800084b45c74e00f5ae47

Offical Documentation

Official Docs: