Crie uma ação personalizada para gerar uma matriz de objetos de uma lista de registros

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 5 min. de leitura
  • Gere uma matriz de objetos de uma lista de registros do usuário. Aprenda a usar uma etapa Script para fazer iteração por meio de uma lista de registros.

    Antes de Iniciar

    Função necessária: administrador de flow_designer

    Por Que e Quando Desempenhar Esta Tarefa

    Use este exemplo para ver demonstrações dessas operações e etapas.
    • Crie uma entrada de ação para um registro de Departamento.
    • PESQUISE no máximo três registros de usuário para a entrada de ação do departamento.
    • Configure uma etapa de script para processar uma lista de registros de usuário.
    • Crie uma variável de entrada de script que contenha a lista de registros do usuário.
    • Script de gravação que cria uma matriz de contatos vazia.
    • Script de gravação que itera por meio da lista de registros do usuário.
    • Script de gravação que cria um objeto de contato e mapeia os valores do campo de registro do usuário para o objeto de contato.
    • Script de gravação que preenche a matriz de contatos com o objeto de contato atual.
    • Crie variáveis de saída de script para a matriz de contatos e o objeto de contato secundário.
    • Salve o objeto de contato como um modelo.
    • Gere a matriz de contatos gerada de objetos como uma cápsula de dados.
    • Teste a ação com um departamento de amostra.

    Procedimento

    1. Opcional: Crie uma aplicação para armazenar seu trabalho.
      Você pode usar App Engine Studio para planejar, criar e implantar aplicações. Para obter mais informações sobre como criar uma aplicação personalizada, consulte Building apps in App Engine Studio.
      Por exemplo, crie uma aplicação chamada Minha aplicação .
    2. Navegar até Tudo > Automação de Processo > Workflow Studio.
    3. Na página inicial, selecione Ações .
    4. Selecionar Novo(a) > Ação
      O sistema exibe a caixa de diálogo Propriedades da ação.
    5. Insira estes valores de amostra.
      Campo Valor
      Nome Criar matriz de objetos de contatos
      Aplicação Global
      Acessível de Todos os escopos de aplicação
      Nota:
      Se você criou uma aplicação para armazenar e implantar sua ação personalizada, use essa aplicação em vez de global.
    6. Selecione Build action (Criar ação).
      O sistema exibe o. Workflow Studio interface.
    7. Em Descrição da ação, selecione Entradas > Criar Entrada
      O sistema exibe uma nova entrada de ação.
    8. Configure a entrada de ação com estes valores.

      Crie uma entrada de ação que armazena um registro de departamento.

      Campo Valor
      Rótulo Departamento
      Tipo Referência.Departamento [Referência.cmn_department]
      Obrigatório(a) Verdadeiro(a)
    9. Em Descrição da ação, selecione Adicione uma nova etapa .
      O sistema exibe uma lista de etapas disponíveis.
    10. Selecione Pesquisar registros
    11. Configure a etapa com estes valores.

      Configure a condição da etapa Pesquisar registros para usar a variável de entrada do departamento.

      Campo Valor
      Tabela Usuário [sys_user]
      Condições [Departamento][is][action->Departamento]
      Nota:
      Selecione a cápsula de dados do departamento nas Variáveis de entrada.
      Ordenar por Nome
      Tipo de Classificação a até z
      Máximo de Resultados 3
      Nota:
      Este exemplo limita o. Máximo de resultados definir como três registros apenas para fins de demonstração.
    12. Em Descrição da ação, selecione Adicione uma nova etapa .
      O sistema exibe uma lista de etapas disponíveis.
    13. Selecione Script .
    14. Na seção Variáveis de entrada, selecione Criar variável .
    15. Configure a variável de entrada com estes valores.

      Configure a variável de entrada Etapa de script para usar a cápsula de dados Registros do usuário da etapa Pesquisar registros.

      Campo Valor
      Nome UserRecords
      Valor [Etapa->Pesquisar registros etapa->Registros do usuário]
      Nota:
      Selecione a cápsula de dados de registros do usuário na etapa Pesquisar registros.
      Nota:
      Você pode selecionar Registros do usuário Cápsula de dados no painel de dados ou no botão Seletor de cápsula de dados.
    16. Para Script insira o texto a seguir.
      (function execute(inputs, outputs) {
        //Create an empty array
        var contactsArray = [];
        var i = 0;
        //Iterate through the list of User records
        while(inputs.userRecords.next()) {
          //Create an empty object for each iteration
          var contactObject = {};
          //Query User records to assign object values
          contactObject.first_name = inputs.userRecords.getValue('first_name');
          contactObject.last_name = inputs.userRecords.getValue('last_name');
          contactObject.email_address = inputs.userRecords.getValue('email');
          //Add current object to array
          contactsArray[i] = contactObject;
          i += 1;
        }
        outputs.contacts = contactsArray;
      })(inputs, outputs);
    17. Em Variáveis de saída, selecione Criar variável .
    18. Configure a variável de saída com estes valores.

      Crie uma matriz de objetos chamados contatos. Na matriz, crie um objeto chamado contato. No objeto de contato, crie três variáveis de cadeias de caracteres para nome, sobrenome e endereço de e-mail.

      Rótulo Nome Tipo Obrigatório(a)
      contatos contatos Array.Object Verdadeiro(a)
    19. Expanda os contatos Array.Object e renomeie o objeto secundário como contato .
    20. Na linha do objeto de contato, selecione Adicionar item secundário ícone .
    21. Configure o item secundário com estes valores.
      Rótulo Nome Tipo Obrigatório(a)
      nome first_name Cadeia de caracteres Verdadeiro(a)
    22. Na linha do objeto de contato, selecione Adicionar item secundário ícone .
    23. Configure o item secundário com estes valores.
      Rótulo Nome Tipo Obrigatório(a)
      sobrenome last_name Cadeia de caracteres Verdadeiro(a)
    24. Na linha do objeto de contato, selecione Adicionar item secundário ícone .
    25. Configure o item secundário com estes valores.
      Rótulo Nome Tipo Obrigatório(a)
      endereço de e-mail email_address Cadeia de caracteres Verdadeiro(a)
    26. Na linha do Objeto de contato, selecione Alternar Entradas avançadas .
    27. Em Opções avançadas, selecione Salvar como modelo .
      O sistema exibe a caixa de diálogo Salvar como modelo.
    28. Para Insira um Nome insira contato .
      Salve o modelo de objeto com o nome contato.
    29. Clique em Salvar.
    30. Em Descrição da ação, selecione Saídas > Criar Saída.
    31. Configure a Saída da ação com estes valores.

      Crie uma saída de ação chamada contatos para armazenar uma matriz de objetos.

      Rótulo Nome Tipo Obrigatório(a)
      contatos contatos Array.Object Verdadeiro(a)
    32. Expanda os contatos Array.Object.
    33. Na linha do Objeto de contato, selecione Alternar Entradas avançadas .
    34. Em Opções avançadas, selecione Estrutura > Iniciar a partir do Modelo.
      O sistema exibe Modelo .
    35. Para Modelo , selecione o modelo que você salvou anteriormente.
      Por exemplo, selecione Global: Contato .
    36. Selecione Sair do Modo de edição .
      O Sistema exibe os campos de saída que você criou.
    37. Para contatos , selecione [Etapa->Etapa de script->contatos] .

      Configure a variável de saída da ação para usar a cápsula de dados de contatos da etapa Script.

      Nota:
      Você pode selecionar a etapa Script contatos Cápsula de dados no painel de dados ou no botão Seletor de cápsula de dados.
    38. Clique em Salvar.
    39. Selecione Testar.
      O sistema exibe a caixa de diálogo Ação de teste.
    40. Insira o seguinte valor de teste:

      Selecione o departamento de Desenvolvimento para testar sua ação.

      Entrada Valor
      Departamento Desenvolvimento
    41. Selecione Run Test (Executar teste).
      O sistema executa a ação com os valores de teste fornecidos.
    42. Selecione A execução do seu teste foi concluída. Visualize os detalhes de execução da ação.
      O sistema exibe os detalhes da execução da ação.
    43. Revise o valor de tempo de execução dos dados de saída da ação.

      Página de detalhes da execução para os resultados de teste da sua ação personalizada.

      Embora os detalhes da execução exibam os dados de saída como uma cadeia de caracteres formatada em JSON, o tipo de dados de saída real é uma matriz de objetos. Se você precisar de uma versão de cadeia de caracteres da saída, poderá converter o objeto em uma cadeia de caracteres usando a classe JSON. Para obter mais informações sobre como converter um objeto JSON em uma cadeia de caracteres, consulte Scoped JSON - stringify(Object jsonObject).
      Para este exemplo, o objeto de contatos contém uma matriz de objetos de contato com nome, sobrenome e informações de e-mail para três usuários no departamento de Desenvolvimento.
      {
          "contacts": 
              "contact": [
                  {
                      "email_address": "allyson.gillispie@example.com",
                      "first_name": "Allyson",
                      "last_name": "Gillispie"
                  },
                  {
                      "email_address": "alva.pennigton@example.com",
                      "first_name": "Alva",
                      "last_name": "Pennigton"
                  },
                  {
                      "email_address": "andrew.och@example.com",
                      "first_name": "Andrew",
                      "last_name": "Och"
                  }
              ]
          }
      }
      

    Resultado

    Você tem uma ação personalizada que pesquisa os usuários de um determinado departamento e converte esses usuários em uma matriz de objetos de contato.

    O que Fazer Depois

    Personalize esta ação para usar sua própria lógica.