CD_LEITOR - Código do Leitor de Código de Barras
Tela de configuração: ADM017 - Parâmetros de Código de Barras (Serial) Tabela:
PARMCODBARRASERIAL.CD_LEITORTipo:INTEGER NOT NULL— Chave primária Controle na tela:TDBEdit(edit, label "Porta")
Descrição
CD_LEITOR é o identificador único (chave primária) de cada configuração de leitor de código de barras serial cadastrada no sistema. Cada registro na tabela PARMCODBARRASERIAL representa um leitor com suas respectivas configurações de porta, sufixo, prefixo e intervalo de leitura.
Telas impactadas
| Tela | Arquivo | Uso |
|---|---|---|
| ADM017 - Parâmetros de Código de Barras | UADM017.pas | Cadastro e manutenção dos leitores (CRUD) |
| ADM012 - Parâmetros do Usuário | UADM012.pas | Seleção do leitor padrão por usuário |
| ADM013 - Duplicar Parâmetros | UADM013.pas | Duplica configuração de leitor ao copiar parâmetros de usuário |
Campos envolvidos
| Campo | Tabela | Tipo | Descrição |
|---|---|---|---|
CD_LEITOR | PARMCODBARRASERIAL | INTEGER NOT NULL | Código do leitor (PK) |
DS_LEITOR | PARMCODBARRASERIAL | VARCHAR(60) NOT NULL | Descrição do leitor |
DS_PORTA | PARMCODBARRASERIAL | VARCHAR(60) | Porta serial (ex: COM1) |
DS_SUFIXO | PARMCODBARRASERIAL | VARCHAR(60) | Sufixo de leitura |
DS_PREFIXO | PARMCODBARRASERIAL | VARCHAR(60) | Prefixo de leitura |
NR_INTERVALO | PARMCODBARRASERIAL | INTEGER | Intervalo de leitura |
CD_LEITOR | PARMUSUARIO | INTEGER | FK que vincula o leitor ao usuário |
Comportamento
Cadastro (ADM017)
O campo CD_LEITOR funciona como chave primária do cadastro de leitores na tela ADM017. Ele é editável apenas no momento da inclusão de um novo registro e fica somente leitura após salvar ou ao navegar nos registros existentes.
| O que faz | Detalhe |
|---|---|
| Editável | Somente em modo de inclusão (botão Novo) |
| Somente leitura | Após salvar, ao atualizar ou ao limpar |
| Obrigatório | Sim — não é possível salvar sem preencher |
| Validação | Valor deve ser maior que zero e não pode ser duplicado |
| Valor padrão | Nenhum — deve ser informado manualmente |
Simulação passo a passo
- Acesse a tela ADM017 - Parâmetros de Código de Barras (Serial).
- Clique no botão Novo — o campo Código do Leitor será habilitado para digitação e receberá o foco.
- Digite um código numérico inteiro (ex.:
1). - Preencha a Descrição do Leitor (ex.:
Leitor Caixa 1). - Confira a Porta (valor padrão
COM1já é preenchido automaticamente). - Ajuste os demais campos conforme necessário (Sufixo, Prefixo, Intervalo).
- Clique em Salvar.
Resultado esperado: O leitor é gravado na tabela PARMCODBARRASERIAL com o código informado. Após salvar, o campo Código do Leitor volta ao estado somente leitura e o registro recém-criado é localizado automaticamente na tela.
Exceção / Importante:
- Se o código informado for
<= 0, o sistema exibe a mensagem "O Código do Leitor deve ser Maior que Zero!" e impede o salvamento.- Se já existir um leitor com o mesmo código, o sistema exibe o alerta
W-0574e impede a duplicidade.- Ao clicar em Limpar (Cancelar), a edição é abandonada e o campo volta a ser somente leitura sem salvar alterações.
- Tentar salvar sem preencher o código exibe o alerta
W-0572.
Vinculação ao Usuário (ADM012)
O parâmetro CD_LEITOR também aparece em PARMUSUARIO, onde cada usuário pode ter um leitor padrão associado.
| O que faz | Detalhe |
|---|---|
| Campo | PARMUSUARIO.CD_LEITOR — FK para PARMCODBARRASERIAL.CD_LEITOR |
| Seleção | Feita via tela ADM012 (Parâmetros do Usuário), com pesquisa (tecla F9) |
| Validação | Verifica existência do leitor na tabela PARMCODBARRASERIAL |
| Opcional | Sim — o usuário pode não ter leitor vinculado |
Consulte também:
CD_LEITORem ADM012 - Parâmetros do Usuário (aba Parâmetros do Usuário, campo Leitor).
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Descrição |
|---|---|---|
TfrmADM017.btnAtualizarClick | source/ADM017/UADM017.pas:161 | Define edtCD_LEITOR.ReadOnly := True após atualizar |
TfrmADM017.btnLimparClick | source/ADM017/UADM017.pas:177 | Define edtCD_LEITOR.ReadOnly := True ao cancelar |
TfrmADM017.btnSalvarClick | source/ADM017/UADM017.pas:202 | Captura o código, salva e localiza o registro |
TfrmADM017.btnNovoClick | source/ADM017/UADM017.pas:217 | Move foco para edtCD_LEITOR e habilita edição |
TdmADM017.tabLEITORBeforePost | source/ADM017/UdmADM017.pas:51 | Valida preenchimento obrigatório do código |
TdmADM017.tabLEITORCD_LEITORValidate | source/ADM017/UdmADM017.pas:61 | Valida valor > 0 e unicidade do código |
TdmADM017.tabLEITORAfterInsert | source/ADM017/UdmADM017.pas:77 | Define DS_PORTA padrão = COM1 ao inserir novo registro |
TfrmADM012.edtCD_LEITORKeyDown | source/ADM012/UADM012.pas:775 | Abre pesquisa de leitores para vincular ao usuário |
TdmADM012.tabPARMUSUARIOCD_LEITORValidate | source/ADM012/UdmADM012.pas:467 | Valida existência do leitor ao vincular ao usuário |
TfrmADM013.btnDuplicaUsuarioClick | source/ADM013/UADM013.pas:472 | Copia CD_LEITOR ao duplicar parâmetros de usuário |
Scripts SQL
Nenhuma referência direta ao campo CD_LEITOR foi encontrada em Scripts/.