Parâmetro de Código de Barras
Tela de configuração: MFA001 - Parâmetros de Faturamento Localização: Parâmetros → Ambos → Opção 1 Tabela:
PARMFATUR.ST_CODIGOBARRAValor padrão:N(Nenhum)
Telas impactadas
| Módulo | Código | Descrição | Contexto |
|---|---|---|---|
| Pedido de Venda | MPD002 | Pedidos de venda | Pedido |
| Pedido de Venda (Simplificado) | MPD005 | Pedido simplificado | Pedido |
| Pedido de Venda (Mobile) | MPD020 | Pedido de venda mobile | Pedido |
| Orçamento | MPD018 | Orçamentos | Pedido |
| Orçamento (Compra) | MPD092 | Orçamento de compra | Pedido |
| Orçamento (Carregamento) | MPD053 | Orçamento carregamento | Pedido |
| Devolução de Pedido | MPD037 | Devolução de pedidos | Devolução |
| Pedido Mobile | MPD056 | Pedido via mobile | Devolução |
| Nota Fiscal Saída | MNF002 | Emissão de NF de saída | NF Saída |
| Nota Fiscal Saída (Outra) | MNF008 | NF de saída outra | NF Saída |
| Nota Fiscal Entrada | MNF001 | NF de entrada | NF Entrada |
| NF Devolução | MNF007 | NF devolução | NF Entrada |
| Troca | MNF009 | Troca de produtos | NF Ambos |
| Ordem de Serviço | MOF001 | Ordens de serviço | Pedido |
| Transferência Saída | MTR008 | Transferência saída | NF Saída |
| Transferência (Outra) | MTR009 | Transferência outra | NF Saída |
| Transferência Entrada | MTR004 | Transferência entrada | NF Entrada |
| Recap NF | MRC020 | Notas fiscais recap | Armazenado |
Procedures impactadas
Procedures de validação de código de barras
| Procedure | Arquivo | Descrição |
|---|---|---|
VALIDA_CODIGOBARRA | Scripts/VALIDA_CODIGOBARRA.sql | Busca e valida código de barras do produto. Prioridade: ItemGrade → Balança → ITEM.CD_CODIGOBARRA → ITEMCODIGOBARRA → Embalagem (quando ST_CODIGOBARRACAIXA = 'S') → Lote |
Nota: A procedure
VALIDA_CODIGOBARRAnão lêST_CODIGOBARRAdiretamente — ela é chamada apenas quando o módulo já determinou que o código de barras está habilitado. Porém, ela lêST_CODIGOBARRACAIXApara habilitar a busca alternativa por código de barras de embalagem.
Campos envolvidos
| Campo | Descrição |
|---|---|
CD_CODIGOBARRA | Campo de entrada do código de barras (visível quando habilitado) |
CD_ITEM | Código do produto (torna-se ReadOnly quando ST_CODBARRASAPENAS = 'S') |
ITEM.CD_CODIGOBARRA | Código de barras principal cadastrado no produto |
ITEMCODIGOBARRA.CD_CODIGOBARRA | Tabela de códigos de barras secundários do produto |
ITEM.CD_CODBARRAEMB | Código de barras de embalagem (usado quando ST_CODIGOBARRACAIXA = 'S') |
Opções disponíveis
N - Nenhum
| O que faz | Detalhe |
|---|---|
| Campo de código de barras | Invisível em todas as telas |
| Foco ao inserir item | Vai direto para a grid de itens (campo código do produto) |
| Busca por código de barras | Desabilitada |
| ST_CODBARRASAPENAS | Forçado para 'N' e desabilitado no MFA001 |
Simulação passo a passo
- Vá em MFA001 → Parâmetros → Ambos → Opção 1 → ST_CODIGOBARRA = "Nenhum"
- Observe que o campo "Código de Barras Apenas" é desabilitado automaticamente
- Salve os parâmetros (F6)
- Abra um Pedido de Venda (MPD002)
- Adicione um novo item
- O foco vai direto para a grid de itens (coluna código do produto)
- Não há campo de código de barras visível
Resultado esperado: Nenhuma funcionalidade de código de barras está disponível. O usuário deve selecionar produtos manualmente pela grid.
Este é o valor padrão ao criar um novo registro no MFA001.
S - Nota Fiscal
| O que faz | Detalhe |
|---|---|
| Campo de código de barras nas NF | Visível nas telas de NF Saída e NF Entrada |
| Campo de código de barras nos Pedidos | Invisível nas telas de Pedido/Orçamento |
| Foco ao inserir item (NF) | Vai para o campo CD_CODIGOBARRA |
| Foco ao inserir item (Pedido) | Vai para a grid de itens |
| Módulos ativados | MNF002, MNF008, MNF001, MTR008, MTR009, MTR004, MNF009 |
| Módulos desativados | MPD002, MPD005, MPD020, MPD018, MPD092, MPD053, MOF001, MPD037, MPD056 |
Simulação passo a passo
- MFA001 → ST_CODIGOBARRA = "Nota Fiscal"
- Salve os parâmetros (F6)
- Abra uma NF de Saída (MNF002)
- O campo de código de barras aparece visível
- Adicione um novo item → O foco vai para o campo de código de barras
- Passe um leitor de código de barras → O produto é localizado automaticamente
- Agora abra um Pedido de Venda (MPD002)
- Não há campo de código de barras → Foco vai para a grid normalmente
Resultado esperado: Código de barras funciona apenas nas telas de Nota Fiscal (saída e entrada). Pedidos continuam sem código de barras.
P - Pedido
| O que faz | Detalhe |
|---|---|
| Campo de código de barras nos Pedidos | Visível nas telas de Pedido/Orçamento |
| Campo de código de barras nas NF | Invisível nas telas de NF |
| Foco ao inserir item (Pedido) | Vai para o campo CD_CODIGOBARRA |
| Foco ao inserir item (NF) | Vai para a grid de itens |
| Módulos ativados | MPD002, MPD005, MPD020, MPD018, MPD092, MPD053, MOF001, MPD037, MPD056 |
| Módulos desativados | MNF002, MNF008, MNF001, MTR008, MTR009, MTR004, MNF009 |
Simulação passo a passo
- MFA001 → ST_CODIGOBARRA = "Pedido"
- Salve os parâmetros (F6)
- Abra um Pedido de Venda (MPD002)
- O campo de código de barras aparece visível
- Adicione um novo item → O foco vai para o campo de código de barras
- Passe um leitor de código de barras → O produto é localizado automaticamente
- Agora abra uma NF de Saída (MNF002)
- Não há campo de código de barras → Foco vai para a grid normalmente
Resultado esperado: Código de barras funciona apenas nas telas de Pedido e Orçamento. Notas fiscais continuam sem código de barras.
A - Ambos
| O que faz | Detalhe |
|---|---|
| Campo de código de barras nos Pedidos | Visível |
| Campo de código de barras nas NF | Visível |
| Foco ao inserir item | Sempre vai para o campo CD_CODIGOBARRA |
| Todos os módulos | Habilitados — tanto pedidos quanto notas fiscais |
Simulação passo a passo
- MFA001 → ST_CODIGOBARRA = "Ambos"
- Salve os parâmetros (F6)
- Abra um Pedido de Venda (MPD002)
- O campo de código de barras aparece visível
- Adicione um item → Foco no campo de código de barras
- Agora abra uma NF de Saída (MNF002)
- O campo de código de barras também aparece visível
- Adicione um item → Foco no campo de código de barras
Resultado esperado: Código de barras funciona em todas as telas — pedidos, orçamentos, NF saída e NF entrada.
Observação Importante: Padrão de Conversão por Contexto
Cada módulo converte o valor de ST_CODIGOBARRA para uma variável local binária ('S' ou 'N') dependendo do seu contexto:
Contexto Pedido (ativa quando 'P' ou 'A')
Módulos: MPD002, MPD005, MPD020, MPD018, MPD092, MPD053, MOF001
Contexto NF Saída (ativa quando 'S' ou 'A')
Módulos: MNF002, MNF008, MTR008, MTR009
Contexto NF Entrada (ativa quando 'S' ou 'A')
Módulos: MNF001, MTR004, MNF009
Contexto Devolução/Mobile (valor bruto, verifica 'A' ou 'P')
Interação com Outros Parâmetros
ST_CODBARRASAPENAS (PARMFATUR.ST_CODBARRASAPENAS)
| O que faz | Detalhe |
|---|---|
| Disponível quando | ST_CODIGOBARRA diferente de 'N' (quando 'N', é forçado para 'N' e desabilitado) |
Quando ativado ('S') | Torna o campo CD_ITEM ReadOnly — o usuário só pode adicionar produtos pelo código de barras |
| Objetivo | Forçar que TODOS os produtos sejam inseridos exclusivamente via leitor de código de barras |
Comportamento por módulo:
| Módulo | Condição para CdItemRO |
|---|---|
| MPD002 | ST_CODIGOBARRA <> 'S' AND ST_CODBARRASAPENAS = 'S' |
| MNF002 | ST_CODIGOBARRA in ('S','A') AND ST_CODBARRASAPENAS = 'S' |
| MNF007 | ST_CODIGOBARRA <> 'P' AND ST_CODBARRASAPENAS = 'S' |
| MNF009 | ST_CODIGOBARRA <> 'P' AND ST_CODBARRASAPENAS = 'S' |
| MPD037 | ST_CODIGOBARRA <> 'S' AND ST_CODBARRASAPENAS = 'S' |
ST_CODIGOBARRACAIXA (PARMFATUR.ST_CODIGOBARRACAIXA)
| O que faz | Detalhe |
|---|---|
| Finalidade | Habilita busca de código de barras por embalagem (ITEM.CD_CODBARRAEMB) como alternativa |
| Usado em | VALIDA_CODIGOBARRA — quando não encontra o código na busca principal, tenta na embalagem |
| Interação | Quando 'S', habilita o parâmetro ST_CODBARRASEMBALAGEM |
Regra Geral de Comportamento ao Inserir Itens
Quando o código de barras está habilitado (iST_CODIGOBARRA = 'S') para o módulo:
- O campo
CD_CODIGOBARRAfica visível e editável - Ao adicionar um novo item, o foco vai automaticamente para o campo de código de barras
- O sistema chama
VALIDA_CODIGOBARRApara buscar o produto pelo código lido - A busca segue a prioridade: ItemGrade → Balança → ITEM → ITEMCODIGOBARRA → Embalagem → Lote
Quando o código de barras está desabilitado (iST_CODIGOBARRA = 'N'):
- O campo
CD_CODIGOBARRAfica invisível - Ao adicionar um novo item, o foco vai para a grid de itens (coluna código do produto)
- O usuário deve buscar o produto manualmente (F9 ou digitação do código)
Tabela Comparativa Resumida
| Opção | Descrição | Código de barras no Pedido? | Código de barras na NF? | Código de barras na NF Entrada? |
|---|---|---|---|---|
| N | Nenhum | Não | Não | Não |
| S | Nota Fiscal | Não | Sim | Sim |
| P | Pedido | Sim | Não | Não |
| A | Ambos | Sim | Sim | Sim |