Reference field on ui page called via UI action on workspace is not displaying results

rambo1
Tera Guru

HI Team,

I’ve created a UI Page that includes a reference field pointing to the User (sys_user) table, and it is being triggered via a UI Action on the Change form. The functionality works as expected in the standard platform view.

However, when accessed from Service Operations Workspace, the reference field does not return any user results.

below is the code used in UI action (workspace client script) for workspace :

{
        type: 'reference',
            name: 'owner',
            label: getMessage('Owner'),
            reference: 'sys_user',
            reference_label: 'user_name',
            reference_query: true,
            mandatory: true,
            referringTable: g_form.getTableName(),
            referringRecordId: g_form.getUniqueValue()
        },
13 REPLIES 13

@rambo1 

since it's OOTB change_request, should the field name not be u_main_owner?

Also is that field present in workspace view?

share the field config photo for that

It worked for me for Caller Field

AnkurBawiskar_0-1753447705889.pngAnkurBawiskar_1-1753447719638.png

I even created custom field referring to sys_user and kept that in Service Operations workspace view and it worked fine

Field name - u_main_owner 

AnkurBawiskar_3-1753448809767.png

Output

 

AnkurBawiskar_2-1753448784861.png

 

If my response helped please mark it correct and close the thread so that it benefits future readers.

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

There is no field on table , I am creating main_owner on ui page and calling it via ui action. The value in this field will be used in other logics via script include.

There is no field called owner or main owner on change request.

this is the full code , none of the fields are on change request table , for normal ui action I created a ui page and on them I have created these, but for workspace I am using below code:

function onClick(g_form) {
    var fields = [{
            type: 'choice',
            name: 'type',
            label: getMessage('Type'),
            value: '', // No pre-selection
            choices: [{
                    displayValue: '-- Select --',
                    value: ''
                }, {
                    displayValue: 'WorkBench',
                    value: 'Workbench'
                },
                {
                    displayValue: 'Customizing',
                    value: 'Customizing'
                }
            ],
            mandatory: true // Make radio mandatory
        },
        {
            type: 'choice',
            name: 'development_system',
            label: getMessage('Development System'),
            value: '',
            choices: [{
                    displayValue: '-- Select --',
                    value: ''
                }, {
                    displayValue: 'tool',
                    value: 'tool'
                },
                {
                    displayValue: 'crude',
                    value: 'crude'
                }
            ],
            mandatory: true
        },
        {
            type: 'textarea',
            name: 'description',
            label: getMessage('Description'),
            mandatory: true,
            placeholder: 'Enter description in less than 60 chars'
        },
 
{
        type: 'reference',
        name: 'main_owner',
        label: getMessage('Main Owner'),
        reference: 'sys_user',
        reference_label: 'user_name',
        reference_query: true,
        mandatory: true,
        referringTable: g_form.getTableName(),
        referringRecordId: g_form.getUniqueValue(),
        value: g_form.getValue('main_owner'),
       // displayValue: g_form.getDisplayValue('caller_id')
    },
{
            type: 'textarea',
            name: 'task_owner',
            label: getMessage('Subtask Owners'),
            mandatory: false,
            placeholder: 'Enter the file number of the user (comma seperated)'
        }
   
    ];
 
    g_modal.showFields({
        title: "Create Transport Request",
        fields: fields,
        size: 'lg'
    }).then(function(fieldValues) {
        // Extract values
        var typeField = fieldValues.updatedFields.find(f => f.name === 'type').value;
        var devSystemField = fieldValues.updatedFields.find(f => f.name === 'development_system').value;
        var descField = fieldValues.updatedFields.find(f => f.name === 'description').value;
        var userRef = fieldValues.updatedFields.find(f => f.name === 'main_owner').value;
        var optionalField = fieldValues.updatedFields.find(f => f.name === 'task_owner').value;
 
        var change_number = g_form.getValue('number');
        var ga = new GlideAjax('itsm_request');
        ga.addParam('sysparm_name', 'postchangeTRrequest');
        ga.addParam('sysparm_radioField', typeField);
        ga.addParam('sysparm_listField', devSystemField);
        ga.addParam('sysparm_descField', descField);
        ga.addParam('sysparm_userRef', userRef);
        ga.addParam('sysparm_optionalField', optionalField);
        ga.addParam('sysparm_change', change_number);
 
        ga.getXMLAnswer(function(response) {
            if (!response) {
                // g_form.addInfoMessage('This did not work');
                return;
            }
            g_form.setValue('comments', response);
 
            g_form.addInfoMessage('' + response);
        });
 
      
    });
}

@rambo1 

As already informed there should be a field on form with that name which refers sys_user, then only it will work.

If my response helped please mark it correct and close the thread so that it benefits future readers.

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

Pranesh072
Mega Sage
Mega Sage

Use the same field name in the onclick function. 

 

Below code is written for caller_id field

 

function onClick(g_form) {
    var fields = [{
        type: 'reference',
        name: 'caller_id',
        label: getMessage('Owner'),
        reference: 'sys_user',
        reference_label: 'user_name',
        reference_query: true,
        mandatory: true,
        referringTable: g_form.getTableName(),
        referringRecordId: g_form.getUniqueValue(),
        value: g_form.getValue('caller_id'),
        displayValue: g_form.getDisplayValue('caller_id')
    }];

    g_modal.showFields({
        title: "Request",
        fields: fields,
        size: 'lg'
    }).then(function(fieldValues) {
        // Extract values
        var userRef = fieldValues.updatedFields.find(f => f.name === 'caller_id').value;
        var ga = new GlideAjax('it_request');
        ga.addParam('sysparm_name', 'postchangeTRrequest');
        ga.addParam('sysparm_userRef', userRef);

        ga.getXMLAnswer(function(response) {
            if (!response) {
                return;
            }
            g_form.setValue('comments', response);
            g_form.addInfoMessage('' + response);
        });
    });
}