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

I tried this but same issue. reference field displaying 'no records found'

Can you share your script again.

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);
        });
    });
}

is your field "main_owner" present on the change request table? If not, then you have to use field name available on the change request table, it can be OOB field or custom field.

 

https://www.servicenow.com/docs/bundle/yokohama-api-reference/page/app-store/dev_portal/API_referenc...