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_INICIOCODBARRATipo:DOM_VARCHAR7Valor 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
| Tela | Arquivo | Uso |
|---|---|---|
| MNF001 - Manutenção de Nota Fiscal | source/MNF001/UMNF001.pas | Carrega na inicialização para gerar código de barras de itens |
| MNF001DadosXML - Importação XML | source/MNF001/UMNF001DadosXML.pas | Carrega ao cadastrar produtos via XML |
| TPO001 - Cadastro de Produtos | source/TPO001/UTPO001.pas | Carrega na inicialização; preenche NR_BARRAINICIAL de novos itens |
| TPO027 - Nota de Entrada | source/TPO027/UTPO027.pas | Carrega na inicialização para gerar código de barras de itens |
Campos envolvidos
| Campo | Tabela | Papel |
|---|---|---|
NR_BARRAINICIAL | Itens/Grade | Recebe o valor de NR_INICIOCODBARRA ao criar novo item |
TP_FORMATOCODBARRA | PARMSISTEMA | Define 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 comoPrefixo + 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 faz | Detalhe |
|---|---|
| Define o prefixo do código de barras | Livre, editável pelo usuário |
| Valor padrão | 1 |
- Acesse ADM010 - Parâmetros do Sistema.
- Na aba Configurações, localize o campo NR_INICIOCODBARRA.
- Verifique que o valor está
1(padrão). - Abra TPO001 - Cadastro de Produtos e crie um novo item.
- Na aba de geração de código de barras, o campo NR_BARRAINICIAL será preenchido automaticamente com
1. - 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)
- Acesse ADM010 - Parâmetros do Sistema.
- Na aba Configurações, altere NR_INICIOCODBARRA para
200. - Salve (
<F9>). - Abra TPO001 ou TPO027 e crie um novo item.
- O campo NR_BARRAINICIAL do novo item será preenchido com
200. - 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_BARRAINICIALindividual mantêm seu próprio valor. O formato final do código de barras depende também deTP_FORMATOCODBARRA(configurado em ADM010 - Parâmetros do Sistema).
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Linha | Evidência |
|---|---|---|---|
iniciar | source/MNF001/UMNF001.pas | 582 | dmMNF001.iNumIniCod := ExecutaConsulta(..., 'SELECT NR_INICIOCODBARRA FROM PARMSISTEMA ')[0]; |
TfrmMNF001DadosXml.btnCADASTRARPRODUTOSClick | source/MNF001/UMNF001DadosXML.pas | 1202 | dmMNF001.iNumIniCod := ExecutaConsulta(..., 'SELECT NR_INICIOCODBARRA FROM PARMSISTEMA ')[0]; |
iniciar | source/TPO001/UTPO001.pas | 936 | dmTPO001.iNumIniCod := ExecutaConsulta(..., 'SELECT NR_INICIOCODBARRA FROM PARMSISTEMA ')[0]; |
iniciar | source/TPO027/UTPO027.pas | 228 | dmTPO027.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.