Sugerencia de Microsoft Flow: Cómo recuperar un solo valor de una consulta que devuelve vários registros

Conteúdo

Quando começa a utilizar Microsoft Flow Para automatizar tarefas e melhorar a produtividade do seu ambiente, uma das ações mais habituais são as pesquisas de dados baseadas em filtros. Quer esteja focado em percorrer registos do Dynamics, listas do SharePoint, tabelas numa base de dados SQL, etc., uma das desvantagens dos conectores do Flow é que, como uma regra, não oferecem a oportunidade de fazer uma pesquisa por um único elemento filtrado por um campo que não seja o seu campo de identificação (Identificação).

Quando precisamos filtrar um elemento, mas não temos este identificador, temos de recorrer a obter todas as linhas e aplicar-lhe um filtro da seguinte forma:

c61cb448-26d4-4534-ae3e-c4d7ba451842-6509819

Exemplo de obtenção de dados baseados num filtro no Microsoft Flow

Neste exemplo podemos ver que usando a ação Obter linhas da seção SQL Podemos estabelecer não apenas a lista de todas as linhas de uma tabela, neste caso TProvincias, mas também podemos filtrar estes resultados da consulta. Para este caso, o filtro está configurado para devolver um registo que corresponde a um Id obtido previamente no fluxo que não é o Id principal nesta tabela. Ao mesmo tempo, como sabemos que esta consulta só irá devolver um registo, limitamos o resultado a este registo atribuindo a primeira posição a 1.

Aqui surge o problema, se tentarmos, como um exemplo, inserir esta província que obtivemos dentro de um registo do Dynamics com a ação Criar um novo registo ocorrerá o seguinte:

f0a5f9ad-f19b-4115-8bdf-c0b49a09e995-9615486

No momento em que atribuirmos um dos valores recuperados no passo anterior a um dos campos de criação do registo, será automaticamente gerada uma condição de repetição entre todos os valores devolvidos.

d99a85d4-6d3f-41fa-8b8a-5c7b19e8fbdb-6179175

Isto acontece porque, sendo uma recuperação de linhas, a saída do passo Obter província será sempre uma matriz de resultados.

Isto coloca uma carga adicional no procedimento, que implica que terá de percorrer múltiplos resultados, além de uma complicação adicional quando se trata de compreender o procedimento que o Flow irá realizar.

Para evitar isso, sempre que formos obrigados a usar uma ação com este tipo de saída, podemos recorrer à operação de dados Compor em espanhol Escrever.

d365a898-cb8a-426c-873d-8552a904504d-3323372

Esta ação permitirá manter aqueles itens da saída anterior que nos interessam, para este caso podemos filtrar apenas o primeiro (e único) elemento da

matriz retornada.

963e6c1c-d436-47bc-b9b5-f7b64a963de5-6316440

Para isso teremos de usar a expressão primeiro no editor de expressões avançado indicando de onde obtemos os dados e qual valor específico estamos a procurar, para este caso será o campo de descrição do valor de saída da ação Get_Province.

primeiro (corpo (‘Get_Province’)?)?

Agora podemos verificar como, ao usar a saída desta ação na nossa criação de registos do Dynamics, o ciclo não será mostrado, deixando uma estrutura mais limpa e melhorando o tempo de processamento.

5b5f3931-a6a6-4365-b493-ff8774097b47-6566078

128caf0e-7242-4660-b151-4cca664b3595-8266870

Como podemos ver, no solo guardamos este bucle, sino además los bucles anidados en caso de que necesitemos pasar por más de una tabla en busca de estos registros. Ahora podemos ejecutar el procedimiento y verificar el resultado:

43d8b8ca-8598-447f-b319-9d419a5caf8f-2101411

Consecución de provincias

bab733ad-9e38-4cc2-952f-b90bddf8934c-1125652

Ejecutando la acción Redactar

Esta útil acción de Compor, no solo nos permitirá mantener una mejor estructura en nuestro Flow, sino que además nos permitirá modelar las salidas de todo tipo de aciones para obtener esos resultados que necesitamos, ignorando aquellos que no lo hacemos, de esta forma se convierte en una magnífica solución para múltiples situaciones. a lo largo de nuestro viaje por el mundo de la automatización con Microsoft Flow.

Assine a nossa newsletter

Nós não enviaremos SPAM para você. Nós odiamos isso tanto quanto você.

Datapeaker