Bom dia Luis.
Normalmente quando o builder aponta esse loop tem mais haver com a sua condição de saída (para onde está mandando esse bloco), um exemplo seria um Bloco A manda para esse seu Bloco B que manda de volta pro A, se existir apenas essas saídas, no momento em que o usuário cair no Bloco A ele ficará preso num loop infinito. Teria como você mandar foto do fluxo e das condições de saída?
Opa! Eu monto o loop no bloco “Exibe boleto” e aponto para ele mesmo. Observe abaixo:
Enquanto a variável i for diferente de false, ele terá como saída padrão o próprio bloco e exibirá as informações do boleto correspondente à i. Quando i for false, atingimos o fim dos boletos e direciono o usuário à saída. E é esse loop que o Builder não está aceitando.
Essa variável i é manipulada por um Javascript no próprio bloco, a ver abaixo:
function run(i, boletos) {
var boletos = JSON.parse(boletos);
i++;
if(boletos.length > i){
return i;
}else{
return false;
}
}
Realmente nunca tinha pensado em um loop dessa forma. Perguntei para um pessoal da minha célula sobre isso e disseram que o Blip não aceita mesmo esse tipo de loop, é necessário ter um input de usuário. Única solução que pensei seria você fazer uma validação de input perguntando se o usuário quer que exiba o próximo boleto ou não.