Crie uma ação personalizada para gerar uma matriz de objetos a partir de uma lista de registros
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
Por Que e Quando Desempenhar Esta Tarefa
- 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 Departamento.
- Configure uma etapa de script para processar uma lista de registros de usuário.
- Crie uma variável de entrada de script que contém a lista de registros de 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 de usuário.
- Script de gravação que cria um objeto de contato e mapeia os valores do campo de registro de 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 objetos de contatos gerada como uma cápsula de dados.
- Teste a ação com um departamento de amostra.
Procedimento
- 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.
- Navegar até Todos > Automação de Processo > Workflow Studio.
- Na página inicial, selecione Ações.
-
Selecionar Novo > Ação
O sistema exibe a caixa de diálogo Propriedades da ação.
-
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. -
Selecione Criar ação.
O sistema exibe a interface Workflow Studio.
-
Em Descrição da ação, selecione Entradas > Criar Entrada
O sistema exibe uma nova entrada de ação.
-
Configure a entrada de ação com esses valores.
Campo Valor Rótulo Departamento Tipo Referência.Departamento [Reference.cmn_department] Obrigatório Verdadeiro -
Em Descrição da ação, selecione Adicionar uma nova etapa.
O sistema exibe uma lista de etapas disponíveis.
- Selecionar registrosde pesquisa
-
Configure a etapa com esses valores.
Campo Valor Tabela Usuário [sys_user] Condições [Departamento][é][ação->Departamento] Nota:Selecione a cápsula de dados do departamento em Variáveis de entrada.Ordenar por Nome Tipo de Classificação a até z Máximo de Resultados 3 Nota:Este exemplo limita a configuração de resultados máximos a três registros apenas para fins de demonstração. -
Em Descrição da ação, selecione Adicionar uma nova etapa.
O sistema exibe uma lista de etapas disponíveis.
- Selecione Script.
- Na seção Variáveis de entrada, selecione Criar variável.
-
Configure a variável de entrada com esses valores.
Campo Valor Nome registros de usuário Valor [etapa->Pesquisar registros etapa->Registros de usuário] Nota:Selecione a cápsula de dados de registros de usuário na etapa Pesquisar registros.Nota:Você pode selecionar a cápsula de dados Registros de usuário no painel de dados ou no botão Seletor de cápsula de dados. -
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); - Em Variáveis de saída, selecione Criar variável.
-
Configure a variável de saída com esses valores.
Rótulo Nome Tipo Obrigatório contatos contatos Array.Object Verdadeiro - Expanda os contatos Array.Object e renomeie o objeto secundário para contato.
-
Na linha do objeto de contato, selecione o ícone Adicionar item secundário
.
-
Configure o item secundário com esses valores.
Rótulo Nome Tipo Obrigatório nome first_name Cadeia de caracteres Verdadeiro -
Na linha do objeto de contato, selecione o ícone Adicionar item secundário
.
-
Configure o item secundário com esses valores.
Rótulo Nome Tipo Obrigatório sobrenome last_name Cadeia de caracteres Verdadeiro -
Na linha do objeto de contato, selecione o ícone Adicionar item secundário
.
-
Configure o item secundário com esses valores.
Rótulo Nome Tipo Obrigatório endereço de e-mail email_address Cadeia de caracteres Verdadeiro - Na linha do objeto de contato, selecione Alternar entradas avançadas.
-
Em Opções avançadas, selecione Salvar como modelo.
O sistema exibe a caixa de diálogo Salvar como modelo.
-
Em Inserir um nome, insira contato.
- Clique em Salvar.
- Em Descrição da ação, selecione Saídas > Criar Saída.
-
Configure a saída de ação com esses valores.
Rótulo Nome Tipo Obrigatório contatos contatos Array.Object Verdadeiro - Expanda os contatos Array.Object.
- Na linha do objeto de contato, selecione Alternar entradas avançadas.
-
Em Opções avançadas, selecione Estrutura > Iniciar a partir do Modelo.
O sistema exibe Modelo.
-
Para Modelo, selecione o modelo que você salvou anteriormente.
Por exemplo, selecione Global: contato.
-
Selecione Sair do modo de edição.
O sistema exibe os campos de saída que você criou.
-
Para contatos, selecione [etapa->Etapa de script->contatos].
Nota:Você pode selecionar a cápsula de dados de contatos da etapa de script no painel de dados ou no botão Seletor de cápsula de dados.
- Clique em Salvar.
-
Selecione Testar.
O sistema exibe a caixa de diálogo Ação de teste.
-
Insira o seguinte valor de teste:
Entrada Valor Departamento Desenvolvimento -
Selecione Executar teste.
O sistema executa a ação com os valores de teste fornecidos.
-
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.
-
Revise o valor de tempo de execução dos dados de saída da ação.
Embora os detalhes da execução exibam os dados de saída como uma cadeia de caracteres no formato 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 sua 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 de 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" } ] } }