I want show message on load of from

Naresh43
Tera Contributor

Hello,

I have to show some field message on the form when loaded but in that it should get the value of 'program manger' and 'backup program manager' fields value I mean what it is having so, I have written on lead clent script in 'demand' table like g_form.showFieldMsg('checkbox field value','this field is to be ticked by person A and person B ',"info");

Instead of A and B it should pick the values in those 'program manager' and 'backup program manager' those are in 'program' table 

 

Thanks in advance ...

1 ACCEPTED SOLUTION

Hmm, understood the issue, there is limitation of using getReference method i.e. you can only access data up to one dot only.

e.g. grProgram.program_manager this works but when you use grProgram.program_manager.getDisplaValue(), it is going for second dot, that is you are trying to access another record data which actually does not exist on client side.

In this case you would need to use Display BR or GlideAjax.

Please use below Display BR and client script to achieve your goal.

Business Rule :

find_real_file.png

 

BR script :

find_real_file.png 

On load client script :

find_real_file.png

BR script for you to copy :

g_scratchpad.program_manager=current.primary_program.program_manager.getDisplayValue();
	g_scratchpad.backup_program_manager=current.primary_program.u_backup_program_manager.getDisplayValue();

Client script for you to copy:

function onLoad() {

    if (g_scratchpad.program_manager == "") {
        g_form.showFieldMsg('u_program_manager', 'This field is to be ticked by person ' + g_scratchpad.backup_program_manager);
    } else if (g_scratchpad.backup_program_manager == "") {
        g_form.showFieldMsg('u_program_manager', 'This field is to be ticked by person ' + g_scratchpad.program_manager);
    } else {
        g_form.showFieldMsg('u_program_manager', 'This field is to be ticked by person ' + g_scratchpad.program_manager +
            '\n ' + g_scratchpad.backup_program_manager);
    }

}

I haven't tested it practically but I am sure this would work, change field names properly if required.

Please mark this as Correct or Helpful if it helps.

Thanks and Regards,
Abhijit
Community Rising Star 2022

By marking my response as correct or helpful, you contribute to helping future readers with similar issues.
Regards,
Abhijit
ServiceNow MVP

View solution in original post

13 REPLIES 13

Voona Rohila
Kilo Patron
Kilo Patron

Hi Naresh

Are you storing the refernce of program record in any field?


Mark it helpful if this helps you to understand. Accept solution if this give you the answer you're looking for
Kind Regards,
Rohila V
2022-25 ServiceNow Community MVP

Hello Rohila, Yes in demand table we have program field which is referring to program table

Solution provided by Abhijith works, Make sure you add an if condition for program value is not empty

function onLoad() {
    //Type appropriate comment here, and begin script below
    if (g_form.getValue('progran_field_name') !='')
        var grProgram = g_form.getReference('program_field_name', showErrorMessage);

    function showErrorMessage(grProgram) { //reference is passed into callback as first arguments

        g_form.showFieldMsg('checkbox field value', 'this field is to be ticked by person' + grProgram.program_manager_field_name + 'and person' + grProgram.backup_program_manager_field_name);

    }
}

Mark it helpful if this helps you to understand. Accept solution if this give you the answer you're looking for
Kind Regards,
Rohila V
2022-25 ServiceNow Community MVP

Hello Rohila, If I use this script I am getting the sysids but I need value in that fields even i used getdisplayvalue and get value also but it's not working ... Can you please help me on this