Мне нужно получить значение для имени класса в приведенном ниже случае. Я получаю пустое значение. Сообщите мне, что мне не хватает. Мне нужно найти все отдельные классы для каждого типа.

var ga_type = new GlideAggregate('cmdb_rel_ci');
ga_type.groupBy('type');
ga_type.query();

if(ga_type.next()){
    gs.log("Type : " + ga_type.type.getValue());

    var ga_parent = new GlideAggregate('cmdb_rel_ci');
    ga_parent.addQuery('type.sys_id', ga_type.type.getValue());
    ga_parent.groupBy('parent.sys_class_name');
    ga_parent.query();

    var parent = [];
    while(ga_parent.next()){
        var p = {};
        p.parentClassName = ga_parent.parent.sys_class_name.toString();
        p.parentName = ga_parent.parent.name.toString();
        gs.log("ParentClassName : " + p.parentClassName + " Parent Name : " + p.parentName);
        parent.push(p);
    }
}
0
Done With Fun 26 Фев 2018 в 15:24

1 ответ

Лучший ответ

Как говорит Тим, сложно понять, о чем здесь спрашивают, но похоже, что вы пытаетесь получить список всех типов отношений в cmdb_rel_ci. Если это так, это должно сработать:

var count = new GlideAggregate('cmdb_rel_ci');
count.addAggregate('COUNT', 'type');
count.query();

var listOfParents = [];

while(count.next()){
    var parent = count.type;
    var parentCount = count.getAggregate('COUNT','type');
    listOfParents.push(parent); //or parent.getDisplayValue()
    gs.log(parent.getDisplayValue() + ": " + parentCount);
}

По сути, это всего лишь третий пример из документации: GlideAggregate

0
DrRelling 13 Мар 2018 в 20:44