---
sourceDocument: Yokohama IT-Servicemanagement
sourceDocumentLink: https://www.servicenow.com/docs/r/de-DE/yokohama/it-service-management

 Release :

    - yokohama

ft:locale :

    - de-DE

ft:publication_title :

    - Yokohama IT-Servicemanagement

ft:clusterId :

    - itsm

bundleId :

    - itsm

workflow :

    - Technology


---

# UI-Aktion erstellen, um mehrere Incidents zu schließen

# UI-Aktion erstellen, um mehrere Incidents zu schließen {#ariaid-title1}

* Freigeben Version: Yokohama
* 
* Aktualisiert 30. Januar 2025
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 2 Minuten Lesedauer

Erstellen Sie eine UI-Aktion, um mehrere Incidents gleichzeitig aus der Liste Aktionen in der Listenansicht zu schließen.

## Vorbereitungen

Erforderliche Rolle: business_rule_admin (für die Geschäftsregel), ui_action_admin (für die UI-Aktion) oder admin

## Warum und wann dieser Vorgang ausgeführt wird

Wenn Sie einen Incident aus der Liste Aktionen schließen, wird allen geschlossenen Incidents die gleiche Schließen-Notiz hinzugefügt. Dafür ist die Rolle „list_updater" nicht erforderlich. Für die Implementierung dieses Prozesses ist eine Skripteinbindung erforderlich, auf die von einer UI-Aktion und einer anwenderdefinierten UI-Seite verwiesen wird.

## Prozedur

1. Navigieren zu AlleSystemdefinitionSkripteinbindungen Und klicken Sie auf Neu .
2. Erstellen Sie die Skripteinbindungen mit den folgenden Angaben.  
   * Name: IncidentClosure
   * Vom Client aufrufbar: Checkbox aktivieren
   * Aktiv: Checkbox aktivieren
   * Skript: Fügen Sie die folgenden Informationen ein:  

         var IncidentClosure = Class.create();
         IncidentClosure.prototype = Object.extendsObject(AbstractAjaxProcessor, {
             closeIncidents: function() {
                 var selectedIncidents = this.getParameter("sysparm_incidents");
                 var notes = this.getParameter("sysparm_closeNote");
                 var code = this.getParameter("sysparm_closeCode");
                 var incidentGr = new GlideRecord('incident');
                 incidentGr.addQuery('sys_id', 'IN', selectedIncidents);
                 incidentGr.query();
                 while (incidentGr.next()) {
                     incidentGr.setValue('state', 7);
                     incidentGr.setValue('close_notes', notes);
                     incidentGr.setValue('close_code', code);    
                     incidentGr.update();
                 }
                 return true;
             },
             
            type: 'IncidentClosure'
         });

   {#t_CreatingAUIAction__ul_xqg_hcz_khb}
3. Speichern Sie den Datensatz.
4. Erstellen Sie die folgenden Schritte, um eine UI-Seite zu erstellen.  
   * Name: mandatory_fields_to_close_incident_ui
   * HTML: Fügen Sie die folgenden Informationen ein:

         <?xml version="1.0" encoding="utf-8" ?>
         <j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null">
             <style>
                 #content_row .reference-label {
                     padding-right: 15px;
                 }

                 #page_timing_div {
                     display: none;
                 }
             </style>
             <form class="form-horizontal">
                 <div class="form-group">
                     <label class="col-xs-4 control-label">
                         <span style="padding-right: 5px;"></span>
                         <span class="label-text">${gs.getMessage('Resolution code')}</span>
                     </label>
                     <div class="col-xs-5 form-field input_controls" style="line-height: 32px;">
                         <select name="closeCode" id="closeCode">
                             <option value="" selected="SELECTED" role="option">-- None --</option>
                             <option value="Solved (Work Around)" role="option">Solved (Work Around)</option>
                             <option value="Solved (Permanently)" role="option">Solved (Permanently)</option>
                             <option value="Solved Remotely (Work Around)" role="option">Solved Remotely (Work Around)</option>
                             <option value="Solved Remotely (Permanently)" role="option">Solved Remotely (Permanently)</option>
                             <option value="Not Solved (Not Reproducible)" role="option">Not Solved (Not Reproducible)</option>
                             <option value="Not Solved (Too Costly)" role="option">Not Solved (Too Costly)</option>
                             <option value="Closed/Resolved by Caller" role="option">Closed/Resolved by Caller</option>
                         </select>
                     </div>
                 </div>
                 <div class="form-group">
                     <label class="col-xs-4 control-label">
                         <span class="label-text" style="">${gs.getMessage('Resolution Notes')}</span>
                     </label>
                     <div class="col-xs-7 form-field input_controls">
                         <textarea required="true" class="form-control" value="closeNotes" id="closeNotes" type="text"></textarea>
                     </div>
                 </div>
                 <div class="form-group" style="padding-right:20px;margin-bottom:0;padding-left: 75%; line-height: 45px;">
                     <g:dialog_button id="cancel_button" type="button" style_class="$btn btn-default" onclick="actionCancel()" style="min-width: 5em;">${gs.getMessage('Cancel')}</g:dialog_button>

                     <g:dialog_button id="ok_button" type="button" onclick="actionOK()" style_class="btn btn-primary" style="min-width: 5em;">${gs.getMessage('OK')}</g:dialog_button>
                     <div class="clearfix"></div>
                 </div>
             </form>
         </j:jelly>

   * Clientskript: Fügen Sie die folgenden Informationen ein:  

         function actionOK() {
             var modal = GlideModal.prototype.get("mandatory_fields_to_close_incident_ui");
             var incidents = modal.getPreference("selected_incidents");
             if (incidents) {
                 //close the incidents
                 var glideAjax = new GlideAjax("IncidentClosure");
                 glideAjax.addParam("sysparm_name", "closeIncidents");
                 glideAjax.addParam("sysparm_incidents", incidents);
                 glideAjax.addParam("sysparm_closeCode", $("closeCode").value);
                 glideAjax.addParam("sysparm_closeNote", $("closeNotes").value);
                 glideAjax.getXMLAnswer(function(answer) {
                     GlideModal.prototype.get("mandatory_fields_to_close_incident_ui").destroy();
                     GlideList2.get('incident').refresh();
                 });
             }
         }

         function actionCancel() {
             GlideModal.prototype.get("mandatory_fields_to_close_incident_ui").destroy();
         }

         (function() {
             var okButton = gel('ok_button');
             var closeCodeEl = gel('closeCode');
             var closeNotesEl = gel('closeNotes');
             okButton.disabled = true;
             closeNotesEl.value = "";
             closeCodeEl.on('change', function() {
                 if (closeCodeEl.value !=="" && closeNotesEl.value !=="")
                     okButton.disabled = false;
                 else
                     okButton.disabled = true;
             });
             closeNotesEl.on('input', function() {
                 if (closeCodeEl.value !=="" && closeNotesEl.value !=="")
                     okButton.disabled = false;
                 else
                     okButton.disabled = true;
             });
         })();

   {#t_CreatingAUIAction__ul_fgv_2cz_khb}
5. Speichern Sie den Datensatz.
6. Führen Sie die folgenden Schritte aus, um eine UI-Aktion zum Schließen mehrerer Incidents zu erstellen.
   1. Navigieren zu SystemdefinitionUI-Aktionen Und klicken Sie auf Neu .
   2. Erstellen Sie die UI-Aktionen mit den folgenden Informationen:  
      * Name: Incidents schließen
      * Tabelle: Incident \[incident\]
      * Bei Update anzeigen: Checkbox aktivieren
      * Listenauswahl: Checkbox aktivieren
      * Mit Liste v2 kompatibel: Checkbox aktivieren
      * Client: Checkbox aktivieren
      * Beim Klicken: closeIncidents()
      * Bedingung: current.getValue('state') !== '7'
      * Skript: Fügen Sie die folgenden Informationen ein:

      {#t_CreatingAUIAction__ul_scf_v2z_khb}  

          function closeIncidents() {
              var list = GlideList2.get('incident');
              var title = list.getTitle();
              var incidents = list.getChecked();
              if (incidents) {
                  var o = new GlideModal('mandatory_fields_to_close_incident_ui');
                      getMessage("Close Incidents", function(msg) {
                          o.setTitle(msg);
                          o.setPreference('selected_incidents', incidents);
                          o.render();
                      });
                  }
              }
                     
   {#t_CreatingAUIAction__substeps_p2r_s5r_yy}
7. Speichern Sie den Datensatz.

## Ergebnisse

Service Desk-Mitarbeiter können mit Incidents schließen in der Liste Aktionen unter der Incident-Liste mehrere Incidents schließen.

