Pular para o conteúdo principal

TP_FORMATOCODBARRA - Formato do Código de Barras

Tela de configuração: ADM010 — Parâmetros do Sistema Localização: aba Configurações → campo "Configurações" (cmbFormato) Tabela: PARMSISTEMA.TP_FORMATOCODBARRA Tipo: DOM_CHAR1 — valor único caractere Valor padrão: P (Linha/Coluna/Produto)


Telas impactadas​

Tela / RotinaImpacto
ADM010 — Parâmetros do SistemaOnde o parâmetro é configurado. O combo cmbFormato só fica habilitado quando o tipo de código de barras (TP_CODIGOBARRA) for BCCODABAR, BCCODE39, BCCODE128 ou BCEAN_13.
TPO027 — Ordem de ProduçãoO formato é carregado automaticamente ao iniciar a tela, ao clicar "Novo" item e ao trocar de página. É gravado no campo TP_GERACAO do item.
MNF001 — Nota Fiscal (gravação)Ao gravar itens de grade na nota fiscal, o formato define como o código de barras é montado.

Campos envolvidos​

CampoTabelaObservação
TP_FORMATOCODBARRAPARMSISTEMAParâmetro principal
TP_GERACAOItens de produção (TPO027)Recebe o valor do parâmetro ao inserir novo item
TP_CODIGOBARRAPARMSISTEMATipo do sistema de código de barras — condiciona a habilitação deste parâmetro

Dependência com NR_INICIOCODBARRA (PARMSISTEMA.NR_INICIOCODBARRA): no formato P, o campo NR_INICIOCODBARRA define o dígito inicial do código gerado (primeiro caractere). Configurado na mesma tela ADM010.

Opções disponíveis​

P — Linha/Coluna/Produto (Padrão)​

O que fazDetalhe
Composição do códigoMonta o código de barras concatenando: dígito inicial + Linha + Coluna + Item
Tamanho variávelAdapta-se ao tipo de código de barras selecionado (TP_CODIGOBARRA): 20 posições (CODABAR/CODE39/CODE128), 12 (EAN-13), 8 (EAN-8) ou 10 (demais)
Editável na ADM010Sim, quando TP_CODIGOBARRA for BCCODABAR, BCCODE39, BCCODE128 ou BCEAN_13

Simulação passo a passo​

  1. Acesse ADM010 → Parâmetros do Sistema.
  2. Na aba Configurações, certifique-se de que o campo "Código de Barras" (cmbTP_CODIGOBARRA) esteja definido como BCCODE128 (ou outro tipo compatível).
  3. Selecione Linha/Coluna/Produto (Padrão) no campo "Configurações" (cmbFormato).
  4. Defina o número inicial no campo "Número Inicial do Código de Barras" (ex.: 1).
  5. Clique em Salvar.
  6. Na tela TPO027, ao gerar código de barras para um item de grade (ex.: Linha 3, Coluna 5, Item 1234), o sistema monta: 1 + 000003 (Linha) + 005 (Coluna) + 0001234 (Item) = código de 20 posições.

Resultado esperado: O código de barras gerado para itens de grade seguirá a composição Inicial + Linha + Coluna + Item, respeitando o tamanho do tipo de código selecionado.


S — Sequencial​

O que fazDetalhe
Composição do códigoGera um código sequencial numérico, garantindo que não exista duplicata
Requer tamanho ≥ 12Só gera código quando o tipo de código de barras comporta 12 ou mais posições
Editável na ADM010Sim, quando TP_CODIGOBARRA for BCCODABAR, BCCODE39, BCCODE128 ou BCEAN_13

Simulação passo a passo​

  1. Acesse ADM010 → Parâmetros do Sistema.
  2. Na aba Configurações, certifique-se de que o campo "Código de Barras" esteja definido como BCCODE128 (tipo com 20 posições).
  3. Selecione Sequencial no campo "Configurações" (cmbFormato).
  4. Clique em Salvar.
  5. Na tela MNF001, ao gravar itens de grade na nota fiscal, o sistema gera automaticamente um código sequencial de tamanho compatível, verificando se já não existe no banco.

Resultado esperado: Cada item de grade receberá um código de barras sequencial único, sem relação com linha/coluna/item.

Exceção / Importante: Se o tipo de código de barras selecionado tiver tamanho inferior a 12 posições (ex.: EAN-8), o formato S não gera código — o fluxo simplesmente ignora a geração sequencial, podendo deixar o código em branco.


Regra de habilitação do campo na ADM010​

O combo cmbFormato só fica habilitado quando o campo Código de Barras (TP_CODIGOBARRA, configurado na mesma aba) contiver um dos valores:

TP_CODIGOBARRANomeHabilita formato?
BCCODABARCodabar✓ Sim
BCCODE39Code 39✓ Sim
BCCODE128Code 128✓ Sim
BCEAN_13EAN-13✓ Sim
Qualquer outro—✗ Não (força P)

Quando desabilitado, o sistema automaticamente altera o valor para P e exibe a dica: "Para este sistema de Códigos não é possivel alteração do Formato. Verifique!".

Tabela Comparativa Resumida​

OpçãoValorComposiçãoDuplicidadeRequisito de tamanho
Linha/Coluna/Produto (Padrão)PInicial + Linha + Coluna + ItemPossível (depende dos dados)Funciona com qualquer tamanho
SequencialSNumérico auto-incrementadoGarantida (verifica existência)≥ 12 posições

Procedures impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoLinhaUso
TfrmADM010.cmbTP_CODIGOBARRAChangesource/ADM010/UADM010.pas507Força P quando o tipo de código de barras não permite formato
TdmADM010.tabPARMSISTEMAAfterInsertsource/ADM010/UdmADM010.pas210Atribui valor padrão P ao inserir novo registro
Grava_NotaFiscalsource/MNF001/UdmMNF001.pas2862, 2910Define a lógica de montagem do código de barras (P = Linha/Coluna/Item, S = Sequencial)
iniciarsource/TPO027/UTPO027.pas252Carrega o formato ao abrir a tela
TfrmTPO027.btnNovoClicksource/TPO027/UTPO027.pas619Carrega o formato ao criar novo item
TfrmTPO027.PaginasChangesource/TPO027/UTPO027.pas1393Carrega o formato ao trocar de página
TdmTPO027.tabITEMAfterInsertsource/TPO027/UdmTPO027.pas635Grava o formato no campo TP_GERACAO do item

Referências SQL​

Nenhuma procedure ou view SQL em Scripts/ referencia diretamente o campo TP_FORMATOCODBARRA. As procedures listadas na seção de candidatas acessam a tabela PARMSISTEMA para outros fins (contabilidade, SPED, importação etc.), sem impacto funcional direto neste parâmetro.