Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

Handovering CI to Configuration Item

Community Alums
Not applicable

On incident form, next to caller field, I have "Show Related Devices" icon. After clicking on it, all the assets assigned to the user are showing in a list. I want the functionality enabled that if I select any asset then it should show in configuration item field. I'm unable to achieve this functionality. Can anyone please help ?

Sam05_0-1716914431668.png

 

 

 

For this I have UI Page :

 

<?xml version="1.0" encoding="utf-8" ?>

<!--j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null"> -->

<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide">

<g:evaluate var="jvar_guid" expression="gs.generateGUID(this);" />

<g:set var="table" value="${table}" />

<g:set var="view" value="${sysparm_view}" />

<g:set var="query" value="${sysparm_query}" />

<g:set var="title" value="Device List"/>

<g:if test="${table}">

<g:table tree="false" table="${table}" view="${view}" query="${query}" start="0" end="100" name="user_show_hardwares_${jvar_guid}">

<j:script>

// Add click event to each row to set the value in the parent form

document.addEventListener('DOMContentLoaded', function() {

document.querySelectorAll('tr.list_row').forEach(function(row) {

row.addEventListener('click', function() {

var sys_id = row.getAttribute('sys_id');

if (sys_id) {

window.top.g_form.setValue('cmdb_ci', sys_id);

window.top.GlideDialogWindow.get().destroy(); // Close the dialog window

}

});

});

});

</j:script>

</g:table>

</g:if>

</j:jelly>

 

 

and a Macro :

<?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:evaluate var="jvar_guid" expression="gs.generateGUID(this);" />

<j:set var="jvar_n" value="user_show_hardwares_${jvar_guid}:${ref}"/>

<g:reference_decoration id="${jvar_n}" field="${ref}"

onclick="showRelatedList12('${ref}'); "

title="${gs.getMessage('Show Related Devices')}" image="images/icons/tasks.gifx" icon="icon-hardware"/>

 

<script>

function showRelatedList12(reference) {

var s = reference.split('.');

// Get the field name which is always last

var referenceField = s[s.length - 1];

var v = g_form.getValue(reference);

var w = new GlideDialogWindow('custom_show_list');

w.setTitle('Showing devices assigned to:'+g_form.getDisplayBox(reference).value);

w.setPreference('table', 'cmdb_ci_hardware_list');

w.setPreference('sysparm_view', 'default');

w.setPreference('sysparm_query', 'assigned_to' + '=' + v);

w.render();

 

}

</script>

</j:jelly>

 

0 REPLIES 0