Adicionar um estado ao modelo de estado

  • Versão de lançamento: Yokohama
  • Atualizado 30 de jan. de 2025
  • 5 min. de leitura
  • Você pode adicionar um novo estado ao modelo de estado existente para diferentes tipos de mudança com base nos requisitos da sua organização.

    Antes de Iniciar

    Função necessária: script_include_admin, ui_policy_admin, ui_action_admin ou admin

    Por Que e Quando Desempenhar Esta Tarefa

    O plug-in do modelo de estado é ativado por padrão. Para obter mais informações sobre os estados do sistema de base para solicitações de mudança, consulte Modelo de estado e transições.

    Procedimento

    1. Navegar até Tudo > Alterar > Criar novo e conclua as etapas a seguir para adicionar uma opção à lista de seleção.
      1. Clique com o botão direito do mouse no campo Estado e clique em Configurar dicionário.
      2. Na lista relacionada Escolhas, execute um filtro para [Table] [is] [change_request.
      3. Clique em Novo e adicione o novo estado com as seguintes informações.
        • Tabela: solicitar mudança [change_request]
        • Rótulo: nome do seu novo estado
        • Valor: valor numérico que ainda não foi atribuído a uma opção de estado existente
        • Sequência: número correspondente ao local para que ele apareça na lista de estados. Se você atribuir a ele o mesmo número de sequência de outra opção, ele aparecerá abaixo da outra opção.
      4. Clique em Enviar.
    2. Navegar até Definição do sistema > Inclusões de script.
      Os registros de inclusão de script que contêm SNC no nome são somente leitura. Ao concluir as etapas a seguir, certifique-se de selecionar o script include correto para modificação. Por exemplo, modifique ChangeRequestStateHandler não ChangeRequestStateHandlerSNC.
      Nota:
      As inclusões de script estendido (sem SNC) incluem todas as funcionalidades de suas contrapartes SNC. Se você modificar uma inclusão de script de base (anexada com SNC), ela não será mais atualizada durante os upgrades do sistema.
    3. Abra o script ChangeRequestStateHandler para executar as seguintes edições.
      • Atualize a seção de constantes do manipulador de estado no início deste include de script para incluir valores para o estado recém-adicionado. Por exemplo:
        ChangeRequestStateHandler.MY_NEW_STATE = "mynewstate";
      • Atualize o mapa STATE_NAMES no final da função de inicialização para incluir o valor numérico do estado recém-adicionado. Por exemplo:
        this.STATE_NAMES["-6"] = ChangeRequestStateHandler.MY_NEW_STATE;
        Nota:
        O mapa STATE_NAMES fornece um mapeamento entre os valores numéricos armazenados no campo Estado em uma solicitação de mudança com um nome memorável. Este mapeamento permite que o nome memorável seja usado nas inclusões de script do modelo de estado.
    4. Edite o script include apropriado para incorporar os novos estados no modelo para os tipos de solicitação de mudança relevantes.
      Cada tipo de solicitação de mudança tem um script include correspondente chamado ChangeRequestStateModel_<type>, onde <type> é o valor do tipo de solicitação de mudança. Por exemplo, ChangeRequestStateModel_normal define o modelo de estado para solicitações de mudança com um tipo de normal.
      Cada modelo de estado de Inclusões de script define objetos que especificam as informações a seguir.
      • Quais estados estão disponíveis.
      • O próximo estado ou estados para cada estado disponível.
      • Funções para cada transição de estado para decidir se essa transição está disponível (canMove) com uma função a ser executada como parte da mudança para esse estado (mover).

      O exemplo que se segue é a partir do ChangeRequestStateModel_normal roteiro incluem.

      alterando o script de estado da solicitação de mudança
    5. Crie uma ação de IU para fornecer um botão para avançar a solicitação de mudança para o novo estado.
      1. Use Inserir e Permanecer para fazer uma cópia de uma das ações de IU padrão, como implementar.
      2. Atualize os seguintes campos no formulário.
        Nome do campo Atualizar
        Nome Atualize para corresponder ao nome do novo estado.
        Nome da ação Substitua o estado no final do nome pelo novo estado.
        Dica Atualize o texto para se referir ao novo estado.
        Onclick Renomeie a função para corresponder ao novo estado.
        Condição Atualize a chamada para a função isNext com o novo estado.
        Script
        • Atualize o nome da função para corresponder ao especificado no campo Onclick.
        • Atualize a linha que começa com ga.addParam (“sysparm_state_name”, ... para inserir o nome do novo estado como o segundo parâmetro da função addParam..
        • Atualizar a linha que começa com gsftSubmit e modificar o terceiro parâmetro desta chamada de função para corresponder ao valor inserido no campo Nome da ação..

        O exemplo a seguir usa a ação de IU Implementar para mostrar os valores a serem atualizados.

        Ação de IU modificada
        O script include ChangeRequestStateHandlercontém duas funções que são usadas para determinar se uma ação de IU é exibida com base no estado atual da solicitação de mudança.
        • isNext (stateName): esta função verifica somente se o stateName passado como um parâmetro está disponível como um próximo estado para o estado atual da solicitação de mudança.
        • canMoveTo (stateName): esta função executa a mesma verificação que a função isNext . No entanto, ele também verifica o resultado da chamada da função canMoveTo apropriada para a transição do estado atual para o stateName passado como um parâmetro. Esta função será usada se houver verificações adicionais nas funções canMove como verificar se um campo contém um valor específico.
    6. Conclua as etapas a seguir para atualizar a configuração do fluxo do processo para incorporar o novo estado de mudança.
      O fluxo do processo é exibido na parte superior do formulário de Change Request e está configurado em vários registros de fluxo de processo.
      O novo estado aparece no fluxo do processo
      1. Navegar até IU do Sistema > Fluxo do processo módulo e filtro para [Table] [is] [change_request].
      2. Abra um registro e use Inserir e Permanecer para fazer uma cópia.
      3. Atualize os seguintes campos no formulário.
        Nome do campo Atualizar
        Nome Atualize para corresponder ao nome do novo estado.
        Rótulo Atualize para corresponder ao nome do novo estado. Este valor está incluído no fluxo do processo na parte superior do formulário de Solicitação de Mudança.
        Ordem Atualize este número para que o novo estado esteja na sequência correta com os registros de fluxo de processo existentes para outros estados.
        Condição Atualize o filtro para corresponder ao novo estado.
      4. Clique em Atualizar.

    O que Fazer Depois

    Para garantir que o novo estado funcione conforme o esperado, revise os fluxos de trabalho padrão. Adicione o novo estado ao fluxo de trabalho conforme necessário.

    Revisar fluxos de trabalho padrão

    Qualquer modificação no modelo de estado pode afetar os fluxos de trabalho padrão para solicitações de mudança.

    Antes de Iniciar

    Função necessária: administrador

    Por Que e Quando Desempenhar Esta Tarefa

    Cada tipo de mudança tem um fluxo de trabalho padrão. Para garantir que qualquer mudança no modelo de estado não tenha afetado negativamente os fluxos de trabalho, você deve revisar cada um dos fluxos de trabalho padrão.

    Procedimento

    Revise o fluxo de trabalho para cada Inclusão de script ChangeRequestStateModel_<type> que foi modificada.
    Tabela 1. Fluxos de trabalho padrão de solicitação de mudança
    Tipo de mudança Nome da inclusão de script Fluxo de trabalho
    Normal ChangeRequestStateModel_normal Solicitar de mudança
    Padrão ChangeRequestStateModel_standard Solicitação de Mudança - Padrão
    Emergência ChangeRequestStateModel_emergency Solicitação de Mudança - Emergência.

    As modificações no fluxo de trabalho padrão para cada tipo de mudança dependem de onde o novo estado é adicionado nas sequências de estados.