- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-15-2024 02:49 PM
Hello All,
i want to display only the selected users incident number in the page .... But its not showing any value.
What mistake have i done here, please help
Html code:-
<sn-record-picker field="data.user" table="data.user.table"
default-query="data.user.defaultQuery" display-fields="data.user.displayFields" value-field="data.user.valueField"
search-fields="data.user.searchFields" ></sn-record-picker>
<button ng-click="sendData(data.user.value)" value='sd'>sd</button>
<ul>
<li ng-repeat="item in data.items">
<div ng-repeat="field in item">
{{field.name}} : {{field.value}}
</div>
</li>
</ul>
Client Side :
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-17-2024 08:58 AM - edited 03-17-2024 09:00 AM
Hi @David Cross ,
Use input objects & c.server.update in client side. Thats missing in your code.
Certainly! Here's the complete code with both client-side and server-side scripts:
// Client-Side Controller
api.controller = function($scope, spUtil) {
$scope.sendData = function(ss) {
input.data.send = ss;
// Trigger server-side update
c.server.update().then(function(response) {
// Handle server response if needed
});
};
};
HTML Template:
<!-- HTML code -->
<sn-record-picker field="data.user" table="data.user.table"
default-query="data.user.defaultQuery" display-fields="data.user.displayFields"
value-field="data.user.valueField" search-fields="data.user.searchFields">
</sn-record-picker>
<button ng-click="sendData(data.user.value)">Send Data</button>
<ul>
<li ng-repeat="item in data.items">
<div ng-repeat="(key, value) in item">
{{key}}: {{value}}
</div>
</li>
</ul>
Server-Side Script:
// Server-Side Script
(function() {
// Ensure data object exists
data.user = data.user || {};
data.items = [];
// Check if input.data.send exists
if (input && input.data && input.data.send) {
var inc = new GlideRecord('incident');
inc.addQuery('active', true);
inc.addQuery('caller_id', input.data.send); // Change 'sys_id' to 'caller_id' if you're querying by user ID
inc.query();
while (inc.next()) {
var item = {};
// Populate item with desired fields
item.number = inc.number.toString();
item.caller_id = inc.caller_id.toString();
item.sys_created = inc.sys_created.toString();
item.state = inc.state.toString();
data.items.push(item);
}
}
})();
Adjust the field names accordingly. This setup allows you to select a user using the record picker, send the selected user's value to the server-side script upon button click, and then populate the data.items array with incident details related to the selected user.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-15-2024 03:26 PM
I believe in client controller it should be c.data.send
Client Side :
Please mark this response as correct or helpful if it assisted you with your question.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-17-2024 08:58 AM - edited 03-17-2024 09:00 AM
Hi @David Cross ,
Use input objects & c.server.update in client side. Thats missing in your code.
Certainly! Here's the complete code with both client-side and server-side scripts:
// Client-Side Controller
api.controller = function($scope, spUtil) {
$scope.sendData = function(ss) {
input.data.send = ss;
// Trigger server-side update
c.server.update().then(function(response) {
// Handle server response if needed
});
};
};
HTML Template:
<!-- HTML code -->
<sn-record-picker field="data.user" table="data.user.table"
default-query="data.user.defaultQuery" display-fields="data.user.displayFields"
value-field="data.user.valueField" search-fields="data.user.searchFields">
</sn-record-picker>
<button ng-click="sendData(data.user.value)">Send Data</button>
<ul>
<li ng-repeat="item in data.items">
<div ng-repeat="(key, value) in item">
{{key}}: {{value}}
</div>
</li>
</ul>
Server-Side Script:
// Server-Side Script
(function() {
// Ensure data object exists
data.user = data.user || {};
data.items = [];
// Check if input.data.send exists
if (input && input.data && input.data.send) {
var inc = new GlideRecord('incident');
inc.addQuery('active', true);
inc.addQuery('caller_id', input.data.send); // Change 'sys_id' to 'caller_id' if you're querying by user ID
inc.query();
while (inc.next()) {
var item = {};
// Populate item with desired fields
item.number = inc.number.toString();
item.caller_id = inc.caller_id.toString();
item.sys_created = inc.sys_created.toString();
item.state = inc.state.toString();
data.items.push(item);
}
}
})();
Adjust the field names accordingly. This setup allows you to select a user using the record picker, send the selected user's value to the server-side script upon button click, and then populate the data.items array with incident details related to the selected user.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-17-2024 12:04 PM
Thank You Sohithanjan