Este guia técnico é destinado a usuários avançados que precisam personalizar seus modelos de documentos no Buk utilizando lógica condicional, loops e filtros de transformação. O uso dessas ferramentas permite que um mesmo documento se adapte dinamicamente às informações de cada colaborador.
Regra de Ouro:Para utilizar qualquer variável simples, ela deve estar entre chaves duplas:
-
{{ variable.nombre }}.
Estruturas de Controle e Funções Especiais
As estruturas de controle permitem gerenciar a visibilidade, repetição de dados e extração de valores específicos da folha de pagamento.
| Estrutura / Função | Descrição | Exemplo | Resultado esperado |
|---|---|---|---|
| if | Avalia uma condição e exibe o conteúdo apenas se for verdadeira. | {%if empleado.nombre == "Pedro"%} Hola Pedro {%endif%} |
"Olá Pedro" (se aplicável). |
| for | Itera sobre coleções (bônus, dependentes, permissões, etc.). | {%for bono in empleado.bonos%} {{bono.nombre}} {%endfor%} |
Lista de nomes de bônus. |
| monto | Obtém o valor de um item pelo seu código e tipo de comprovante. | {%monto("buk_salario", "finiquito")%} |
"$ 1.000.000" |
| nombre | Obtém o nome de um item configurado conforme seu código. | {%nombre("buk_salario")%} |
"Sueldo Base" |
Filtros de Transformação
Os filtros modificam a visualização das variáveis usando o símbolo|.Importante:Não deve haver espaços entre a variável e o símbolo.
Os filtros modificam a visualização das variáveis usando o símbolo|.Importante:Não deve haver espaços entre a variável e o símbolo.
| Filtro | Descrição | Exemplo | Resultado esperado |
|---|---|---|---|
| palavras | Converte números ou datas em texto escrito. | {{sueldo | palabras}} |
"quinhentos mil" |
| imagen | Exibe uma imagem (URL). Parâmetros: largura, altura. | {{empresa.logo | imagen: "200", "200"}} |
[Imagem renderizada] |
| formato_fecha | Define o formato (yyyy, mm, dd, hh, MM, ss). | {{fecha_ingreso | formato_fecha: "dd-mm-yyyy"}} |
"31-12-2023" |
| detalle_fecha | Extrai uma parte: "A" (ano), "M" (mês), "D" (dia). | {{fecha_de_hoy | detalle_fecha: "M"}} |
"03" (se for março) |
| fecha_en_palavras | Data completa por extenso conforme máscara. | {{fecha_de_hoy | fecha_en_palabras: "%d de %B"}} |
"17 de Março" |
| formato_numero | Aplica separador de milhar (.) e decimais (,) com 2 dígitos. | {{1000000 | formato_numero}} |
"1.000.000,00" |
| monto_con_formato | Aplica formato padrão de moeda. | {{empleado.sueldo | monto_con_formato}} |
"$ 1.200.000" |
| convertir_a_mayusculas | Transforma o texto em letras maiúsculas. | {{empleado.apellido | convertir_a_mayusculas}} |
"PÉREZ" |
| remove_zero | Remove o ".0" de números decimais. | {{empleado.horas_semanales | remove_zero}} |
"45" |
Operadores Lógicos
Utilizados dentro das tags{%if ... %}para realizar comparações.
| Operador | Descrição | Exemplo | Resultado esperado |
|---|---|---|---|
| == | Igual a | {%if empleado.genero == "Masculino"%} |
Verdadeiro se o gênero for Masculino. |
| != | Diferente de | {%if empleado.cargo != "Gerente"%} |
Verdadeiro se o cargo não for Gerente. |
| greater_than | Maior que | {%if empleado.sueldo greater_than 100000%} |
Verdadeiro se o salário superar 100.000. |
| less_than | Menor que | {%if empleado.antiguedad less_than 1%} |
Verdadeiro se tiver menos de 1 ano. |
| greater_or_equal_than | Maior ou igual | {%if variables.monto greater_or_equal_than 50%} |
Verdadeiro se for 50 ou mais. |
| less_or_equal_than | Menor ou igual | {%if variables.edad less_or_equal_than 18%} |
Verdadeiro se for 18 ou menos. |
| and | Operador lógico "E" | {%if var1 == "A" and var2 == "B"%} |
Verdadeiro somente se ambas forem verdadeiras. |
| or | Operador lógico "OU" | {%if var1 == "A" or var2 == "B"%} |
Verdadeiro se ao menos uma for verdadeira. |
Considerações Finais
-
Fechamento Obrigatório:Todo
{%if%}deve ser fechado com{%endif%}e todo{%for%}com{%endfor%}. -
Uso de Imagens:Para variáveis como
{{empresa.logo}},{{empleado.foto}}ou atributos do tipo arquivo, éestritamente necessáriousar o filtro| imagen: "ancho", "alto". -
Escape:Nesta guia é usado
\|para visualização em tabelas, mas na plataforma Buk utiliza-se apenas|.
Exemplos Práticos Enriquecidos
1. Cláusula de Salário por Extenso (Legal)
"O trabalhador receberá um salário base mensal de{{empleado.sueldo | monto_con_decimales_a_palabras}}."Resultado: ...soma de quinhentos mil reais 00/100.
2. Tabela de Dependentes Familiares
Utilizando loops para listar dependentes:{%for carga in empleado.cargas%}
- Nome:
{{carga.nombre}}- CPF:{{carga.rut}}- Parentesco:{{carga.relacion}}{%for%}
3. Condicional de Signatários
Se o documento exigir um segundo signatário apenas em certos casos:{%if firma.segundo_firmante.nombre != ""%}Assinatura 2:{{firma.segundo_firmante.nombre}} {%endif%}
4. Atributos Personalizados com Imagem
Se você tem um atributo "Assinatura Digitalizada" do tipo arquivo:{{empleado.custom_empleado.firma_escaneada | imagen: "150", "80"}}
5. Data de Término Dinâmica
"O contrato terá vigência de 3 meses, encerrando-se no dia{{fecha_de_hoy | fecha_n_meses_al_futuro: "3" | formato_fecha: "dd/mm/yyyy"}}."
💡Ainda tem dúvidas?
Se este artigo não responder completamente à sua dúvida ou se precisar de suporte em um caso específico, nossa equipe está disponível através dos canais de atendimento.
Chat | Telefone | E-mail
🎓Tem interesse em se certificar no Buk?
Convidamos você a fazer um curso do seu interesse na Buk Academy, onde encontrará conteúdos guiados para aprofundar o uso da plataforma e fortalecer seus conhecimentos.
🤖 Este artigo foi traduzido com inteligência artificial. Ver artigo original.