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 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 de usuário.
- Script de gravação que cria uma matriz de contatos vazia.
- Script de gravação que itera pela lista de registros do usuário.
- Escreva um script que cria um objeto de contato e mapeia os valores do campo de registro do usuário para o objeto de contato.
- Escreva um script que preencha 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 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
-
Crie uma aplicação para armazenar seu trabalho.
Use o Guided Application Creator.Por exemplo, crie Minha aplicação.
-
Navegar até Todos > Automação de Processo > Flow Designer.
O sistema exibe a página principal Flow Designer.
-
Selecionar Novo > Ação
O sistema exibe a caixa de diálogo Propriedades da ação.
-
Insira esses valores de amostra.
Campo Valor Nome Criar matriz de objetos de contatos Aplicação Minha aplicação Acessível de Todos os escopos de aplicação -
Selecione Enviar.
O sistema exibe a interface Designer de ações.
-
Em Contorno da ação, selecione Entradas > Criar Entrada
O sistema exibe uma nova entrada de ação.
-
Configure a entrada da ação com esses valores.
Campo valor Rótulo Departamento Tipo Departamento.Referência [Reference.cmn_department] Obrigatório Verdadeiro -
Em Contorno 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 [Department][is][action->Department] Ordenar por Nome Tipo de Classificação a até z Máximo de Resultados 3 Nota:Este exemplo limita a configuração Máximo de resultados a três registros apenas para fins de demonstração. -
Em Contorno da ação, selecione Adicionar uma nova etapa.
O sistema exibe uma lista de etapas disponíveis.
- Selecione Script.
- Em Tempo de execução necessário, selecione Instância.
- Na seção Variáveis de entrada, selecione Criar variável.
-
Configure a variável de entrada com esses valores.
Campo Valor Nome userRecords valor [etapa->Pesquisar registros etapa->Registros do usuário] Nota:Você pode selecionar a cápsula de dados de registros do 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 item secundário como contato.
- Na linha do objeto de contato, selecione 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 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 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 Insira um nome, insira contato.
- Clique em Salvar.
- Em Contorno da ação, selecione Saídas > Criar Saída.
-
Configure a saída da 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.
-
Em Modelo, selecione o modelo que você salvou anteriormente.
Por exemplo, selecione Minha aplicação: 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 Testar ação.
-
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.
O sistema exibe os dados de saída no formato JSON.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" } ] } }