---
sourceDocument: Capacidades da Now Platform da Yokohama
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/yokohama/servicenow-platform

 Release :

    - yokohama

ft:locale :

    - pt-BR

ft:publication_title :

    - Capacidades da Now Platform da Yokohama

ft:clusterId :

    - platcap

bundleId :

    - platcap

workflow :

    - Platform


---

# Gerenciando mudanças propostas

# Gerenciando mudanças propostas {#ariaid-title1}

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

O recurso de mudanças propostas permite que você configure previamente mudanças nos itens de configuração e em seus relacionamentos associados. Essas mudanças previamente configuradas são preparadas para ser implementadas, mas não acontecem até que sejam aplicadas posteriormente.
Quando você visualiza um IC, as mudanças propostas podem ser exibidas para que você confira o que foi planejado.

Esse recurso é útil quando você deseja fazer modificações enquanto um processo de mudança está na fase de aprovação e implementar as mudanças somente após a conclusão das aprovações. Se a mudança nunca for aprovada, nenhuma mudança nos registros terá de ser revertida. Se a mudança for aprovada, um comando rápido aplicará todas as mudanças propostas.

Você pode fazer as seguintes mudanças propostas em um IC:

* Modifique qualquer campo no formulário de ICs.
* Adicione ou exclua um relacionamento a esse IC.

{#c_ProposedChanges__ul_gnm_4nr_dr}

Para modificar um relacionamento, exclua o relacionamento atual e adicione um novo relacionamento. Você não pode excluir uma mudança proposta.

## Exibir histórico de ICs {#c_ProposedChanges__section_mvs_t3g_xz}

Você pode exibir o histórico de mudanças em um IC em formato de lista, calendário ou linha do tempo.

## Exibir as mudanças propostas de um IC {#ariaid-title2}

Você pode visualizar as mudanças propostas e, dessa forma, ver o que foi planejado para o IC.

### Antes de Iniciar

Função necessária: personalize_form

### Por Que e Quando Desempenhar Esta Tarefa

Para visualizar qualquer mudança proposta, configure o layout do formulário de IC para exibir o campo Mudanças Agendadas do CMDB. Por padrão, as mudanças propostas não são exibidas em um formulário de IC.

### Procedimento

1. Navegar até TudoMudançaAbertos(as) e abra uma solicitação de mudança.
2. Na lista relacionada de ICs afetados, abra o Item de configuração.  
   Você também pode navegar diretamente para o formulário de IC.
3. Clique com o botão direito do mouse na barra de cabeçalho do formulário.
4. Selecionar ConfigurarLayout do Formulário.
5. Mova o campo Mudanças Agendadas do CMDB para o painel Selecionado.
6. Clique em Salvar.  
   O formulário de IC mostra os detalhes de todas as mudanças propostas na área Mudanças Agendadas.

## Adicionar uma mudança proposta a um IC {#ariaid-title3}

As mudanças propostas em um IC podem ser executadas durante a exibição de uma solicitação de mudança ou de qualquer registro relacionado à tarefa.

### Antes de Iniciar

Função necessária: itil

### Procedimento

1. No formulário de Solicitação de mudança, vá para a lista relacionada de ICs afetados.  
   Se não houver ICs na lista de ICs afetados, clique em Editar para adicionar ICs que são afetados por essa solicitação de mudança.
2. Clique com o botão direito do mouse no IC que você deseja configurar em uma mudança proposta e selecione Mudança proposta.
3. Preencha o formulário para executar as mudanças propostas e clique em Salvar mudança proposta.  
   Clique em Atualizar para aplicar as mudanças imediatamente. Clique em Excluir para excluir o IC.
4. Para propor uma adição ou remoção de um relacionamento de IC:
   1. Clique no ícone de mais na seção Itens relacionados.
   2. Na seção Relacionamentos, adicione ou exclua um relacionamento.  
      Para obter informações sobre como usar o editor de relacionamento, consulte [Criação ou edição de um relacionamento entre ICs](https://servicenow-prod.fluidtopics.net/bOCjZW1~B6_YEa3i4e2RrA "Use o editor de relacionamento para exibir, criar ou modificar relacionamentos de IC. Você pode abrir o editor de relacionamento do formatador de Relações de IC.").
   3. Clique em Salvar mudança proposta.
   4. Confirme que deseja salvar a mudança proposta.

   {#t_AddAProposedChange__substeps_xhv_4g5_dbb}  
   Clique em Atualizar ou Excluir para aplicar as mudanças imediatamente.  
   Nota:  
   Use somente com relacionamentos de ICs. Propor adições ou remoção de relacionamentos não é válido para relacionamentos de usuários e grupos.

### O que Fazer Depois

Após salvar as mudanças propostas, você verá o botão Aplicar mudanças propostas exibido no formulário de Solicitação de mudança. Esse botão permite que o usuário confirme as mudanças propostas no IC. Seus processos de negócios determinam o momento apropriado para confirmar as mudanças. O IC retém os dados existentes até que as mudanças propostas sejam confirmadas. No entanto, os usuários podem confirmar que as mudanças foram propostas.

## Aplicar uma mudança proposta a um IC {#ariaid-title4}

Quando você aplica as mudanças propostas, todas as mudanças propostas para essa solicitação de mudança são aplicadas ao item de configuração. Você pode aplicar as mudanças propostas sem verificação ou se houver falha nos testes de verificação das mudanças propostas.

### Antes de Iniciar

Função necessária: itil

### Por Que e Quando Desempenhar Esta Tarefa

Depois de aplicar as mudanças propostas, a parte Mudanças Agendadas do formulário exibe Nenhuma mudança agendada encontrada. Você pode configurar regras de verificação de mudança proposta que usará para verificar as mudanças propostas antes de aplicar as mudanças.

### Procedimento

1. Navegue até o formulário de Solicitação de mudança.
2. Clique no botão Aplicar mudanças propostas.  
   Pode ser necessário clicar com o botão direito do mouse no cabeçalho do formulário e selecionar a opção Recarregar formulário para ver as mudanças.

## Criar ou editar regras de verificação de mudança proposta {#ariaid-title5}

Certifique-se de que as mudanças propostas atendem aos requisitos de negócios e não introduzem dados inválidos no CMDB. Crie uma regra que inclua um script para verificar as mudanças propostas.

### Antes de Iniciar

Função necessária: ativo ou itil

### Por Que e Quando Desempenhar Esta Tarefa

Ao configurar regras de verificação de mudança proposta em um IC, você tem a opção de verificar se as mudanças propostas são aprovadas no script de teste de verificação da regra. Os resultados do teste de verificação são registrados como aprovado ou reprovado e você pode visualizar os resultados. Executar o teste de verificação não é obrigatório, e um teste de verificação com falha não impede que você aplique as mudanças propostas.

### Procedimento

1. Navegar até TudoConfiguraçãoVerificação de MudançaRegras de Verificação de Mudança Proposta.
2. Clique em Novo ou selecione uma regra existente para editar.
3. Preencha os campos, se for o caso.  
   {#t_CreatPropChngVerifiRule__table_rsd_rm5_ms__entry__2}

   | Campo | Descrição |
   |-|-|
   | Nome da regra | O nome desta regra. |
   | Nome da tabela | A tabela à qual a regra se aplica. |
   | Condição do filtro | Condições para aplicar a regra a ICs específicos. |
   | Ativo | Marque a caixa para ativar a regra. |
   | Script de regra | Um script Java de verificação que precisa retornar verdadeiro ou falso. Por exemplo: validateRule() { var os = current.getValue("os"); var cpu = current.getValue("cpu_count"); //Use current.getValue(fieldName) to get the proposed change value, eg. var os = current.getValue("os"); //Your verification code if (os != "SunOS" || cpu < 2) return false; //Return true to pass the verification and false if the verification failed return true; } |
   [Tabela 1. Formulário de Regras de verificação de mudança proposta]

   {#t_CreatPropChngVerifiRule__table_rsd_rm5_ms}
4. Clique em Enviar ou Atualizar.

### Resultado

No formulário de Solicitação de mudança, é possível clicar em Verificar mudanças propostas para verificar as mudanças propostas para os ICs afetados.

## Verificar mudanças propostas {#ariaid-title6}

Antes de aplicar as mudanças propostas aos ICs afetados, use as regras de verificação de mudança proposta para verificar se as mudanças atendem aos requisitos de negócios e não adicionam dados inválidos ao CMDB.

### Antes de Iniciar

Crie ou edite as regras usadas para verificar as mudanças propostas. Para obter detalhes, consulte [Criar ou editar regras de verificação de mudança proposta](https://servicenow-prod.fluidtopics.net/VwJKW3ZEgDFld9yErZUhDA#t_CreatPropChngVerifiRule "Certifique-se de que as mudanças propostas atendem aos requisitos de negócios e não introduzem dados inválidos no CMDB. Crie uma regra que inclua um script para verificar as mudanças propostas.").

Função necessária: nenhuma

### Por Que e Quando Desempenhar Esta Tarefa

Você pode aplicar as mudanças propostas mesmo se elas não forem verificadas ou não forem aprovadas em um teste de verificação.

### Procedimento

1. Abra o formulário de Solicitação de mudança que afeta o IC.
2. Clique em Verificar mudanças propostas.  
   As mudanças propostas são verificadas em relação a todas as regras de verificação de mudança proposta nas quais o IC atende aos critérios de Condição de filtro.
3. Revise a mensagem que aparece na parte superior do formulário após a conclusão do processo de verificação.  
   A mensagem informa se os testes de verificação foram aprovados ou reprovados.

### O que Fazer Depois

Para exibir os detalhes de todos os testes de verificação que foram realizados para a solicitação de mudança nos últimos dois dias, clique no link relacionado a Log de verificação de mudança proposta.

## Crie ou edite um script de validação de mudança planejada {#ariaid-title7}

Crie um script personalizado que verifica se uma mudança em uma classe foi válida de acordo com os requisitos de negócios e se a mudança foi planejada ou não. Um script de validação de mudança planejada é usado sempre que uma mudança de IC é exibida na linha do tempo de ICs ou no histórico de mudanças.

### Antes de Iniciar

Função necessária: admin ou itil

### Por Que e Quando Desempenhar Esta Tarefa

O sistema tenta validar cada mudança de IC da seguinte forma:  
* Se houver um script personalizado para o IC ou um dos IC primários, o script será executado, e os resultados serão usados para sinalizar a mudança como válida ou inválida. Os ICs primários são examinados na ordem hierárquica.
* Se um script personalizado não existir para o IC ou qualquer um de seus primários, um script de validação predefinido será usado. A mudança será determinada como uma mudança planejada se a mudança ocorreu entre as datas de início e término do trabalho da solicitação de mudança associada ao IC alterado.

  No entanto, essa verificação nem sempre é confiável, porque um usuário pode ter modificado manualmente o IC dentro das datas de trabalho, o que sinaliza a mudança como válida mesmo se ela for inválida.
{#t_CreatePlanChngValidScript__ul_g3w_ycm_zs}

O script precisa retornar um booliano, verdadeiro ou falso, que depende do atendimento aos critérios de teste no script. Você pode definir um script distinto para cada classe de IC e definir vários scripts de validação de mudança planejada para uma única classe. Por exemplo, para manter diferentes versões do script. Somente um script pode estar ativo para uma classe de IC a qualquer momento.

Estes são os parâmetros que caracterizam uma mudança de forma exclusiva:  
* Os campos que foram alterados
* A fonte de dados que realizou a mudança
* O carimbo de data/hora da mudança
{#t_CreatePlanChngValidScript__ul_uv4_4cm_zs}

Para determinar corretamente a validade de uma mudança, examine os parâmetros e aplique a lógica de negócios para avaliar se os testes de validação foram atendidos. Um script de validação de mudança planejada pode testar qualquer uma dessas características e determinar quando uma mudança atende aos critérios pré-estabelecidos. Por exemplo, o script personalizado pode verificar se o modo do IC é operacional ou de manutenção, ou quem iniciou a mudança.

### Procedimento

1. Navegar até TudoConfiguraçãoVerificação de MudançaScript de Validação de Mudança Planejada.
2. Clique em Novo ou selecione um script de validação para editar.
3. Preencha o formulário.  
   {#t_CreatePlanChngValidScript__table_qlq_313_ts__entry__2}

   | Controle | Descrição |
   |-|-|
   | Ativo | Marque a caixa para ativar o script a fim de validar as mudanças. |
   | Aplica-se a | Classe à qual o script se aplica. |
   | Script | Script a ser executado para validar uma mudança. Se o script não retornar um valor booliano, ele será configurado como falso. |
   [Tabela 2. Formulário do script de validação de mudança planejada]

   {#t_CreatePlanChngValidScript__table_qlq_313_ts}  
   O script inclui um modelo que exibe as variáveis de entrada do script.{#t_CreatePlanChngValidScript__table_ufr_kzh_ts__entry__3}

   | Variável | Tipo | Descrição |
   |-|-|-|
   | atual | GlideRecord | Registro atual que está sendo processado. |
   | updatedOn | GlideDateTime | Carimbo de data/hora da mudança |
   | updatedBy | Cadeia de caracteres | Entidade responsável pela mudança. |
   | fieldsChanged | Cadeia de caracteres | Lista separada por vírgulas dos nomes de todos os campos que foram alterados. |
   [Tabela 3. Variáveis de entrada do script do modelo]

   {#t_CreatePlanChngValidScript__table_ufr_kzh_ts}  
   Esse script de exemplo verifica quem iniciou o upgrade do registro. O script retornará verdadeiro se o administrador iniciou a atualização do registro. Caso contrário, o script retornará falso.

       isValidChange();

       function isValidChange(/*GlideRecord current, GlideDateTime updatedOn, String updatedBy, String changedFields*/) 
       { 
          //Return true if the user that updated the record has an admin role 
          return isUserAdmin(updatedBy); 
       }

       function isUserAdmin(userName)
       {
          var grUser = new GlideRecord("sys_user");
          grUser.addQuery('name', userName);
          grUser.query();
          if(grUser.next()) 
          {
              var roles = new GlideRecord ("sys_user_has_role");
              roles.addActiveQuery();
              roles.addQuery('user', grUser.sys_id);
              roles.query();
              while(roles.next()) 
              {
                 if(roles.role.name == 'admin')
                    return true;
              }
          }
          return false;
       }

4. Clique em Enviar.

