- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-19-2020 08:58 AM
Hello,
I have a reference field to the user table called subject_person. I would like its value to be set based on the first_name & last_name variable values when the form is submitted (see pic below). My script does not seem to be working when I check the record I created the subject_person field is blank. Any help is appreciated.
Client script:
function onSubmit() {
var fullName = g_form.getValue('first_name')+" "+g_form.getValue('last_name');
g_form.setDisplay('subject_person',fullName);
}
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-19-2020 09:49 AM
Because you mention it's a record producer... you could use the Script field to retrieve the matching sys_user record. That's nicer then using a onSubmit Client Script.
For example in the Script field, you could do something like:
var grUser = new GlideRecord('sys_user');
grUser.addQuery('first_name', producer.first_name);
grUser.addQuery('last_name', producer.last_name);
grUser.setLimit(1);
grUser._query();
if(grUser._next()) {
current.field_you_want_to_update = grUser.getUniqueValue(); // Or if it's not a reference, a string? Then grUser.getDisplayValue();
}
Be aware this only works well if you have an exact match. If there are 2 people with the same name, this doesn't work well.
If my answer helped you in any way, please then mark it as helpful.
Kind regards,
Mark
2020 ServiceNow Developer MVP
---
Kind regards,
Mark Roethof
Independent ServiceNow Consultant
10x ServiceNow MVP
---
~444 Articles, Blogs, Videos, Podcasts, Share projects - Experiences from the field
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-19-2020 10:01 AM
You saved the day again Mark thank you!

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-19-2020 10:19 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-19-2020 10:20 AM
I don't see a Client Script here. Can you explain? The script is for the Script field of the Record Producer.
Kind regards,
Mark
2020 ServiceNow Developer MVP
---
Kind regards,
Mark Roethof
Independent ServiceNow Consultant
10x ServiceNow MVP
---
~444 Articles, Blogs, Videos, Podcasts, Share projects - Experiences from the field
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-19-2020 10:17 AM
Quick follow up: if there is no match in the sys_user table is there a way for a pop up to show saying something like "There is no sys_user profile for this user"?

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-19-2020 10:20 AM
Abort submit could be done. Though maybe nicer to check for example when opening the record already? And what should then be done if there's no matching user record? Should it not be possible to submit the record? Or should a user record be created?
Auto create a user record would maybe also not be a great thing. What if a user excists as Abel Tutel, though the candidate form excists as A. Tuter, etc..
If my answer helped you in any way, please then mark it as helpful.
Kind regards,
Mark
2020 ServiceNow Developer MVP
---
Kind regards,
Mark Roethof
Independent ServiceNow Consultant
10x ServiceNow MVP
---
~444 Articles, Blogs, Videos, Podcasts, Share projects - Experiences from the field