Variáveis de Impressão de Produto
Esta página detalha todas as variáveis disponíveis no contexto de Produto, extraídas diretamente das classes
IntfEtiquetaProduto e IntfEtiquetaPrintWriter, com explicações, exemplos práticos de uso e protótipos visuais de
etiquetas impressas.
Identificação e código do produto
| Variável | Descrição | Exemplo de valor | Exemplo no modelo |
|---|---|---|---|
SKU | Código do produto na loja (mesmo valor de CODIGO_PROD). | 102030 | ^FDRef: @SKU@^FS |
CODIGO_PROD | Código do produto na loja (mesmo valor de SKU). | 102030 | ^FDItem: @CODIGO_PROD@^FS |
CODIGO | Código RuB composto no formato :p:<codigo>:d:<codPreco>. | :p:102030:d:01 | ^FD@CODIGO@^FS |
COD_PRECO | Código da tabela de preço aplicada ao produto. | 01 | ^FDTabela: @COD_PRECO@^FS |
CODIGO_SIZE | Quantidade de caracteres do texto contido em CODIGO. | 15 | ^FDTam: @CODIGO_SIZE@^FS |
CODIGO_SIZE_CHAR | Quantidade de caracteres de CODIGO convertida em caractere de controle. | Caractere ASCII 15 | Usado em códigos especiais |
CODIGO_PRODUTO_LIDO | Código de barras exato lido no dispositivo móvel na solicitação. | 7891000123456 | ^FD@CODIGO_PRODUTO_LIDO@^FS |
CODIGO_PRODUTO_LIDO_13 | Código lido completado com zeros à esquerda até 13 dígitos. | 07891000123456 | ^FD@CODIGO_PRODUTO_LIDO_13@^FS |
Descrição e complemento
| Variável | Descrição | Exemplo de valor | Exemplo no modelo |
|---|---|---|---|
DESCPRODUTO | Descrição do produto. Quando o produto pertence a uma cadeia (e ImprimirCadeiaDoProduto está ativo), recebe o nome da cadeia; caso contrário, recebe a descrição cadastrada do produto. | SABÃO EM PÓ BRILHO 1KG | ^FD@DESCPRODUTO@^FS |
COMPLEMENTO | Complemento do produto. Preenchido apenas quando o produto não utiliza cadeia. | FRAGRÂNCIA LAVANDA | ^FD@COMPLEMENTO@^FS |
Loja e fornecedor
| Variável | Descrição | Exemplo de valor | Exemplo no modelo |
|---|---|---|---|
ID_LOJA | Código da loja convertido de RuB para o identificador do ERP. | 101 | ^FDLoja: @ID_LOJA@^FS |
LOJA | Identificador da loja convertido para ERP (mesmo valor de ID_LOJA). | 101 | ^FDFilial: @LOJA@^FS |
FORNECEDOR_CODIGO | Código do fornecedor principal associado ao produto. | 9080 | ^FDFornecedor: @FORNECEDOR_CODIGO@^FS |
FORNECEDOR_NOME | Razão social ou nome fantasia do fornecedor. | QUÍMICA BRASIL S/A | ^FD@FORNECEDOR_NOME@^FS |
DT_ULTIMA_ENTRADA | Data da última compra/entrada do produto no formato padrão da loja. | 24/08/2026 | ^FDEntrada: @DT_ULTIMA_ENTRADA@^FS |
Variáveis de preço e embalagens
No RuB, os preços e códigos de barras são organizados e acessados através das embalagens cadastradas para o produto
(EmbalagemLoja). Para permitir a criação de layouts tanto fixos quanto dinâmicos e genéricos, o RuB disponibiliza 4
tipos de <PREFIXO> de embalagem:
1. Tipos de prefixos de embalagem disponíveis
A. Dicionário de Prefixos Disponíveis
Os prefixos são a base da variável e servem para dizer ao sistema qual embalagem do produto você quer acessar. O RuB disponibiliza 4 tipos principais de prefixos:
| Prefixo | Tipo de Acesso | Descrição | Exemplo Prático |
|---|---|---|---|
EMB<qtd> | Quantidade Fixa | Aponta para a embalagem que possui exatamente a quantidade informada no lugar de <qtd>. | EMB6 (Busca os dados de uma embalagem que tenha exatamente 6 itens. Se o produto tiver uma caixa com 10, essa variável ficará vazia). |
EMB_<n>O | Uso Ordinal | Acessa a embalagem pela sua ordem crescente de quantidade cadastrada no sistema. O <n> é o número da ordem e o O significa Ordinal. | EMB_1O (Sempre a 1ª menor embalagem, geralmente a unidade).EMB_2O (Sempre a 2ª menor embalagem, ideal para criar templates genéricos de atacarejo, independente se o fardo tem 6, 12 ou 24 unidades). |
MENOR_EMB | Extremo Inferior | Aponta diretamente para a embalagem com a menor quantidade cadastrada para o item. | MENOR_EMB (Se o produto for de peso variável, os valores de preço são ajustados automaticamente conforme a configuração de exibição). |
MAIOR_EMB | Extremo Superior | Aponta diretamente para a embalagem com a maior quantidade cadastrada para o produto. | MAIOR_EMB (Útil para acessar rapidamente dados da caixa master ou fardo principal de um produto). |
Visualização dos prefixos:
graph LR
subgraph G1 ["1. Acesso por Quantidade Fixa: EMB[qtd]"]
direction LR
F1["📦 Unidade (Qtd 1)"] -->|" Qtd = 1 "| R1["EMB1_VALUE = 4,50"]
F2["📦 Fardo (Qtd 12)"] -->|" Qtd = 12 "| R2["EMB12_VALUE = 4,00<br>EMB12_TOTAL = 48,00"]
end
subgraph G2 ["2. Acesso Ordinal: EMB_[n]O"]
direction LR
O1["📦 Unidade (R$ 4,50)"] -->|" 1ª Menor "| R3["EMB_1O_VALUE = 4,50<br>EMB_1O_QTD = 1"]
O2["📦 Fardo (R$ 48,00)"] -->|" 2ª Menor "| R4["EMB_2O_VALUE = 4,00<br>EMB_2O_TOTAL = 48,00<br>EMB_2O_QTD = 12"]
end
subgraph G3 ["3. Acesso Direto aos Extremos"]
direction LR
E1["📦 Unidade"] -->|" Menor Embalagem "| R5["MENOR_EMB_VALUE = 4,50"]
E2["📦 Fardo"] -->|" Maior Embalagem "| R6["MAIOR_EMB_VALUE = 4,00<br>MAIOR_EMB_TOTAL = 48,00"]
end
💡 Dica de Uso:
O uso do prefixo Ordinal (EMB_2O, EMB_3O) é altamente recomendado para a criação de layouts dinâmicos e
genéricos. Usando ele, um único template de etiqueta de gôndola atende tanto refrigerantes (fardo de 12) quanto
sabonetes (pack de 4), eliminando a necessidade de desenhar um layout para cada quantidade específica.
B. Embalagem por Quantidade Fixa (EMB<qtd>)
- O prefixo é composto pelo texto
EMBseguido diretamente pela quantidade exata de itens (emb.getQtd()), por exemplo:EMB1,EMB6,EMB12,EMB24. - Quando usar: quando o layout da etiqueta foi desenhado especificamente para um tipo de exibição fixo (ex: uma etiqueta de gôndola que possui um campo fixo exclusivo para "Caixa com 6").
- Limitação: se o produto tiver caixa com 10 unidades em vez de 6, a variável
EMB6_*ficará vazia para esse produto.
C. Embalagem Ordenada / Uso Ordinal (EMB_<n>O)
- O índice
nrepresenta a ordem crescente de quantidade das embalagens cadastradas no produto (1ª menor, 2ª menor, 3ª menor, etc.). - A letra
Orepresenta a designação Ordinal (1º, 2º, 3º).EMB_1O: sempre a 1ª menor embalagem do produto (geralmente a unidade ou fração mínima).EMB_2O: sempre a 2ª menor embalagem cadastrada (ex: pack promocional, display, caixa ou fardo), independente de conter 4, 6, 10 ou 12 unidades.EMB_3O: a 3ª menor embalagem cadastrada (ex: caixa máster ou pallet).
- Vantagem: permite criar modelos genéricos de atacarejo / atacado, onde o mesmo template atende refrigerantes (fardo com 12), biscoitos (display com 20) ou sabonetes (pack com 4), sem precisar de um template para cada quantidade!
D. Menor Embalagem (MENOR_EMB)
- Aponta diretamente para a embalagem com a menor quantidade cadastrada para o item.
- Quando o produto é de peso variável e corresponde à menor embalagem, seus valores de preço são automaticamente
ajustados conforme a configuração de exibição de estoque (
ConfigGeral.EXIBICAO_ESTOQUES) ou a embalagem unitária.
E. Maior Embalagem (MAIOR_EMB)
- Aponta diretamente para a embalagem com a maior quantidade cadastrada para o produto (ex: caixa master ou fardo principal).
2. Sufixos gerados para cada <PREFIXO>
Ao definir qualquer um dos prefixos acima (EMB1, EMB_1O, EMB_2O, MENOR_EMB, MAIOR_EMB), o RuB gera
automaticamente as seguintes variáveis sufixadas:
| Sufixo | Exemplo com Prefixo | Descrição | Exemplo de valor |
|---|---|---|---|
_VALUE | EMB_1O_VALUE | Preço unitário formatado da embalagem (mesmo valor de _UNID). | 4,50 |
_UNID | EMB_1O_UNID | Preço unitário formatado da embalagem. | 4,50 |
_TOTAL | EMB_2O_TOTAL | Preço total formatado da embalagem (preço unitário multiplicado pela quantidade). | 48,00 |
_QTD | EMB_2O_QTD | Quantidade de itens contidos na embalagem. | 12 |
_DESC | EMB_2O_DESC | Descrição da embalagem cadastrada. | FARDO C/ 12 |
_CODIGO_1 | MENOR_EMB_CODIGO_1 | Código de barras mais recente cadastrado para a embalagem (ordenado por modtime). | 7894900011517 |
_CODIGO | MENOR_EMB_CODIGO | Lista de todos os códigos de barras da embalagem separados por vírgula. | 7894900011517,7894900011524 |
3. Exemplo prático de modelo com Embalagem Ordinal e Fixa
Exemplo no Script de Impressão RUB:
^XA
^FO40,30^A0N,30,30^FD@DESCPRODUTO@^FS
#// Preco da Unidade (1a menor embalagem)
^FO40,80^A0N,25,25^FDPreco Unitario: R$ @EMB_1O_VALUE@^FS
#// Preco Atacado da 2a embalagem (seja caixa com 6, 12, 24, etc.)
#IF EMB_2O_VALUE != "" && $NUM(EMB_2O_VALUE)$ > 0
^FO40,120^A0N,25,25^FD@EMB_2O_DESC@ (@EMB_2O_QTD@ UN): R$ @EMB_2O_TOTAL@^FS
^FO40,150^A0N,22,22^FDNesta embalagem a unidade sai por: R$ @EMB_2O_VALUE@^FS
#END
^FO40,190^BY2^BCN,50,Y,N,N^FD@EMB_1O_CODIGO_1@^FS
^XZ
Protótipo visual da etiqueta impressa (Uso Ordinal):
+-----------------------------------------------------------+
| REFRIGERANTE COLA LATA 350ML |
| Preço Unitário: R$ 4,50 |
| FARDO C/ 12 (12 UN): R$ 48,00 |
| Nesta embalagem a unidade sai por: R$ 4,00 |
| |
| |||||| |||||||||||||| |||||||||||| ||||||| |
| 7894900011517 |
+-----------------------------------------------------------+
Embalagem do código lido no dispositivo
Quando a solicitação de impressão é disparada pela leitura de um código de barras específico no coletor ou smartphone,
as variáveis EMBALAGEM_LIDA_* são preenchidas com os dados da embalagem correspondente àquele código:
| Variável | Descrição | Exemplo de valor |
|---|---|---|
EMBALAGEM_LIDA_UN | Preço unitário formatado da embalagem do código lido. | 4,00 |
EMBALAGEM_LIDA_EMB | Preço total formatado da embalagem lida. | 48,00 |
EMBALAGEM_LIDA_QTD | Quantidade de itens da embalagem lida. | 12 |
EMBALAGEM_LIDA_DESC | Descrição da embalagem lida. | FARDO C/ 12 |
Propriedades dinâmicas e extras (PROP_<NOME>)
O RuB carrega automaticamente todas as propriedades cadastradas no produto (ProdutoPropriedade) e na empresa
(ProdutoEmpresaPropriedade). Elas são expostas para o template nos seguintes formatos:
PROP_<NOME_DA_PROPRIEDADE>: valor formatado da propriedade para exibição humana.PROP_PLAIN_<NOME_DA_PROPRIEDADE>: valor bruto/plano da propriedade sem formatações adicionais.
Exemplos comuns de propriedades extras
| Propriedade no RuB | Variável formatada | Variável plana | Exemplo de valor formatado |
|---|---|---|---|
| Marca do produto | PROP_MARCA | PROP_PLAIN_MARCA | NESTLÉ |
| Voltagem / Tensão | PROP_VOLTAGEM | PROP_PLAIN_VOLTAGEM | 220V |
| Cor / Acabamento | PROP_COR | PROP_PLAIN_COR | AZUL MARINHO |
| Origem / Fabricação | PROP_ORIGEM | PROP_PLAIN_ORIGEM | NACIONAL |
| Linha / Coleção | PROP_LINHA | PROP_PLAIN_LINHA | PREMIUM GOURMET |
| Prazo de Validade | PROP_VALIDADE_DIAS | PROP_PLAIN_VALIDADE_DIAS | 90 DIAS |
Exemplo de uso de propriedades extras no Script de Impressão RUB:
^XA
^FO40,30^A0N,30,30^FD@DESCPRODUTO@^FS
#// Exibicao condicional de Marca e Linha
#IF PROP_MARCA != ""
^FO40,70^A0N,22,22^FDMarca: @PROP_MARCA@^FS
#END
#IF PROP_LINHA != ""
^FO250,70^A0N,22,22^FDLinha: @PROP_LINHA@^FS
#END
#// Exibicao de caracteristicas tecnicas (Eletrodomesticos)
#IF PROP_VOLTAGEM != ""
^FO40,105^A0N,22,22^FDTensao: @PROP_VOLTAGEM@^FS
#END
#IF PROP_COR != ""
^FO250,105^A0N,22,22^FDCor: @PROP_COR@^FS
#END
^FO40,145^A0N,45,45^FDR$ @MENOR_EMB_VALUE@^FS
^FO40,200^BY2^BCN,45,Y,N,N^FD@MENOR_EMB_CODIGO_1@^FS
^XZ
Protótipo visual da etiqueta impressa com propriedades extras:
+-----------------------------------------------------------+
| LIQUIDIFICADOR TURBO POWER 5 VELOCIDADES |
| Marca: MONDIAL Linha: PREMIUM INOX |
| Tensão: 220V Cor: VERMELHO METÁLICO |
| |
| R$ 189,90 |
| |
| |||||| |||||||||||||| |||||||||||| ||||||| |
| 7899882211443 |
+-----------------------------------------------------------+
Data e hora do sistema
| Variável | Descrição | Exemplo de valor |
|---|---|---|
DT_ATUAL | Data corrente do sistema no formato de data configurado no RuB. | 24/08/2026 |
DTH_ATUAL | Data e hora correntes no formato completo do RuB. | 24/08/2026 18:30:00 |