Linguagem dos modelos
Versão legadaO campo Template dos modelos de comanda e dos complementos é escrito numa linguagem própria, parecida com uma página da internet (HTML). Esta página é a referência dessa linguagem, para quem quer ajustar um modelo: mudar um texto, tirar o endereço, pôr o número da comanda maior e assim por diante.
Como um modelo funciona
Seção intitulada “Como um modelo funciona”Um modelo tem duas partes misturadas:
- Os dados, entre chaves duplas:
{{Pesagem.Numero}}é trocado pelo número da comanda,{{Empresa.Nome}}pelo nome do restaurante e assim por diante. - O layout, com marcações entre
<e>:<p>para um parágrafo,<table>para uma tabela,boldpara negrito,font-size="large"para letra grande.
Por exemplo:
<p bold font-size="large" text-center>Comanda N.{{Pesagem.Numero}}</p><p>Data: {{Pesagem.Data}}</p>imprime o número da comanda em negrito, letra grande e centralizado, e embaixo a data e a hora da pesagem.
Parte 1: os dados
Seção intitulada “Parte 1: os dados”Variáveis
Seção intitulada “Variáveis”Escreva o nome da variável entre {{ e }}, respeitando as letras maiúsculas e minúsculas. Um nome escrito errado
não dá erro: só fica em branco na comanda.
Pesagem (a comanda que está sendo impressa):
| Variável | O que é |
|---|---|
{{Pesagem.Numero}} |
O número da comanda. |
{{Pesagem.Data}} |
A data e a hora da pesagem, como 24/10/2026 12:15:30. |
{{Pesagem.Descricao}} |
O título do preço (ou o título do à vontade, quando ele é atingido). |
{{Pesagem.ValorUnitario}} |
O valor do quilo (ou o valor do preço fixo). |
{{Pesagem.PesoAferido}} |
O peso do prato, em quilos, já sem a tara. |
{{Pesagem.Quantidade}} |
O peso, nos preços por quilo; 1, nos preços fixos e no à vontade. |
{{Pesagem.Total}} |
O valor da comanda. |
{{Pesagem.Codigo}} |
O código do produto, quando o preço usa código. |
Empresa (os dados de cadastros › Empresa):
| Variável | O que é |
|---|---|
{{Empresa.Nome}} |
Nome da empresa. |
{{Empresa.Endereco}}, {{Empresa.EnderecoNumero}}, {{Empresa.Bairro}} |
Endereço, número e bairro. |
{{Empresa.Cidade}}, {{Empresa.Estado}}, {{Empresa.Cep}} |
Cidade, UF e CEP. |
{{Empresa.Telefone}}, {{Empresa.Celular}} |
Telefone e celular. |
{{Empresa.ContatoEmpresa}} |
Telefone e celular juntos, separados por “ / “ (só os que estiverem preenchidos). |
{{Empresa.Email}}, {{Empresa.Site}} |
E-mail e site. |
{{Empresa.PossuiAlgumContato}} |
Verdadeiro quando há telefone ou celular (para usar em condições). |
Frase (a frase sorteada em cadastros › Frases):
| Variável | O que é |
|---|---|
{{Frase.Descricao}} |
O texto da frase. |
{{Frase.Autor}} |
O autor. |
{{ExibirFrase}} |
Verdadeiro quando a opção Exibir Frases? está ligada e há uma frase ativa. |
Configurações da comanda (de comanda › Configurações gerais):
| Variável | O que é |
|---|---|
{{ConfiguracaoComanda.MensagemRodape}} |
A mensagem do rodapé. |
{{ExibirMensagemRodape}} |
Verdadeiro quando há mensagem de rodapé. |
{{ConfiguracaoComanda.ProdutosAdicionaisComanda}} |
A lista dos produtos adicionais. Cada item tem {{Descricao}} e {{ValorUnitario}}. |
{{ProdutosAdicionaisAgrupadosPorDois}}, {{ProdutosAdicionaisAgrupadosPorTres}} |
A mesma lista, em grupos de dois ou de três, para montar uma grade com vários adicionais por linha. |
{{LinhasEmBranco}} |
Uma lista com tantos itens quanto a Qtd. Linhas em branco, para repetir linhas vazias. |
{{ConfiguracaoComanda.ImprimirCodigoBarras}} |
Verdadeiro quando a opção Imprimir código de barras? está ligada. |
{{CodigoBarras}} |
O conteúdo do código de barras, montado pelo template do código. |
Outras:
| Variável | O que é |
|---|---|
{{PrecoAtual}} |
O valor do quilo do preço em uso, conforme a tabela do dia. |
{{ModalidadePorQuilo}} |
Verdadeiro quando o preço é Por Quilo (falso no Fixo). |
{{ComandaLivre}} |
Verdadeiro na comanda livre (sem peso e sem valor). |
{{Gratis}} |
Verdadeiro quando há peso, mas o total é zero. |
Formatação dos valores
Seção intitulada “Formatação dos valores”Depois do nome da variável, ponha : e o formato desejado:
| Formato | Exemplo | Resultado |
|---|---|---|
C2 (moeda) |
{{Pesagem.Total:C2}} |
R$ 27,93 |
N3 (3 casas) |
{{Pesagem.PesoAferido:N3}} |
0,700 |
N2 (2 casas) |
{{Pesagem.ValorUnitario:N2}} |
39,90 |
N0 (sem casas) |
{{Pesagem.Quantidade:N0}} |
1 |
dd/MM/yyyy (data) |
{{Pesagem.Data:dd/MM/yyyy}} |
24/10/2026 |
HH:mm (hora) |
{{Pesagem.Data:HH:mm}} |
12:15 |
D6 (zeros à esquerda) |
{{Pesagem.Numero:D6}} |
000123 |
Condições
Seção intitulada “Condições”Para imprimir um trecho só quando uma variável é verdadeira (ou está preenchida), use {{#Variavel}} e
{{/Variavel}}. Para imprimir só quando ela é falsa (ou está vazia), use {{^Variavel}} e {{/Variavel}}:
{{#Empresa.Site}}<p text-center>{{Empresa.Site}}</p>{{/Empresa.Site}}
{{#ModalidadePorQuilo}}{{Pesagem.Quantidade:N3}}kg{{/ModalidadePorQuilo}}{{^ModalidadePorQuilo}}{{Pesagem.Quantidade:N0}}{{/ModalidadePorQuilo}}O primeiro trecho só imprime o site se ele estiver cadastrado. O segundo mostra a quantidade com 3 casas e “kg” nos preços por quilo, e sem casas nos preços fixos.
Repetições
Seção intitulada “Repetições”Quando a variável é uma lista, {{#Lista}} … {{/Lista}} repete o trecho uma vez para cada item. Dentro do trecho,
use os campos do item:
<table no-border> {{#ConfiguracaoComanda.ProdutosAdicionaisComanda}} <tr> <td>{{Descricao}}</td> <td text-right>{{#ValorUnitario}}{{ValorUnitario:C2}}{{/ValorUnitario}}</td> </tr> {{/ConfiguracaoComanda.ProdutosAdicionaisComanda}}</table>Nas listas agrupadas (ProdutosAdicionaisAgrupadosPorDois e ...PorTres), cada item é um grupo; use {{#.}} …
{{/.}} para repetir os produtos do grupo, como faz o Modelo 07.
Parte 2: o layout
Seção intitulada “Parte 2: o layout”Tudo o que é impresso precisa estar dentro de um bloco. Texto solto, fora de um bloco, não é impresso.
| Marcação | O que faz |
|---|---|
<p>texto</p> |
Parágrafo. O texto quebra nas palavras quando não cabe na linha. |
<table>, <tr>, <td> |
Tabela: <table> abre a tabela, cada <tr> é uma linha e cada <td> é uma célula. |
<br/> |
Linha em branco. |
<hr/> |
Linha separadora, com traços de ponta a ponta. |
<logo/> |
Logo cadastrado em Empresa. Sem logo, não imprime nada. |
<bar-code>...</bar-code> |
Código de barras. |
Espaços repetidos e quebras de linha do texto do modelo não contam: cada bloco começa numa linha nova, e o texto dentro dele é ajustado à largura do papel.
Tamanho da letra
Seção intitulada “Tamanho da letra”O atributo font-size define o tamanho da letra do bloco inteiro:
| Atributo | Letra |
|---|---|
font-size="small" |
Pequena. |
font-size="normal" |
Normal (o padrão). |
font-size="large" |
Grande. |
Quantos caracteres cabem em cada tamanho é o que está em Configurações › Impressora (Fonte pequena, Fonte média e Fonte grande). Na letra grande cabem bem menos caracteres: um nome comprido quebra em duas linhas.
<p font-size="large" bold text-center>{{Empresa.Nome}}</p><p font-size="small">Letra pequena, para textos longos.</p>Negrito, sublinhado e itálico
Seção intitulada “Negrito, sublinhado e itálico”| Atributo | Efeito |
|---|---|
bold |
Negrito. |
underline |
Sublinhado. |
italic |
Itálico, nas impressoras que têm esse recurso. |
<p bold underline>TOTAL: {{Pesagem.Total:C2}}</p>Alinhamento
Seção intitulada “Alinhamento”| Atributo | Efeito |
|---|---|
text-left |
À esquerda (o padrão). |
text-center |
Centralizado. |
text-right |
À direita. |
text-justified |
Preenche a linha inteira. |
text-top, text-middle, text-bottom |
Alinhamento vertical dentro de uma linha de tabela mais alta. |
Também vale a forma align="left", align="center" ou align="right". O alinhamento pode ser posto no <p>, na
<table>, na <tr> ou na <td>; o mais específico vence.
Tabelas
Seção intitulada “Tabelas”As tabelas são o jeito de pôr informações lado a lado na mesma linha.
- As colunas são definidas pela primeira linha (
<tr>). As outras linhas devem ter a mesma quantidade de células. - A largura de cada coluna é dada pelo atributo
widthnas células da primeira linha:
Valor de width |
Largura da coluna |
|---|---|
width="10" |
Exatamente 10 caracteres. |
width="auto" |
Do tamanho do maior texto da coluna. |
width="*" |
Divide o espaço que sobra (o padrão). |
width="2*" |
Recebe o dobro do espaço que sobra de uma coluna *. |
- A altura de uma linha pode ser fixada com
heightna<tr>:height="3"dá 3 linhas de altura. O padrão,auto, cresce conforme o texto.
<table no-border> <tr> <td>{{Pesagem.Descricao}}</td> <td width="auto" text-right>{{Pesagem.Total:C2}}</td> </tr></table>As tabelas nascem com todas as bordas. Para mudar, use estes atributos na <table>:
| Atributo | Bordas |
|---|---|
all-borders |
Todas. |
no-border |
Nenhuma. |
inside-borders |
Só as internas, entre linhas e colunas. |
inside-horizontal-border |
Só as linhas horizontais internas. |
inside-vertical-border |
Só as divisões verticais internas. |
outside-borders |
Só o contorno. |
top-border, bottom-border, left-border, right-border |
Uma borda externa. |
header-border |
Uma caixa em volta da primeira linha (o cabeçalho). |
white-space-border |
Bordas de espaço em branco. |
white-space-vertical-border |
Separa as colunas com espaço, sem linhas. |
Os atributos são aplicados na ordem em que aparecem. O Modelo 01, por exemplo, usa
<table bottom-border inside-borders top-border>.
Para trocar os caracteres das bordas, use border="*" (todos), edge (as arestas), corner (os cantos) ou um de
border-left, border-top, border-right, border-bottom, border-top-left, border-top-right,
border-bottom-right e border-bottom-left. O atributo pad-value="." troca o caractere que preenche o espaço vazio
da célula, ótimo para listas com pontilhado.
Linha separadora
Seção intitulada “Linha separadora”<hr/> desenha uma linha de traços na largura do papel. Use pad-value para outro caractere: <hr pad-value="="/>.
<logo/> imprime o logo cadastrado em Empresa. Atributos opcionais:
align="left",align="center"oualign="right": posição na linha.widtheheight: tamanho em pontos da impressora. Informando só um dos dois, a proporção da imagem é mantida.
<logo align="center"/>Código de barras
Seção intitulada “Código de barras”<bar-code> imprime um código de barras do tipo escolhido nas
configurações gerais (EAN-13 ou Code128). O normal é
usar o código montado lá, só quando a opção estiver ligada:
{{#ConfiguracaoComanda.ImprimirCodigoBarras}}<bar-code>{{CodigoBarras}}</bar-code>{{/ConfiguracaoComanda.ImprimirCodigoBarras}}Exemplo completo: uma comanda simples
Seção intitulada “Exemplo completo: uma comanda simples”<logo align="center"/><p bold font-size="large" text-center>{{Empresa.Nome}}</p><hr/><table no-border> <tr> <td>Comanda N.{{Pesagem.Numero}}</td> <td text-right>{{Pesagem.Data:dd/MM/yyyy HH:mm}}</td> </tr></table><hr/><table no-border font-size="large"> <tr> <td>{{Pesagem.Descricao}}</td> <td width="auto" text-right>{{^ComandaLivre}}{{Pesagem.Total:C2}}{{/ComandaLivre}}</td> </tr></table>{{#ModalidadePorQuilo}}<p>{{Pesagem.PesoAferido:N3}} kg x {{Pesagem.ValorUnitario:C2}}</p>{{/ModalidadePorQuilo}}{{#ExibirMensagemRodape}}<br/><p text-center>{{ConfiguracaoComanda.MensagemRodape}}</p>{{/ExibirMensagemRodape}}{{#ConfiguracaoComanda.ImprimirCodigoBarras}}<bar-code>{{CodigoBarras}}</bar-code>{{/ConfiguracaoComanda.ImprimirCodigoBarras}}Erros comuns
Seção intitulada “Erros comuns”| Sintoma | Causa provável |
|---|---|
| Um dado não aparece | Nome da variável escrito errado ou com maiúsculas/minúsculas trocadas (não dá erro, só fica em branco). |
| Um texto não sai na comanda | O texto está fora de um bloco (<p>, <table>). |
| Um trecho inteiro some | Uma condição {{#...}} sem o {{/...}} correspondente, ou com o nome diferente no fechamento. |
| Colunas desalinhadas | As linhas da tabela não têm a mesma quantidade de células da primeira linha. |
| Linhas quebrando no meio | Os caracteres por linha da impressora estão maiores do que o papel comporta. |