Pular para o conteúdo

Bloco condicional no modelo

Um bloco condicional faz o modelo imprimir um trecho só quando uma condição é verdadeira. É o que permite a um único modelo servir às duas pontas da mesma parcela: baixada, sai o recibo; em aberto, saem as orientações de pagamento.

O bloco é escrito no corpo do modelo, junto com os campos entre chaves — veja Modelos de documento antes desta página.

Gestores e administradores, no editor do corpo do modelo. Corretores não editam modelos.

Todo bloco tem uma abertura, pode ter uma alternativa e sempre termina com o fechamento:

{#se cobranca_situacao_valor = "baixado"}
Recebemos o pagamento desta parcela.
{#senao}
Pague até o vencimento usando os dados abaixo.
{/se}
  • Abertura {#se ...} — em uma das três formas abaixo.
  • Alternativa {#senao} — opcional e no máximo uma por bloco. O que vem depois dela é impresso quando a condição é falsa.
  • Fechamento {/se} — obrigatório. Bloco sem fechamento não salva.

O trecho descartado sai inteiro do documento: os campos que estavam dentro dele não aparecem nem deixam espaço em branco.

Forma Imprime quando
{#se campo} o campo está preenchido, seja qual for o valor
{#se campo = "valor"} o campo é igual ao valor
{#se campo != "valor"} o campo é diferente do valor

O valor vai sempre entre aspas duplas. A comparação ignora maiúsculas e acentos: "baixado", "Baixado" e "BAIXADO" dão o mesmo resultado.

Recibo quando a parcela está baixada; orientação de pagamento no {#senao}:

Parcela {cobranca_numero} — competência {cobranca_competencia}
Vencimento: {cobranca_vencimento} — Total: {cobranca_total}
{#se cobranca_situacao_valor = "baixado"}
RECIBO
Recebemos a importância de {cobranca_valor_pago}
({cobranca_valor_pago_extenso}), paga em {cobranca_data_pagamento},
referente à parcela acima.
{agencia_nome}, {data_hoje}
{#senao}
ORIENTAÇÃO DE PAGAMENTO
Situação: {cobranca_situacao}. Efetue o pagamento até {cobranca_vencimento}
para evitar encargos. Em caso de dúvida, fale com {agencia_nome}.
{/se}

Só alguns. A forma sem operador ({#se campo}) vale para qualquer campo do catálogo; as formas com = e != só valem para campos que têm uma lista fechada de valores.

Hoje são cinco:

Campo Valores
{cobranca_situacao_valor} aberto, baixado, cancelado e renegociado
{acordo_situacao_valor} rascunho, efetivado e cancelado — separa a prévia do termo formal do acordo de débito
{acordo_parcelado_valor} sim e nao — há mais de um pagamento no acordo
{temporada_modo} diaria e pacote — o modo da estadia de temporada
{extrato_natureza_valor} landlord_annual, tenant_annual, landlord_monthly, dimob_landlord e dimob_tenant — a natureza do extrato

Onde ver os valores admitidos: no menu Inserir campo, o rótulo traz a lista entre parênteses — “Cobrança: situação para condicional (aberto, baixado, cancelado ou renegociado)”. A exceção é {extrato_natureza_valor}, cujo rótulo não traz a lista: os valores dele estão na tabela acima. Fora ele, campo cujo rótulo não traz lista não aceita comparação: nele, use a forma sem operador.

Para imprimir a situação em texto, use {cobranca_situacao}, que sai como “Em aberto”, “Quitado em dd/mm/aaaa”, “Cancelada” ou “Renegociada”. Renegociada também não é quitada: a dívida passou às parcelas de um acordo. O {cobranca_situacao_valor} existe para comparar, não para imprimir.

  • Não aninha: um {#se} dentro de outro é recusado.
  • Não combina condições: não há “e” nem “ou”. Precisa de duas condições? Use dois blocos em sequência.
  • Não compara ordem nem faz contas: nada de “maior que” ou “menor que”. Os valores saem formatados, e em texto R$ 1.000,00 viria antes de R$ 900,00 — a comparação mentiria.
  • Não repete trechos: não existe laço.

Para o documento mostrar {#se ...} em vez de interpretá-lo, dobre as chaves:

{{#se campo}}

O documento imprime {#se campo} literalmente. É o mesmo escape das chaves de campo — e é o que protege as minutas importadas: um {#se ...} que já existia no Word vira texto literal na importação e nunca se transforma em condicional por acidente.

Mensagem O que corrigir
Condicional malformada no corpo do modelo… a abertura fugiu das três formas — confira as aspas duplas e o =/!=
O corpo do modelo tem um bloco {#se} sem o {/se} que o fecha. falta o fechamento
…um {/se} sem o {#se} correspondente. sobrou um fechamento
…um {#senao} fora de um bloco {#se}. a alternativa está solta, fora do bloco
…mais de um {#senao}. o bloco tem duas alternativas; use só uma
…um bloco {#se} dentro de outro… há aninhamento; separe em dois blocos
O campo X não aceita comparação na condicional… use a forma sem operador nesse campo
Valor inválido na condicional do campo X… o valor não está na lista admitida

Com o modelo salvo, siga para Gerar documento e enviar para assinatura.