- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-10-2022 06:53 AM
Hi Community,
I'm using a UI page on user record, the UI page has a field called user name, when the UI page is opened I want to populate the username with the current user record name. any help in script.
Thanks in advance.
Please find the attached screen shot for reference
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-14-2022 04:14 AM
now it should work
we are sending userFullName from UI action; so update as this
<g:evaluate var="jvar_name" expression="RP.getWindowProperties().get('userFullName')" />
<p>full name ${jvar_name}</p>
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-10-2022 08:38 AM
Hi,
from UI action send the record sysId
I have highlighted the changes in bold; you need to use body onload function to set the value in <g:ui_reference>
function addConsumable(){
var dialog = new GlideDialogWindow("user_consumable_dialog");
dialog.setTitle(getMessage("Add Consumables"));
dialog.setPreference("sysId", g_form.getUniqueValue());
dialog.setPreference("username",g_form.getValue('name'));
dialog.setPreference("stockroom",g_form.getValue('stockroom'));
dialog.setPreference("model",g_form.getValue('model'));
dialog.setPreference("model_category",g_form.getValue('model_category'));
dialog.setPreference("catalog_category",g_form.getValue('catalog_category'));
dialog.setPreference("installDate",g_form.getValue('installDate'));
dialog.setPreference("Consumablequantity",g_form.getValue('Consumablequantity'));
dialog.setWidth("500");
dialog.render();
}
Update UI page
HTML:
<?xml version="1.0" encoding="utf-8" ?>
<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null">
<g:ui_form>
<html>
<body onload="setDefaultValue();">
<g:evaluate var="jvar_sysId" expression="RP.getWindowProperties().get('sysId')" />
<input type="hidden" name="userSysId" id="userSysId" value="${jvar_sysId}"/>
<g:evaluate var="jvar_name" expression="RP.getWindowProperties().get('username')" />
<input type="hidden" name="userFullName" id="userFullName" value="${jvar_name}"/>
<input type="hidden" name="start_error" id="start_error" value="false" />
<input type="hidden" name="end_error" id="end_error" value="false" />
<!--<j:set var="jvar_name" value="${RP.getWindowProperties().get('user_name')}" />-->
<style>
select {
width: 270px;
margin: 5px;
height: 30px;
}
</style>
<table style="border-spacing:0 5px">
<tr>
<g:evaluate var="jvar_request" jelly="true">
var UserName = jelly.jvar_name;
var gr = new GlideRecord("sys_user");
gr.addQuery('sys_id' current_sys_id);
gr.query();
gr.next();
gr;
</g:evaluate>
<td>User name:</td>
<j:if test="${gr.sys_id !=''}">
<td><g:ui_reference name="user" id="user" completer="AJAXTableCompleter"/></td>
</j:if>
</tr>
<tr>
<td>Stockroom:</td>
<td> <g:ui_reference name="stockroom" id="stockroom" table="alm_stockroom" completer="AJAXTableCompleter" onchange="fetchModels()"/></td>
</tr>
<tr>
<td>Model:</td>
<td>
<g:ui_reference name="model" id="model" table="alm_consumable"/></td>
</tr>
<tr>
<td>Model category:</td>
<td> <g:ui_reference name="model_category" id="modelCategory" table="cmdb_model_category" query="sys_created_by!=system^name=consumable"/></td>
</tr>
<tr>
<g:evaluate jelly="true" object="true">
var rec = new GlideRecord('sys_choice');
rec.addQuery('table', 'alm_consumable');
rec.addQuery('element', 'u_catalog_category');
rec.query();
rec;
</g:evaluate>
<td>Catalog category: </td>
<td> <select name="catalog_category" id="catalogCategory">
<option value="">-- Select --</option>
<j:while test="${rec.next()}">
<option value="${rec.value}">${rec.label}</option>
</j:while>
</select></td>
</tr>
<tr>
<td>Installed date:</td>
<td> <g:ui_date_time name="installDate" id="installDate" table='alm_comsumable' field='install_date'/></td>
</tr>
<tr>
<td>Quantity:</td>
<td> <input type="text" id="quantity" name="Consumablequantity"
table="alm_consumable" /></td>
<!--<g:ui_date_time name="Quantity" id="Quantity" table='alm_comsumable' displayValue="$[quantity]"/>-->
</tr> </table>
<br/>
<tr>
<td><g:dialog_button id="cancel" title="${gs.getMessage('Cancel')}" type="${jvar_cancel_type}"
style_class="btn btn-default" onclick="return cancelConvert();" style="min-width: 5em;" >${gs.getMessage('Cancel')}</g:dialog_button>
<g:dialog_button id="submit_for_review" title="${gs.getMessage('submitting')}"
type="${jvar_cancel_type}" style_class="btn btn-primary" onclick="return cancelSubmit();"
style="min-width: 5em;"> ${gs.getMessage('Submit')}</g:dialog_button></td>
</tr>
</body>
</html>
</g:ui_form>
</j:jelly>
Client Script:
function setDefaultValue(){
gel('user').value = gel('userSysId').value;
gel('sys_display.user').value = gel('userFullName').value;
gel('userLINKreplace').style.display = "";
}
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-10-2022 11:40 AM
Hi Ankur,
Thanks for the response,
I tried the solution you provided, but the reference field was lost(please find the screenshot)
I also used the client script provided by you.
the HTML code used is
<?xml version="1.0" encoding="utf-8" ?>
<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null">
<g:ui_form>
<html>
<body onload="setDefaultValue();">
<g:evaluate var="jvar_sysId" expression="RP.getWindowProperties().get('sysId')" />
<input type="hidden" name="userSysId" id="userSysId" value="${jvar_sysId}"/>
<g:evaluate var="jvar_name" expression="RP.getWindowProperties().get('username')" />
<input type="hidden" name="userFullName" id="userFullName" value="${jvar_name}"/>
<input type="hidden" name="hold_or_submit" id="hold_or_submit" value="" />
<input type="hidden" name="start_error" id="start_error" value="false" />
<input type="hidden" name="end_error" id="end_error" value="false" />
<style>
select {
width: 270px;
margin: 5px;
height: 30px;
}
</style>
<table style="border-spacing:0 5px">
<tr>
<g:evaluate var="jvar_request" jelly="true">
var UserName = jelly.jvar_name;
var gr = new GlideRecord("sys_user");
gr.addQuery('sys_id' current_sys_id);
gr.query();
gr.next();
gr;
</g:evaluate>
<td>User name:</td>
<j:if test="${gr.sys_id !=''}">
<td><g:ui_reference name="user" id="user" completer="AJAXTableCompleter"/></td>
</j:if>
</tr>
<tr>
<td>Stockroom:</td>
<td> <g:ui_reference name="stockroom" id="stockroom" table="alm_stockroom" completer="AJAXTableCompleter" onchange="fetchModels()"/></td>
</tr>
<tr>
<td>Model:</td>
<td>
<g:ui_reference name="model" id="model" table="alm_consumable"/></td>
</tr>
<tr>
<td>Model category:</td>
<td> <g:ui_reference name="model_category" id="modelCategory" table="cmdb_model_category" query="sys_created_by!=system^name=consumable"/></td>
</tr>
<tr>
<g:evaluate jelly="true" object="true">
var rec = new GlideRecord('sys_choice');
rec.addQuery('table', 'alm_consumable');
rec.addQuery('element', 'u_catalog_category');
rec.query();
rec;
</g:evaluate>
<td>Catalog category: </td>
<td> <select name="catalog_category" id="catalogCategory">
<option value="">-- Select --</option>
<j:while test="${rec.next()}">
<option value="${rec.value}">${rec.label}</option>
</j:while>
</select></td>
</tr>
<tr>
<td>Installed date:</td>
<td> <g:ui_date_time name="installDate" id="installDate" table='alm_comsumable' field='install_date'/></td>
</tr>
<tr>
<td>Quantity:</td>
<td> <input type="text" id="quantity" name="Consumablequantity"
table="alm_consumable" /></td>
<!--<g:ui_date_time name="Quantity" id="Quantity" table='alm_comsumable' displayValue="$[quantity]"/>-->
</tr> </table>
<br/>
<tr>
<td><g:dialog_button id="cancel" title="${gs.getMessage('Cancel')}" type="${jvar_cancel_type}"
style_class="btn btn-default" onclick="return cancelConvert();" style="min-width: 5em;" >${gs.getMessage('Cancel')}</g:dialog_button>
<g:dialog_button id="submit_for_review" title="${gs.getMessage('submitting')}"
type="${jvar_cancel_type}" style_class="btn btn-primary" onclick="return cancelSubmit();"
style="min-width: 5em;"> ${gs.getMessage('Submit')}</g:dialog_button></td>
</tr>
</body>
</html>
</g:ui_form>
</j:jelly>
The Ui action code is
function addConsumable(){
var dialog = new GlideDialogWindow("user_consumable_dialog");
dialog.setTitle(getMessage("Add Consumables"));
dialog.setPreference("sysId", g_form.getUniqueValue());
dialog.setPreference("userFullName",g_form.getValue('name'));
dialog.setPreference("stockroom",g_form.getValue('stockroom'));
dialog.setPreference("model",g_form.getValue('model'));
dialog.setPreference("model_category",g_form.getValue('model_category'));
dialog.setPreference("catalog_category",g_form.getValue('catalog_category'));
dialog.setPreference("installDate",g_form.getValue('installDate'));
dialog.setPreference("Consumablequantity",g_form.getValue('Consumablequantity'));
dialog.setWidth("500");
dialog.render();
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-10-2022 10:41 PM
Hi Ankur,
Any update on this?
Thanks.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-13-2022 08:24 PM
Hi,
Similar solution has worked for me in past.
try this in HTML; no need to query sys_user table
<?xml version="1.0" encoding="utf-8" ?>
<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null">
<g:ui_form>
<html>
<body onload="setDefaultValue();">
<g:evaluate var="jvar_sysId" expression="RP.getWindowProperties().get('sysId')" />
<input type="hidden" name="userSysId" id="userSysId" value="${jvar_sysId}"/>
<g:evaluate var="jvar_name" expression="RP.getWindowProperties().get('username')" />
<input type="hidden" name="userFullName" id="userFullName" value="${jvar_name}"/>
<input type="hidden" name="start_error" id="start_error" value="false" />
<input type="hidden" name="end_error" id="end_error" value="false" />
<!--<j:set var="jvar_name" value="${RP.getWindowProperties().get('user_name')}" />-->
<style>
select {
width: 270px;
margin: 5px;
height: 30px;
}
</style>
<table style="border-spacing:0 5px">
<tr>
<td>User name:</td>
<td><g:ui_reference name="user" id="user" completer="AJAXTableCompleter"/></td>
</tr>
<tr>
<td>Stockroom:</td>
<td> <g:ui_reference name="stockroom" id="stockroom" table="alm_stockroom" completer="AJAXTableCompleter" onchange="fetchModels()"/></td>
</tr>
<tr>
<td>Model:</td>
<td>
<g:ui_reference name="model" id="model" table="alm_consumable"/></td>
</tr>
<tr>
<td>Model category:</td>
<td> <g:ui_reference name="model_category" id="modelCategory" table="cmdb_model_category" query="sys_created_by!=system^name=consumable"/></td>
</tr>
<tr>
<g:evaluate jelly="true" object="true">
var rec = new GlideRecord('sys_choice');
rec.addQuery('table', 'alm_consumable');
rec.addQuery('element', 'u_catalog_category');
rec.query();
rec;
</g:evaluate>
<td>Catalog category: </td>
<td> <select name="catalog_category" id="catalogCategory">
<option value="">-- Select --</option>
<j:while test="${rec.next()}">
<option value="${rec.value}">${rec.label}</option>
</j:while>
</select></td>
</tr>
<tr>
<td>Installed date:</td>
<td> <g:ui_date_time name="installDate" id="installDate" table='alm_comsumable' field='install_date'/></td>
</tr>
<tr>
<td>Quantity:</td>
<td> <input type="text" id="quantity" name="Consumablequantity"
table="alm_consumable" /></td>
<!--<g:ui_date_time name="Quantity" id="Quantity" table='alm_comsumable' displayValue="$[quantity]"/>-->
</tr> </table>
<br/>
<tr>
<td><g:dialog_button id="cancel" title="${gs.getMessage('Cancel')}" type="${jvar_cancel_type}"
style_class="btn btn-default" onclick="return cancelConvert();" style="min-width: 5em;" >${gs.getMessage('Cancel')}</g:dialog_button>
<g:dialog_button id="submit_for_review" title="${gs.getMessage('submitting')}"
type="${jvar_cancel_type}" style_class="btn btn-primary" onclick="return cancelSubmit();"
style="min-width: 5em;"> ${gs.getMessage('Submit')}</g:dialog_button></td>
</tr>
</body>
</html>
</g:ui_form>
</j:jelly>
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-14-2022 12:04 AM
Hi Ankur,
If I don't query the user table, data is not showing up in reference field.