Pular para o conteúdo principal

NR_INICIOCODBARRA - Número Inicial do Código de Barras

Tela de configuração: ADM010 - Parâmetros do Sistema Localização: aba Configurações Tabela: PARMSISTEMA.NR_INICIOCODBARRA Tipo: DOM_VARCHAR7 Valor padrão: 1

Descrição​

Define o prefixo inicial utilizado na montagem automática de códigos de barras para produtos/itens. Esse valor é posicionado no início do código gerado e complementado com o código do item, sequenciais ou dados de grade, conforme o formato de código de barras configurado.

Telas impactadas​

TelaArquivoUso
MNF001 - Manutenção de Nota Fiscalsource/MNF001/UMNF001.pasCarrega na inicialização para gerar código de barras de itens
MNF001DadosXML - Importação XMLsource/MNF001/UMNF001DadosXML.pasCarrega ao cadastrar produtos via XML
TPO001 - Cadastro de Produtossource/TPO001/UTPO001.pasCarrega na inicialização; preenche NR_BARRAINICIAL de novos itens
TPO027 - Nota de Entradasource/TPO027/UTPO027.pasCarrega na inicialização para gerar código de barras de itens

Campos envolvidos​

CampoTabelaPapel
NR_BARRAINICIALItens/GradeRecebe o valor de NR_INICIOCODBARRA ao criar novo item
TP_FORMATOCODBARRAPARMSISTEMADefine o formato de montagem do código de barras (configurado em ADM010 - Parâmetros do Sistema)

Comportamento​

O valor informado em NR_INICIOCODBARRA atua como prefixo na composição do código de barras. A lógica de montagem varia conforme o formato definido em TP_FORMATOCODBARRA:

  • Formato padrão (P): O código é montado como Prefixo + CD_GRADE + NR_LINHA + NR_COLUNA + CD_ITEM, respeitando o tamanho exigido pelo tipo de código de barras (EAN-13, EAN-8, etc.).
  • Sequencial: O código é montado como Prefixo + Sequencial, preenchido com zeros à esquerda até atingir o tamanho necessário. Para EAN-13, o dígito verificador é gerado automaticamente.

Preenchimento automático do campo NR_BARRAINICIAL​

Ao criar um novo item em qualquer uma das telas impactadas (TPO001, TPO027, MNF001DadosXML), o campo NR_BARRAINICIAL do item é automaticamente preenchido com o valor de NR_INICIOCODBARRA.

No cadastro via XML (MNF001DadosXML), ao gerar o código de barras, o sistema utiliza COALESCE(NR_BARRAINICIAL do item, NR_INICIOCODBARRA) — ou seja, se o item já tiver um valor individual de barra inicial, esse tem precedência sobre o parâmetro global.

Simulação passo a passo​

Cenário: valor 1 (padrão)​

O que fazDetalhe
Define o prefixo do código de barrasLivre, editável pelo usuário
Valor padrão1
  1. Acesse ADM010 - Parâmetros do Sistema.
  2. Na aba Configurações, localize o campo NR_INICIOCODBARRA.
  3. Verifique que o valor está 1 (padrão).
  4. Abra TPO001 - Cadastro de Produtos e crie um novo item.
  5. Na aba de geração de código de barras, o campo NR_BARRAINICIAL será preenchido automaticamente com 1.
  6. O código de barras gerado será 1 + zeros + código do item, respeitando o formato configurado.

Resultado esperado: Todos os novos itens terão o código de barras iniciando pelo prefixo 1.

Cenário: valor personalizado (ex.: 200)​

  1. Acesse ADM010 - Parâmetros do Sistema.
  2. Na aba Configurações, altere NR_INICIOCODBARRA para 200.
  3. Salve (<F9>).
  4. Abra TPO001 ou TPO027 e crie um novo item.
  5. O campo NR_BARRAINICIAL do novo item será preenchido com 200.
  6. O código de barras gerado será 200 + zeros + código do item.

Resultado esperado: Novos itens terão o código de barras iniciando pelo prefixo 200.

Exceção / Importante: Itens já cadastrados não são alterados automaticamente. A mudança do parâmetro só afeta novos itens criados após a alteração. Itens importados via XML que já possuam NR_BARRAINICIAL individual mantêm seu próprio valor. O formato final do código de barras depende também de TP_FORMATOCODBARRA (configurado em ADM010 - Parâmetros do Sistema).

Procedures impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoLinhaEvidência
iniciarsource/MNF001/UMNF001.pas582dmMNF001.iNumIniCod := ExecutaConsulta(..., 'SELECT NR_INICIOCODBARRA FROM PARMSISTEMA ')[0];
TfrmMNF001DadosXml.btnCADASTRARPRODUTOSClicksource/MNF001/UMNF001DadosXML.pas1202dmMNF001.iNumIniCod := ExecutaConsulta(..., 'SELECT NR_INICIOCODBARRA FROM PARMSISTEMA ')[0];
iniciarsource/TPO001/UTPO001.pas936dmTPO001.iNumIniCod := ExecutaConsulta(..., 'SELECT NR_INICIOCODBARRA FROM PARMSISTEMA ')[0];
iniciarsource/TPO027/UTPO027.pas228dmTPO027.iNumIniCod := ExecutaConsulta(..., 'SELECT NR_INICIOCODBARRA FROM PARMSISTEMA ')[0];

Referências SQL diretas ao campo​

Nenhuma procedure/view SQL em Scripts/ referencia diretamente o campo NR_INICIOCODBARRA. O uso é exclusivamente em rotinas Delphi.

Candidatas por uso da tabela​

As procedures/views listadas na seção de evidências utilizam a tabela PARMSISTEMA mas não referenciam este campo diretamente. Sem impacto funcional identificado.