Páginas filhas
  • Utilizando a atividade "Para cada Iteração" e "Para cada Iteração API"

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.


...

ÍNDICE

...

:

...

TOTVS Framework                                                          

...

Processo

...

:

...

Fórmula Visual

...

Subprocesso

...

:

...

Data da publicação

...

:

...

21/07/2014

  1. Visão Geral
  2. Exemplo de utilização
  3. Como utilizar a atividade "Para cada iteração" para executar em uma API


01VISÃO GERAL

      O objetivo deste documento é mostrar como deve ser utilizada a atividade "Para cada Iteração" de uma Fórmula Visual.  Essa atividade cria um foreach na Fórmula Visual, percorrendo todos os registros. 


02. EXEMPLO DE UTILIZAÇÃO

      Para nosso exemplo, vamos utilizar as seguintes atividades: 

  • Criar Coluna na Tabela
  • Consulta SQL
  • Para cada Iteração
  • Sequência 
  • Localizar Registro na Tabela
  • Expressão

      Essa Fórmula Visual adicionará uma coluna no grid da tela de Coligadas, chamada de 'Coluna_Teste' e em cada linha terá a palavra 'Teste' antes do Nome da Coligada. 


Informações
titleImportante

Existe uma limitação ao usar atividade do tipo ' ForEachActivity' ou 'ForEachApiActivity' junto a atividade de 'CodeActivity'.

Ao utilizar essas atividades em conjunto, poderá acarretar na seguinte ocorrência:

Image Added

Informações
titleImportante

Ao usar mais de uma atividade pai e filha do mesmo tipo ' ForEachActivity' ou 'ForEachApiActivity', a Fórmula Visual pode não executar como esperado. Não prestamos suporte a esse tipo de fluxo da Fórmula Visual, pois não é possível garantir o fluxo dos dados nos componentes.

Observamos que existe um fluxo conhecido desse cenário e existe uma solução de contorno que em alguns casos soluciona o problema. 

Na maioria dos casos que existe esse fluxo de atividades:  Foreach > Foreach > Consulta SQL > Se/Senão,  a atividade de Se/Senão, não consegue referenciar corretamente ao retorno da Consulta SQL. Na maioria dos casos, adicionar uma atividade de Expressão para receber a coluna da Consulta SQL e utilizar a expressão como fonte de dados para o Se/Senão, faz com que a Fórmula Visual funcione como esperado.

Expandir
titleExemplo do fluxo sem a atividade de expressão
Image Added
Expandir
titleExemplo do fluxo com a atividade de expressão

Adicionando a atividade de expressão como possível solução de contorno:

Image Added

Informações
iconfalse
Deck of Cards
idQuadro de passos
Card
label1º Passo:

Primeiramente, é necessário arrastar a atividade "Criar Coluna na Tabela" para o "fluxo de trabalho" sequencial em sua fórmula visual.

Em seguida, preencha as propriedades como Nome da Coluna, que será o nome exibido no grid e a Tabela, que nesse exemplo será um DataTable.

Image Added

Card
label2º Passo:

Depois, adicione uma atividade "Consulta SQL".

Clique com o Botão direito do mouse na atividade e selecione uma consulta SQL e localize a Consulta criada. 

Neste exemplo foi criada a consulta 'TesteColunaFV', com a seguinte query: "select codcoligada, nome from gcoligada (NOLOCK)".

Image Added

Atividade de Consulta SQL na FV:

Image Added

Card
label3º Passo:

Adicione a atividade 'Para cada Iteração'. Essa atividade permite fazer um fluxo de tarefas para cada item da coleção informada.

Neste exemplo, vamos usar a coluna criada na primeira atividade e percorrer suas linhas. 

Image Added


Propriedades

  • Nome: Nome da Atividade
  • Descrição: Descrição da Atividade
  • Habilitado: Opção de habilitar ou desabilitar a atividade
  • Lista de Itens: Deve ser informado onde está a listagem que será percorrida no Foreach. 
Informações
titleAtenção

As iterações da atividade Foreach são realizadas na propriedade Lista de Items, que tem como tipo da propriedade objetos Ienumerable.

Card
label4º Passo:

Adicione a atividade de sequência, para informar as atividades que serão feitas para cada item do foreach.

Image Added

Card
label5º Passo:

A seguir, basta adicionar as atividades que serão executadas para cada linha.

Neste exemplo, com a atividade 'Localizar Registro na Tabela', vamos associar o registro da nova coluna com os resultados retornados na consulta SQL, por meio da PK, que é a CODCOLIGADA. 

Image Added

Card
label6º Passo:

E por fim, com a atividade de 'Expressão', vamos alterar o texto que será inserido em cada linha da nova coluna. 

Neste exemplo usaremos a string 'Teste' + nome da Coligada:

Image Added

Card
label11º Passo:

salve a Fórmula Visual. Neste exemplo utilizamos o gatilho 'Após a Leitura da Visão' para o DataServer de Coligada.

Após abrir a tela de Coligada, foi exibida a coluna criada, como esperado.

Image Added

      

03COMO UTILIZAR A ATIVIDADE DE "PARA CADA ITERAÇÃO" PARA EXECUTAR EM UMA API

      Em execuções em API, a atividade de foreach tem o mesmo comportamento do descrito acima. Mas é necessário utilizar a atividade 'Para Cada Iteração (API)'.

      No exemplo abaixo vamos mostrar como referenciar um campo da API como Lista de Itens do Foreach. Vamos considerar que o contexto de Coligada (CompanyCrudserver) já esteja selecionado.  Leia mais sobre Fórmula Visual em API

      Assim como as outras atividades em uma FV para API, após selecionar o Contexto e clicar em 'Ligações', serão listadas as propriedades da API do contexto para facilitar o uso da atividade. 

Image Added

Informações
titleImportante!
  • Lembre-se de que deve ser selecionado o objeto a ser percorrido. Nesse caso, nunca selecione o tipo, pois a tipagem não deve ser parte da estrutura de repetição.
  • As iterações da atividade ForeachAPI são realizadas na propriedade Lista de Items, que tem como tipo da propriedade qualquer tipo de objeto presentes na estrutura Fields[] de um contexto de API
Informações
titlePara maiores informações:

Consulte o WikiHelp TOTVS

Image Removed COMUNIDADE  @FRAMEWORK

Canais de Atendimento:

Chamado: Através do Portal Totvs www.suporte.totvs.com.br

Telefônico: 4003-0015 Escolhendo as opções 2 – (Software), 2 – (Suporte Técnico), 3 – (RM), 9 – (Demais Áreas), 4 – (BI) e 3 –  (Gerador de Relatórios e Planilha).