Artigos sobre: Conceitos

Variáveis de itens do kit

Interpolação de itens do kit


Até agora, para mostrar os itens do kit na proposta você tinha uma opção só: [[ItensKitSimulacao]], que imprime a tabela inteira, do jeito que ela é.


Agora existe uma forma de perguntar coisas ao kit e trazer só o que interessa:


"Qual é o nome do inversor?"
"Quantos módulos tem?"
"Se tiver bateria, mostra o modelo — se não tiver, some com esse trecho."


Este artigo mostra como escrever essas perguntas nos seus modelos.



1. Onde escrever


Esses códigos vão no modelo (Proposta, Documento ou Contrato) — no mesmo lugar onde você já usa [[NomeLead]], [[PrecoSimulacao]] e afins.


Quando a proposta é gerada, o sistema troca cada código pelo valor daquele kit específico.


Tudo o que este artigo ensina — os códigos [[...KitSimulacao]] e os blocos condicionais
{{if}} — funciona nos dois formatos: editor visual (HTML) e modelo Word (.docx).


💡 O modelo é o "molde". Propostas já geradas não mudam — o código passa a valer nas próximas.



2. Anatomia do código


Todo código de item do kit tem esta forma:


[[Seletor(filtros)CampoKitSimulacao]]


Um exemplo real, peça por peça:


[[Item(categoria:contains:cabo)NomeKitSimulacao]]


Parte

No exemplo

O que faz

Seletor

Item

Qual item pegar (o primeiro, o último, todos…)

Filtros

(categoria:contains:cabo)

Quais itens considerar

Campo

Nome

Qual informação mostrar

Final

KitSimulacao

Fixo, sempre termina assim


Resultado: "o nome do primeiro item cuja categoria contém "cabo"".


Os filtros são opcionais. Sem eles, a pergunta vale para o kit inteiro:


[[QtdKitSimulacao]]          →  quantos itens tem o kit
[[Item3NomeKitSimulacao]] → nome do 3º item do kit



3. Seletores: qual item pegar


Seletor

O que traz

Exemplo

Item

O primeiro que corresponder

[[Item(categoria:contains:inversor)NomeKitSimulacao]]

PrimeiroItem

O primeiro (mesma coisa, mais explícito)

[[PrimeiroItem(categoria:contains:cabo)NomeKitSimulacao]]

UltimoItem

O último que corresponder

[[UltimoItem(categoria:contains:cabo)NomeKitSimulacao]]

Item2, Item3

O , … que corresponder

[[Item2(categoria:contains:modulo)NomeKitSimulacao]]

Item-1, Item-2

Contando de trás pra frente (-1 = último)

[[Item-2(categoria:contains:cabo)NomeKitSimulacao]]

Lista

Todos, separados por vírgula

[[Lista(categoria:contains:cabo)NomeKitSimulacao]]

Soma

Soma dos valores numéricos

[[Soma(categoria:contains:modulo)QuantidadeKitSimulacao]]

Qtd

Quantos itens correspondem

[[Qtd(categoria:contains:cabo)KitSimulacao]]



4. Campos: qual informação mostrar


Campo

O que traz

Nome

Nome do item — CABO 6MM PVC 750V

Categoria

Categoria do item — MATERIAL CA (também aceita Tipo)

Codigo

Código do item — CABO6MM

Quantidade

Quantidade no kit — 35

Valor

Valor total do item no kit — 198,80

ValorUnitario

Valor de uma unidade — 5,68

Potencia

Potência do item — 620

Fabricante

Fabricante — GOODWE

Descricao

Descrição cadastrada

Funcao

Função no projeto de engenharia — Ramal de Entrada (ver seção 5.1)


Se você não escrever campo nenhum, o sistema assume:


  • Item, UltimoItem, Lista → mostram o Nome
  • Soma → soma a Quantidade
  • Qtd → não usa campo (só conta)


Ou seja, [[Item(categoria:contains:inversor)KitSimulacao]] já traz o nome do inversor.



5. Filtros: quais itens considerar


O filtro tem três partes separadas por dois-pontos:


campo:operador:valor


Operadores


Operador

Quando usar

Exemplo

contains

Contém o texto (recomendado)

categoria:contains:cabo

eq

É exatamente igual

categoria:eq:material ca

starts

Começa com

codigo:starts:INS


Prefira sempre contains. Se a categoria estiver cadastrada como "MATERIAL CA" e você escrever categoria:eq:cabo, não encontra nada. Com contains você acerta mesmo sem lembrar o nome exato.


Atalho: se você omitir o operador, o sistema usa contains automaticamente:


[[Item(categoria:cabo)NomeKitSimulacao]]        ← mesma coisa que categoria:contains:cabo


Acentos e maiúsculas não importam


Todos estes encontram a categoria "ELETRO ELETRÔNICOS":


categoria:contains:eletro
categoria:contains:eletronicos
categoria:contains:ELETRÔNICOS


Combinando filtros


Use ; entre os filtros. Todos precisam ser verdadeiros ao mesmo tempo:


[[Item(categoria:contains:cabo;nome:contains:6mm)QuantidadeKitSimulacao]]

quantidade do cabo de 6mm



5.1. Buscar pela FUNÇÃO no projeto (recomendado para documentos técnicos)


Filtrar por nome ("o cabo que tem 6mm no nome") funciona — até alguém cadastrar o item com
outro nome. Para projeto de engenharia, diagrama unifilar e memorial, existe um jeito bem
mais confiável: buscar pelo papel que o item cumpre no projeto.


Cada insumo pode receber uma ou mais Funções de Engenharia — por exemplo Ramal de Entrada,
String CC, Aterramento, Proteção CA:


  1. Cadastre as funções em Configurações → Precificação → Funções de Engenharia
  2. Marque-as nos insumos — na coluna Funções de engenharia da listagem (jeito mais rápido

para classificar vários) ou no detalhe do insumo


Depois, no modelo, é só pedir pela função:


Ramal de entrada: [[Item(funcao:contains:ramal de entrada)NomeKitSimulacao]]
Bitola: [[Item(funcao:contains:ramal de entrada)QuantidadeKitSimulacao]] m

Aterramento: [[Item(funcao:contains:aterramento)NomeKitSimulacao]]
String CC: [[Item(funcao:contains:string)NomeKitSimulacao]]


Por que é melhor: o nome do produto pode mudar (marca, bitola, fornecedor), mas o papel
dele no projeto continua o mesmo. O documento não erra o item.


💡 Um insumo pode ter várias funções. Um cabo 6mm pode ser Ramal de Entrada e
Circuito CA — ele aparece nas duas buscas.


⚠️ A função vem do seu catálogo de Insumos. Itens que chegam prontos de kits de
distribuidor não têm função cadastrada — para esses, continue usando nome: ou categoria:.


Para ver as funções de um item no documento: [[Item(codigo:eq:cabo6)FuncaoKitSimulacao]]
Ramal de Entrada, Circuito CA


📘 O passo a passo do cadastro e do vínculo está no artigo "Funções de Engenharia".



6. Quando não encontra nada


Se nenhum item corresponder ao filtro, o comportamento padrão é:


  • Item, UltimoItem, Lista → mostram -
  • Soma, Qtd → mostram 0


Você pode escolher o texto que aparece nesse caso com senao::


[[Item(categoria:contains:bateria;senao:Não incluso)NomeKitSimulacao]]


  • Com bateria no kit → "GROWATT AXE 5.0L"
  • Sem bateria → "Não incluso"


Outro exemplo:


Cabeamento: [[Lista(categoria:contains:cabo;senao:conforme projeto)NomeKitSimulacao]]



7. Mostrar um trecho só se o item existir ({{if}})


Às vezes você não quer só trocar a palavra — quer fazer sumir um trecho inteiro quando o item não existe (o título, a linha, a seção).


Para isso use o bloco condicional:


{{if condição}}
...aparece quando a condição é verdadeira...
{{endif}}


O padrão mais usado: "se existir esse tipo de item"


{{if [[Qtd(categoria:contains:bateria)KitSimulacao]] > 0}}
Sistema com armazenamento: [[Item(categoria:contains:bateria)NomeKitSimulacao]]
{{endif}}


  • Kit com bateria → "Sistema com armazenamento: GROWATT AXE 5.0L"
  • Kit sem bateria → a linha inteira desaparece da proposta


💡 A regra de ouro: use [[Qtd(...)KitSimulacao]] > 0 para dizer "se existir".


Com alternativa ({{else}})


{{if [[Qtd(categoria:contains:bateria)KitSimulacao]] > 0}}
Seu sistema é HÍBRIDO, com backup de energia.
{{else}}
Seu sistema é ON-GRID, conectado à rede.
{{endif}}


Operadores disponíveis na condição


Tipo

Operadores

Comparação

==   !=   >   <   >=   <=

Texto

Contains   Not Contains   StartsWith   EndsWith

Preenchimento

IsEmpty   IsNotEmpty

Combinação

AND   OR   NOT e parênteses


Exemplos:


{{if [[Qtd(categoria:contains:bateria)KitSimulacao]] > 0 AND [[Qtd(categoria:contains:inversor)KitSimulacao]] > 0}}
Kit híbrido completo.
{{endif}}

{{if [[Item(categoria:contains:inversor)FabricanteKitSimulacao]] == 'GOODWE'}}
Equipamento GoodWe — 12 anos de garantia.
{{endif}}


Condicionais dentro de condicionais


{{if [[Qtd(categoria:contains:inversor)KitSimulacao]] > 0}}
{{if [[Qtd(categoria:contains:inversor)KitSimulacao]] > 1}}
São [[Qtd(categoria:contains:inversor)KitSimulacao]] inversores.
{{else}}
Inversor: [[Item(categoria:contains:inversor)NomeKitSimulacao]]
{{endif}}
{{endif}}


⚠️ Todo {{if}} precisa do seu {{endif}}. O {{else}} é opcional.



8. Casos de uso prontos


Ficha técnica dos equipamentos principais


Módulos: [[Soma(categoria:contains:modulo)QuantidadeKitSimulacao]]x [[Item(categoria:contains:modulo)NomeKitSimulacao]]
Inversor: [[Item(categoria:contains:inversor)NomeKitSimulacao]]
Estrutura: [[Item(categoria:contains:estrutura;senao:conforme projeto)NomeKitSimulacao]]


Item extra (opcional) que só aparece quando foi vendido


{{if [[Qtd(categoria:contains:eletro)KitSimulacao]] > 0}}
BRINDE INCLUSO: [[Item(categoria:contains:eletro)NomeKitSimulacao]] — R$ [[Item(categoria:contains:eletro)ValorKitSimulacao]]
{{endif}}


Lista de materiais elétricos


Materiais CA inclusos ([[Qtd(categoria:contains:material ca)KitSimulacao]] itens):
[[Lista(categoria:contains:material ca)NomeKitSimulacao]]


Bateria com detalhes ou aviso


{{if [[Qtd(categoria:contains:bateria)KitSimulacao]] > 0}}
ARMAZENAMENTO
Modelo: [[Item(categoria:contains:bateria)NomeKitSimulacao]]
Unidades: [[Soma(categoria:contains:bateria)QuantidadeKitSimulacao]]
Investimento: R$ [[Soma(categoria:contains:bateria)ValorKitSimulacao]]
{{else}}
Este sistema não inclui banco de baterias. Consulte-nos para adicionar.
{{endif}}


Cabos de 6mm (item específico dentro da categoria)


Cabo 6mm: [[Item(categoria:contains:cabo;nome:contains:6mm)QuantidadeKitSimulacao]] metros


Resumo do investimento em extras


{{if [[Qtd(categoria:contains:eletro)KitSimulacao]] > 0}}
Itens adicionais: [[Lista(categoria:contains:eletro)NomeKitSimulacao]]
Total em adicionais: R$ [[Soma(categoria:contains:eletro)ValorKitSimulacao]]
{{endif}}



9. Categorias mais comuns


As categorias vêm do cadastro de Insumos (coluna Categoria). As mais usadas:


Categoria

Filtro sugerido

Módulo

categoria:contains:modulo

Inversor

categoria:contains:inversor

Estrutura

categoria:contains:estrutura

Material CA

categoria:contains:material ca

Material CC

categoria:contains:material cc

Bateria

categoria:contains:bateria


💡 Não sabe o nome exato da categoria? Abra Insumos, veja a coluna Categoria e use um pedaço do nome com contains.



10. Deu problema? Comece por aqui


Aparece - no lugar do valor


Significa: "procurei e não encontrei". Quase sempre é o filtro.


  1. Teste primeiro sem filtro nenhum:


[[QtdKitSimulacao]]


  • Veio um número (ex.: 29)? Os itens estão lá — o problema é o filtro. Siga para o passo 2.
  • Veio 0? O kit não tem itens estruturados. Reabra a proposta, ajuste o kit e salve.


  1. Confira a categoria em Insumos e use contains com um pedaço curto do nome:


[[Qtd(categoria:contains:cabo)KitSimulacao]]


  1. Ainda -? Tente pelo nome do item em vez da categoria:


[[Item(nome:contains:cabo)NomeKitSimulacao]]


O trecho do {{if}} sumiu inteiro


  • Confira se existe {{endif}} fechando o bloco.
  • Confira se a condição usa [[Qtd(...)KitSimulacao]] > 0 (e não um campo de texto).


Aparece 0 onde deveria ter valor


Soma e Qtd retornam 0 quando nada corresponde — mesma investigação do - acima.


O nome do item aparece, mas o valor vem vazio


O valor só existe para itens com preço cadastrado. Confira o insumo em Insumos → Preço de venda.



11. Referência rápida


SELETORES
[[Item(...)CampoKitSimulacao]] primeiro que corresponder
[[UltimoItem(...)CampoKitSimulacao]] último
[[Item2(...)CampoKitSimulacao]] o 2º (Item-1 = último)
[[Lista(...)CampoKitSimulacao]] todos, separados por vírgula
[[Soma(...)CampoKitSimulacao]] soma numérica
[[Qtd(...)KitSimulacao]] contagem

CAMPOS
Nome · Categoria · Codigo · Quantidade · Valor
ValorUnitario · Potencia · Fabricante · Descricao

FILTROS
categoria:contains:cabo contém (padrão)
categoria:eq:material ca igual exato
codigo:starts:INS começa com
a:contains:x;b:contains:y dois filtros (E)
senao:Não incluso texto quando não encontra

CONDICIONAL
{{if [[Qtd(categoria:contains:bateria)KitSimulacao]] > 0}}
tem bateria
{{else}}
não tem
{{endif}}



12. Bônus: coordenadas do projeto


Para memoriais, pranchas e documentos de homologação, o local do projeto também pode ser
interpolado — inclusive em UTM, calculado automaticamente a partir da latitude/longitude
cadastrada (você não precisa preencher nada além delas).


Código

Traz

Exemplo

[[LatitudeProjeto]]

Latitude como cadastrada

-23.5505

[[LongitudeProjeto]]

Longitude como cadastrada

-46.6333

[[LatitudePontoProjeto]]

Latitude sempre com ponto decimal

-23.5505

[[LongitudePontoProjeto]]

Longitude sempre com ponto decimal

-46.6333

[[UTMEastingProjeto]]

Coordenada E (Este), em metros

333.287,92

[[UTMNorthingProjeto]]

Coordenada N (Norte), em metros

7.394.588,32

[[UTMZonaProjeto]]

Zona UTM (fuso + hemisfério)

23S


Exemplo de uso em memorial:


Coordenadas UTM: E [[UTMEastingProjeto]] / N [[UTMNorthingProjeto]] — Zona [[UTMZonaProjeto]]


💡 Sempre informe a zona junto do par E/N: sem ela, a coordenada é ambígua.
Se o projeto não tiver latitude/longitude preenchidas, os três códigos retornam -.



Ficou com dúvida em algum modelo específico? Chame o suporte da Groner com o nome do modelo e o código que você escreveu — a gente ajusta junto.

Atualizado em: 28/07/2026

Este artigo foi útil?

Compartilhe seu feedback

Cancelar

Obrigado!