Crie uma ação personalizada para gerar uma matriz de objetos 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 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
- 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é Tudo > Automação de Processo > Workflow Studio.
- Na página inicial, selecione Ações .
-
Selecionar Novo(a) > 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 Build action (Criar ação).
O sistema exibe o. Workflow Studio interface.
-
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 estes valores.
Campo Valor Rótulo Departamento Tipo Referência.Departamento [Referência.cmn_department] Obrigatório(a) Verdadeiro(a) -
Em Descrição da ação, selecione Adicione uma nova etapa .
O sistema exibe uma lista de etapas disponíveis.
- Selecione Pesquisar registros
-
Configure a etapa com estes valores.
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. -
Em Descrição da ação, selecione Adicione 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 estes valores.
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. -
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 estes valores.
Rótulo Nome Tipo Obrigatório(a) contatos contatos Array.Object Verdadeiro(a) - Expanda os contatos Array.Object e renomeie o objeto secundário como contato .
-
Na linha do objeto de contato, selecione Adicionar item secundário ícone
.
-
Configure o item secundário com estes valores.
Rótulo Nome Tipo Obrigatório(a) nome first_name Cadeia de caracteres Verdadeiro(a) -
Na linha do objeto de contato, selecione Adicionar item secundário ícone
.
-
Configure o item secundário com estes valores.
Rótulo Nome Tipo Obrigatório(a) sobrenome last_name Cadeia de caracteres Verdadeiro(a) -
Na linha do objeto de contato, selecione Adicionar item secundário ícone
.
-
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) - 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.
-
Para Insira um Nome insira contato .
- Clique em Salvar.
- Em Descrição da ação, selecione Saídas > Criar Saída.
-
Configure a Saída da ação com estes valores.
Rótulo Nome Tipo Obrigatório(a) contatos contatos Array.Object Verdadeiro(a) - 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 etapa Script contatos Cápsula de dados 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 Run Test (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 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" } ] } }