---
sourceDocument: Yokohama Gestão de serviços de TI
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/yokohama/it-service-management

 Release :

    - yokohama

ft:locale :

    - pt-BR

ft:publication_title :

    - Yokohama Gestão de serviços de TI

ft:clusterId :

    - itsm

bundleId :

    - itsm

workflow :

    - Technology


---

# Criar uma ação de IU para fechar vários incidentes

# Criar uma ação de IU para fechar vários incidentes {#ariaid-title1}

* Versão de lançamento: Yokohama
* 
* Atualizado 30 de jan. de 2025
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 3 min. de leitura

Crie uma ação de IU para fechar vários incidentes de uma vez na lista Ações na exibição de lista.

## Antes de Iniciar

Função necessária: business_rule_admin (para regra de negócios), ui_action_admin (para ação de IU) ou administrador

## Por Que e Quando Desempenhar Esta Tarefa

Fechar um incidente da lista Ações adiciona a mesma nota de fechamento a todos os incidentes que estão encerrados e não requer a função list_updater. A implementação deste processo requer um Script Include que é referido a partir de uma ação da IU e uma página da IU customizada.

## Procedimento

1. Navegar até TudoDefinição do SistemaInclusões de script e clique em Novo .
2. Crie o Inclusões de script com as seguintes informações.  
   * Nome: IncidentClosure
   * Cliente chamável: marque a caixa de seleção
   * Ativo: marque a caixa de seleção
   * Script: cole as seguintes informações:  

         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. Salve o registro.
4. Crie as seguintes etapas para criar uma página de IU.  
   * Nome: mandatory_fields_to_close_incident_ui
   * HTML: cole as seguintes informações:

         <?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>

   * Client script: cole as seguintes informações:  

         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. Salve o registro.
6. Conclua as etapas a seguir para criar a ação da IU para fechar vários incidentes.
   1. Navegar até Definição do SistemaAções de IU e clique em Novo .
   2. Crie as Ações de IU com as seguintes informações:  
      * Nome: fechar incidentes
      * Tabela: incidente \[incident\]
      * Mostrar atualização: marque a caixa de seleção
      * Opção da lista: marque a caixa de seleção
      * Lista v2 compatível: marque a caixa de seleção
      * Cliente: marque a caixa de seleção
      * Onclick: closeIncidents()
      * Condição: current.getValue('state') !== '7'
      * Script: cole as seguintes informações

      {#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. Salve o registro.

## Resultado

Agentes da central de serviços podem fechar diversos incidentes usando Fechar incidentes na lista Ações abaixo da lista Incidente.

