Name

global.RelatedListCIItemCandidateFilter

Description

Implements global.RelatedListItemCandidateFilter

Script

var RelatedListCIItemCandidateFilter = Class.create();
RelatedListCIItemCandidateFilter.prototype = {
  initialize: function(tableName, parentFieldName, parentRecordSysId, referencedFieldName) {
      this.tableName = tableName;
      this.parentFieldName = parentFieldName;
      this.parentRecordSysId = parentRecordSysId;
      this.referencedFieldName = referencedFieldName;
  },

  getFilterQuery: function() {
      var selectedRecord = new GlideRecord(this.tableName);
      selectedRecord.addQuery(this.parentFieldName, this.parentRecordSysId);
      selectedRecord.query();
      var result = [];
      var query = "";
      while (selectedRecord.next()) {
          result.push(selectedRecord.getValue(this.referencedFieldName));
      }
      if (result.length)
          query = "sys_idNOT IN" + result.join(",");
      var configItemFilterQuery = new AssociateCIToTask().getQueryFilter(this.parentRecordSysId, this.tableName);
      if (configItemFilterQuery)
          query = query + '^' + configItemFilterQuery;
      return query;
  },

  handles: function(thing) {
      return thing == "CMDB_CI_QUERY_FILTER";
  },

  type: 'RelatedListCIItemCandidateFilter'
};

Sys ID

d5343709538210107229ddeeff7b12e3

Offical Documentation

Official Docs: