Why it is auto-populating sys_id for a record in a catalog item?

Krika
Kilo Contributor

Hello All,

When I'm auto-populating the 'service_offering' - Owned by field (which is a reference field) it is just populating the sys_id of the its Owned by (owned_by) record. 

In my catalog item Owned group variable type is a Single Line Text 

On my client script I have also tried getDisplayValue() which is not working for me, can anyone suggest me a solution for this?

find_real_file.png

find_real_file.png

find_real_file.png

1 ACCEPTED SOLUTION

Hitoshi Ozawa
Giga Sage
Giga Sage

Krika,

What is the type of field "owned_by" in the table "service_offering"? Can it be that's it a reference field? It's not possible to dot-walk using getReference. Convert the script to use ajax call to Script Include.

Client Script

function onChange(control, oldValue, newValue, isLoading) {
    if (isLoading || newValue == '') {
        return;
    }
    var ajax = new GlideAjax('GetGroupInfo');
    ajax.addParam('sysparm_name', 'getOwnedBy');
    ajax.addParam('sysparm_service_offering', newValue);
    ajax.getXMLAnswer(function(answer) {
        if (answer.length > 0) {
            g_form.setValue('owned_group', answer);
        }
    });
}

Script Include

var GetGroupInfo= Class.create();
GetGroupInfo.prototype = Object.extendsObject(AbstractAjaxProcessor, {
    getOwnedBy: function() {
        var sysId= this.getParameter('sysparm_service_offering');
        var grService = new GlideRecord('service_offering');  // replace with table name that contains "service_offering"
        if (grService.get(sysId)) {
            return grService.owned_by.name.toString();  // replace "name" with column name in table referenced by owned_by
        }
        return;
    },
    type: 'GetGroupInfo'
});

View solution in original post

14 REPLIES 14

Anshu_Anand_
Kilo Sage
Kilo Sage

have you tried 

g_form.setValue('owned_group',srvc.owned_by.getDisplayValue());

you can try to use logs to capture srvc.owned_by.getDisplayValue() and check what it returns

Hope its helpful

Regards,
Anshu

yes i tried this too, which not returning anything there

what does this return if you try?

alert('owned_by = '+srvc.owned_by.getDisplayValue());
Regards,
Anshu

No it is not returning anything