Uma das realidades mais fantásticas e “descabelantes” na área de TI, é o fato de que cada desenvolvedor resolve problemas de formas diferentes, com lógica própria e elementos técnicos distintos (às vezes, com uma criatividade desconcertante).

Vamos entender melhor?

Imagine a seguinte solicitação: “Crie uma Action que receba número (referente ao mês) e retorne um string (referente ao nome do mês em português)”.

Bom, se você está habituado com a plataforma low code OutSystems, temos quatro alternativas básicas como solução:

  1. Utilizar uma estrutura lógica com “If”;
  2. Utilizar uma estrutura “Switch”;
  3. Correr para “Forge” e torcer para achar alguma dica ou solução pronta;
  4. Fugir para as montanhas.

 

Partindo do princípio que você optou por construir a solução, assim como eu, utilizaremos o

‘Switch” conforme a action “getNameMonth”.

action_outsystems

O que é action “getNameMonth”?

É uma “Action” simples que recebe um número e retorna um string com seu equivalente baseado nos 12 meses do ano (essa parte não muda, afinal teremos inexoravelmente 12 meses no ano!). O “otherwise” serve para você devolver um “Mês não definido!”.

Podemos resolver a mesma solicitação utilizando uma estrutura “If”? Com certeza, mas o código ficaria um pouco mais extenso.

Se você reparar, temos “getNameWeek”, onde utilizo a mesma lógica com “Switch”.

getName_Outsystems

Tá, mas… O que isso tem a ver com Javascript?

Calma meu pequeno “Padwan”. É justamente aí que a trama se desenvolve.

Vamos a outra solicitação: “Desenvolva uma Action que receba dois números inteiros e retorne o intervalo de números entre eles.”

Bom, desenvolvedores… temos em um pensamento clássico a solução de criação desta Action

OutSystems utilizando as estruturas “ForEach e If”, mas se você já analisou esta solicitação e

tentou resolver usando “ForEach e IF”, já deve ter entendido onde quero chegar.

Porque não utilizar JavaScript?

Eu realmente adoro desenvolver em OutSystems, e parte deste sentimento está justamente em poder utilizar elementos como CSS, Javascript, C# e Java como complemento ou base de solicitações.

Uma das soluções em código JavaScript pode ser esta:

cod_javascript_outsystems

Código Javascript:

cod javascript outsystems

Ok… mas a Action está devolvendo apenas o intervalo entre dois números em um string?

Sim, é isso mesmo! O Javascript apenas resolveu uma parte, digamos “complicada”, de forma simples e que pode ser reutilizada para obter quaisquer intervalos inteiros: dias do mês, meses do ano ou mesmo intervalo entre anos (ex: 2010 a 2021).

Como solução para seleção de dias ou mesmo meses, posso utilizar da seguinte forma:

  1. Passo os dois valores inicial e final para para Action “intervalReturn”;
  2. Recebo o string (com o resultado delimitado por vírgula);
  3. Utilizo “String Split” para transforma este string em uma lista;
  4. Utilizo “Foreach” para percorrer esta lista;
  5. E finalmente, incremento minha estrutura de list definitiva com a lista obtida pelo “String list” para que possa ser utilizado em “DropDown” ou qualquer outra necessidade.
estrutura_list_outsystems

Outra dica: se você quiser obter intervalo de dias do mês (já que os dias do mês podem variar), utilize as funções.

Espero que este artigo tenha colaborado!

Marco Peres
Desenvolvedor OutSystems na .add

A .add é parceira oficial da Outsystems no Brasil!

Nosso time desenvolveu o maior projeto de Outsystems do país, com mais de 850 mil requisições por dia para o mercado financeiro, utilizando a plataforma de desenvolvimento low-code #1 do mundo!

Conheça um pouco mais sobre os benefícios dessa tecnologia

Faça parte da comunidade OutSystems:

Entrar para Comunidade

Quer saber como a .add pode apoiar sua transformação digital?

Fale conosco

Deixe uma resposta