Welcome to Community Week 2025! Join us to learn, connect, and be recognized as we celebrate the spirit of Community and the power of AI. Get the details  

How to pass Multiple SN Record picker values to update a single record

Reddy
Kilo Sage

Hello All,

 

image

 

I'm able to update the single SN record picker value to the asset record but I want to update the New Department and New service center values at once on click submit button.

 

HTML:

<div  class="col-md-10 center-div">


<form class="form-horizontal">
<div>
  <table class="table" class="table table-striped" class="table table-bordered border-primary" >
  <thead style="background-color: #6c7ae0;color: white;line-height: 30px;">
     
    <tr >
    <!--  <th>Picture</th> -->
    <th>Asset Tag</th>
   <th>Department</th>
    <th>Assigned to</th> 
    <th>Service Center</th>
    <th>Mobile Number</th>
    <th>New Department</th>
      <th>New Service Center</th>
       <th>Action</th>
       
    </tr>
  </thead>
  <tbody>
    <tr ng-repeat="catalogItemValue in data.incidents track by $index">
     <td><a href="alm_hardware.do?sys_id={{catalogItemValue.sys_id}}" target = '_blank' >{{catalogItemValue.assettag}}</a></td>
      <td><a>{{catalogItemValue.department}}</a></td>
         <td><a>{{catalogItemValue.assignedto}}</a></td>
      <td>{{catalogItemValue.servicecenter}}</td>
 <td><a>{{catalogItemValue.mobileno}}</a></td>
            <td>
               
        <span class="fa fa-asterisk mandatory" ng-class="{'mandatory-filled': field.mandatory_filled()}" style="padding-right: .25em" aria-label="Mandatory " aria-hidden="false"></span>
             <sn-record-picker 
                             field="department"  
                             table="'cmn_department'" 
                             placeholder="${Select a new department}" 
                             display-field="'name'" 
                             value-field="sys_id" 
                             search-fields="'name'" 
                             >
             
        </sn-record-picker>
           <!--    <sn-record-picker field="department"   table="'cmn_department'" display-field="'name'" value-field="'sys_id'" search-fields="'name'" page-size="100" ></sn-record-picker> -->

      </td>
               <input name="myInputModel" class="form-control" ng-model="c.data.reason" type="hidden" />
       <td>
            <span class="fa fa-asterisk mandatory" ng-class="{'mandatory-filled': field.mandatory_filled()}" style="padding-right: .25em" aria-label="Mandatory " aria-hidden="false"></span>
     <sn-record-picker 
                        field="u_name" 
                        table="'u_service_centers'" 
                        placeholder="${Select a new service center}" 
                        display-field="'u_name'" value-field="'sys_id'" 
                        search-fields="'u_name'" 
                         >
        </sn-record-picker>  
         <!--  <sn-record-picker field="serviceCenter" table="'u_service_centers'" display-field="'u_name'" value-field="'sys_id'" search-fields="'name'" page-size="100" ></sn-record-picker> -->
               
      </td>
      
             
               <input name="myInputModel2" class="form-control" ng-model="c.data.servicecenter" type="hidden" />
  <td> 
    
    <button type="button" class="btn btn-primary"  ng-click="updatePrice(catalogItemValue.sys_id,myInputModel,myInputModel2)" >SUBMIT</button>

</tr>
  </tbody>
</table>
</form>
<!--
<script>
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">Put whatever text you want here</h4>
</div>
<div class="panel-body wrapper-xl">
Thank you {{c.data.name}}, a ticket has been created on your behalf.<p>
<b><font size='4'>You are number {{c.data.count}} in the queue.</font size></b><p>
You will now be redirected to the Service Portal Home page.
</div>
</div>
</div>
</script>
-->
</div>
  

CLIENT:

function($scope, spUtil) {
var c = this;
    
$scope.$on('record.updated', function(name, data) {
spUtil.update($scope);
});
var department = '';
$scope.$on("field.change", function(evt, parms) {
confirm(parms.field.name + ' parms.newValue ' + parms.newValue + ' parms.displayValue ' + parms.displayValue);
//if (parms.field.name == 'reason_picker'){
    department = parms.displayValue;
c.data.reason = parms.newValue;
  c.server.update().then(function(response) {         

               spUtil.update($scope);

       })
//}

});
    $scope.$on('record.updated', function(name, data) {
spUtil.update($scope);
});
    var servicecenter = '';
$scope.$on("field.change", function(evt, parms) {
confirm(parms.field.name + ' parms.newValue ' + parms.newValue + ' parms.displayValue ' + parms.displayValue);
//if (parms.field.name == 'reason_picker'){
    servicecenter = parms.displayValue;
c.data.servicecenter = parms.newValue;
  c.server.update().then(function(response) {         

               spUtil.update($scope);

       })
//}

});
    
  var c = this;

    $scope.updatePrice = function(newPrice, catItemName, sysiD, value,index,priceValue,OldPrice) {
spUtil.addInfoMessage("Record has been Updated Successfully!");
        //alert('Catalog Item: ' + catItemName+'`s price has been changed from $'+OldPrice + " to $"+ priceValue );
        c.data.selected = $scope.selection;
        c.data.newPrice = newPrice;
        c.data.sysID = sysiD
        c.data.value = value;
        c.data.index = index;
        c.server.update(c.data).then(function() {});
        spUtil.update($scope);
    }

    $scope.data.selection = [];
    $scope.selectedList = function(y) {
        alert(y);
    }

}

SERVER:

(function() {
/* populate the 'data' object */
/* e.g., data.table = $sp.getValue('table'); */
var grlogged = gs.getUser().getDepartmentID();
gs.log('dl Mobile input evt ' + input.reason);
data.incidents = [];
var gr = new GlideRecord('alm_hardware');
//gr.orderBy('category');
//gr.addActiveQuery();
gr.addEncodedQuery("^u_device_type=Cell Phone");
gr.addQuery('department', grlogged);
gr.query();
var grcount = gr.getRowCount();
while (gr.next()) {
var catalogItemValue = {};
catalogItemValue.assettag = gr.getDisplayValue('asset_tag');
catalogItemValue.department = gr.getDisplayValue('department');
catalogItemValue.assignedto = gr.getDisplayValue('assigned_to');
catalogItemValue.servicecenter = gr.getDisplayValue('u_service_center');
catalogItemValue.mobileno = gr.getDisplayValue('u_mobile');
catalogItemValue.sys_id = gr.getUniqueValue();
data.incidents.push(catalogItemValue);
}

if(input.newPrice){
//gs.log('input.myInputModel'+input.myInputModel + ' value returns '+input.myInputModel[input.index]);
    //var priceEntered = input.myInputModel[input.index];
//if(priceEntered != 0){
    
    var gr1 = new GlideRecord('alm_hardware');
    if(gr1.get(input.newPrice)){
        
        gr1.department = input.reason;
        gr1.u_service_center = input.servicecenter;
        gr1.update();
        
        
    }}
//}


})();
0 REPLIES 0