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


---

# Atualizar estados de solicitação de mudança

# Atualizar estados de solicitação de mudança {#ariaid-title1}

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

Se você fez upgrade de uma versão anterior à Genebra, deverá atualizar os rótulos de estado antigos para os novos depois de ativar o Gestão de mudanças - State Model.

## Antes de Iniciar

Função necessária: administrador

## Por Que e Quando Desempenhar Esta Tarefa

Os valores de estado dos registros de mudança atuais não são modificados quando você ativa o Gestão de mudanças - State Model. No entanto, seus registros de mudança atuais exibem os novos rótulos de estado no campo de estado.
{#state-model-activate-tasks__table_nnl_gz4_bt__entry__3}

| Valor do estado | Novo rótulo de estado | Rótulo de estado antigo |
|-|-|-|
| -5 | Novo | Pendente |
| -4 | Avaliar | (Não usado) |
| -3 | Autorizar | (Não usado) |
| -2 | Agendado | (Não usado) |
| -1 | Implementar | (Não usado) |
| 0 | Revisar | (Não usado) |
| 1 | (Não usado) | Em aberto |
| 2 | (Não usado) | Trabalho em andamento |
| 3 | Encerrado | Encerrado concluído |
| 4 | Cancelado | Encerrado incompleto |
| 7 | (Não usado) | Encerrado Ignorado |
[ ]

{#state-model-activate-tasks__table_nnl_gz4_bt}

Por exemplo, registros com um valor de estado de -5 têm o rótulo de estado Pendente antes que o modelo de estado de Gerenciamento de Mudanças seja ativado. Depois que o modelo de estado for ativado, esses registros manterão o valor de estado -5, mas terão o rótulo Novo. Para usar o processo de gerenciamento de mudanças da sua organização com o modelo de estado, você deve atualizar os valores de estado para os novos rótulos nos registros de mudança existentes conforme apropriado, manualmente ou por script.

Você também deve atualizar todos os relatórios que executam consultas com base em rótulos de estado antigos para refletir os novos rótulos de estado.

## Procedimento

1. Para atualizar automaticamente os valores de campos de estado de rótulos de estado antigos para novos rótulos de estado, personalize e execute o seguinte script de exemplo:  

       updateStates();

       function updateStates() {

         function hasApprovers(changeGr) {
           var approverGr = new GlideRecord("sysapproval_approver");
           approverGr.addQuery('sysapproval', changeGr.getUniqueValue());
           approverGr.query();
           return approverGr.getRowCount() > 0;
         }

         function hasRunningWorkflows(changeGr) {
           var workflow = new Workflow();
           var workflowGr = workflow.getRunningFlows(changeGr);
           var hasRunningFlows = workflowGr.getRowCount() > 0;
           return hasRunningFlows;
         }

         // Old State Model
         var PENDING = '-5';
         var OPEN = '1';
         var CLOSED_COMPLETE = '3';
         var CLOSED_INCOMPLETE = '4';
         var CLOSED_SKIPPED = '7';

         // New State Model
         var NEW = '-5';
         var ASSESS = '-4';
         var AUTHORIZE = '-3';
         var SCHEDULED = '-2';
         var IMPLEMENT = '-1';
         var REVIEW = '0';
         var CLOSED = '3';
         var CANCELLED = '4';

         // Find all change requests
         var record = new GlideRecord('change_request');
         record.query();

         // Update state from old value to new value
         while (record.next()) {
           switch(record.getValue('state')) {
             case OPEN:
               if (!hasRunningWorkflows(record) && !hasApprovers(record))
                 record.state = NEW;
               break;
             case CLOSED_COMPLETE:
               record.state = CLOSED;
               record.close_code = "successful";
               break;
             case CLOSED_SKIPPED:
               record.state = CANCELLED;
               record.close_code = "unsuccessful";
               break;
             case CLOSED_INCOMPLETE:
               record.state = CLOSED;
               record.close_code = "successful_issues";
               break;
           }
           record.autoSysFields(false);
           record.setWorkflow(false);
           record.update();
         }

       }

2. Verifique se os rótulos de estado foram alterados nos registros de solicitação de mudança existentes.
{#state-model-activate-tasks__steps_mgf_t5l_nz}
**Referência relacionada**   

* [Instalado com Gestão de mudanças - State Model](https://servicenow-prod.fluidtopics.net/a9GoQrbjEDH3mqbt6LloVg#r_InstalledWithStateModel "Vários tipos de componentes são instalados com o Gestão de mudanças - State Model.")

