How to set a Reference Field value in Glide Modal window in UI Action?

Sid_Takali
Kilo Patron
Kilo Patron

Hi Team,

I have created an UI Action with Glide Modal window which is taking Service Definition and Assignment Group field value. The Glide modal window is not saving field value, it is emptying the previous values as well. This is working fine expect it is not saving these two field values in form and clearing previous select values. I have created below script. Please have a look the script and let me know, if I'm missing something?

Workspace Client Script code

function onClick(g_form) {

    var fields = [{
            type: 'reference',
            name: 'service_definition',
            label: getMessage('Select Service Definition'),
            mandatory: true,
            reference: 'sn_bom_service_definition_list',
            referringTable: 'x_naab_group_inves_group_investigations_case',
            query: 'task_table=x_naab_group_inves_group_investigations_case',
            referringRecordId: g_form.getUniqueValue(),
            value: g_form.getValue('service_definition'),
            displayValue: g_form.getDisplayValue('service_definition')
        },
        {
            type: 'reference',
            name: 'assignment_group',
            label: getMessage('Select Assignment Group'),
            mandatory: true,
            reference: 'sys_user_group',
            referringTable: 'x_naab_group_inves_group_investigations_case',
            referringRecordId: g_form.getUniqueValue(),
            value: g_form.getValue('assignment_group'),
            displayValue: g_form.getDisplayValue('assignment_group')
        }
    ];
    g_modal.showFields({
        title: "Enter case transfer details",
        fields: fields,
        size: 'lg'
    }).then(function(fieldValues) {
        g_form.setValue('assignment_group', fieldValues.updatedFields[0].value);
        g_form.setValue('service_definition', fieldValues.updatedFields[1].value);
        g_form.save();
    });
}

 

1 ACCEPTED SOLUTION

Mani A
Tera Guru

@Sid_Takali 

 

can you put logs to check what's going wrong. below is modified code for debugging purpose so please try it once

 

g_modal.showFields({
title: "Enter case transfer details",
fields: fields,
size: 'lg'
}).then(function(fieldValues) {
console.log("Field Values:", fieldValues);

if (fieldValues.updatedFields && fieldValues.updatedFields.length) {
g_form.setValue('assignment_group', fieldValues.updatedFields[1].value);
g_form.setValue('service_definition', fieldValues.updatedFields[0].value);

}
});

 

and set  updatedFields[0].value to service _defination and fields[1] value to assignment..

View solution in original post

2 REPLIES 2

Mani A
Tera Guru

@Sid_Takali 

 

can you put logs to check what's going wrong. below is modified code for debugging purpose so please try it once

 

g_modal.showFields({
title: "Enter case transfer details",
fields: fields,
size: 'lg'
}).then(function(fieldValues) {
console.log("Field Values:", fieldValues);

if (fieldValues.updatedFields && fieldValues.updatedFields.length) {
g_form.setValue('assignment_group', fieldValues.updatedFields[1].value);
g_form.setValue('service_definition', fieldValues.updatedFields[0].value);

}
});

 

and set  updatedFields[0].value to service _defination and fields[1] value to assignment..

Hi @Mani A Thanks for your help mate.

But I need one more help from you, I'm trying to add a reference qualifier on Service Definition field but it is not working. Please have a look at below code and let me where I'm doing wrong?

var fields = [{
            type: 'reference',
            name: 'service_definition',
            label: getMessage('Select Service Definition'),
            mandatory: true,
            reference: 'sn_bom_service_definition_list',
            referringTable: 'x_naab_group_inves_group_investigations_case',
            query: 'task_table=x_naab_group_inves_group_investigations_case', // Added query here
            referringRecordId: g_form.getUniqueValue(),
            value: g_form.getValue('service_definition'),
            displayValue: g_form.getDisplayValue('service_definition')
        },