CD_LOCALRETR — Local de Armazenagem para Retrabalho
Tela de configuração: REC001 — Parâmetros da Recapadora Localização: Aba &Opção 1, campo "&Opção 1" Tabela:
PARAMRECAP.CD_LOCALRETRTipo:DOM_INTEGER(código do local) Obrigatório: Sim (validado por rotina, exigeCD_TIPOLOCALRETRpreenchido) Valor padrão:NULL
Resumo
Define o local de estoque para onde pneus encaminhados a retrabalho são movimentados. O campo compõe uma chave estrangeira composta junto com CD_TIPOLOCALRETR (Tipo de Local para Retrabalho), ambos referenciando LOCALESTOQUE (CD_LOCAL, CD_TIPOLOCAL).
O parâmetro é utilizado em três rotinas SQL principais que processam ordens de produção da recapadora: geração (GERA_ORDEMPRODUCAORECAP), fechamento (FECHA_ORDEMPRODUCAORECAP) e cancelamento (CANCELA_ESTOQUERECAP). Em todas elas, se o exame final do pneu resultar em status Retrabalho (T), o sistema exige que este local esteja configurado; caso contrário, a operação é interrompida com mensagem de erro.
Campos envolvidos
| Campo | Tabela | Descrição |
|---|---|---|
CD_LOCALRETR | PARAMRECAP | Código do local de estoque para retrabalho |
CD_TIPOLOCALRETR | PARAMRECAP | Tipo de local associado (obrigatório junto) |
DS_LOCALRETR | PARAMRECAP | Descrição do local (preenchida automaticamente via lookup) |
CD_LOCAL | LOCALESTOQUE | Código do local referenciado (FK) |
CD_TIPOLOCAL | LOCALESTOQUE | Código do tipo de local referenciado (FK) |
Constraint:
ALTER TABLE PARAMRECAP ADD CONSTRAINT FK_PARAMRECAP_LOCALRETR
FOREIGN KEY (CD_LOCALRETR, CD_TIPOLOCALRETR)
REFERENCES LOCALESTOQUE (CD_LOCAL, CD_TIPOLOCAL)
ON UPDATE CASCADE;
Telas impactadas
- REC001 — Parâmetros da Recapadora (tela de configuração)
- TEQ003 — Locais de Estoque (cadastro referenciado via lookup)
Opções disponíveis
Este campo aceita um código numérico correspondente a um local de estoque cadastrado em LOCALESTOQUE. Não se trata de um campo com opções fixas (combo/radio); o valor é informado manualmente ou via busca com <F9>.
Informar um código válido de local
| O que faz | Detalhe |
|---|---|
| Editável | Sim, desde que CD_TIPOLOCALRETR já esteja preenchido |
| Exige | CD_TIPOLOCALRETR preenchido previamente (caso contrário, erro na validação) |
| Restrição | O código digitado deve existir em LOCALESTOQUE associado ao tipo de local informado |
Simulação passo a passo
- Acesse REC001 (Parâmetros da Recapadora).
- Navegue até a aba &Opção 1.
- Preencha o campo Tipo de Local Retrabalho (
CD_TIPOLOCALRETR) com um código válido (ex:1). - No campo &Opção 1 (
CD_LOCALRETR), digite o código de um local cadastrado emLOCALESTOQUEpara aquele tipo (ex:5). - O sistema consulta
LOCALESTOQUEcom a combinaçãoCD_TIPOLOCAL = 1 AND CD_LOCAL = 5. - Se encontrado, o campo descrição (
DS_LOCALRETR) é preenchido automaticamente com a descrição do local. - Salve o registro (
<F4>ou botão Salvar).
Resultado esperado: O parâmetro fica gravado em PARAMRECAP.CD_LOCALRETR = 5 e PARAMRECAP.CD_TIPOLOCALRETR = 1. Nas rotinas de geração/fechamento/cancelamento de ordem de produção, pneus com exame final "Retrabalho" serão movimentados para este local de estoque.
Exceção / Importante: Ao alterar o Tipo de Local (
CD_TIPOLOCALRETR), o sistema limpa automaticamente o campoCD_LOCALRETR, obrigando o usuário a informar um novo local válido para o novo tipo.
Informar um código inválido ou inexistente
| O que faz | Detalhe |
|---|---|
| Editável | Sim |
| Restrição | O código deve existir na tabela LOCALESTOQUE para o tipo de local informado |
Simulação passo a passo
- Acesse REC001, aba &Opção 1.
- Preencha
CD_TIPOLOCALRETRcom o código1. - No campo
CD_LOCALRETR, digite um código que não exista emLOCALESTOQUEpara o tipo1(ex:9999). - Tente sair do campo ou salvar.
Resultado esperado: O sistema exibe a mensagem:
"O Local de Armazenagem não está Cadastrado ou não está Associado a este Tipo de Local [TEQ003]!"
O campo não é gravado até que um valor válido seja informado.
Deixar o campo vazio (sem local de retrabalho)
| O que faz | Detalhe |
|---|---|
| Editável | Sim (campo pode ficar vazio na tela) |
| Restrição | Se vazio, rotinas de retrabalho em ordens de produção serão bloqueadas |
Simulação passo a passo
- Acesse REC001, aba &Opção 1.
- Deixe os campos
CD_TIPOLOCALRETReCD_LOCALRETRem branco. - Salve o registro.
- Gere ou feche uma ordem de produção cujo exame final resulte em Retrabalho (status
T).
Resultado esperado: O sistema exibe a mensagem:
"Informe o Local e TipoLocal de Armazenagem Para Exame Final com status de Retrabalho! [REC001]"
A operação é interrompida e a ordem de produção não é processada.
Buscar local com <F9>
| O que faz | Detalhe |
|---|---|
| Editável | Sim |
| Atalho | <F9> no campo CD_LOCALRETR ou CD_TIPOLOCALRETR |
| Comportamento | Abre a tela de busca de locais de estoque; ao selecionar, preenche ambos os campos |
Simulação passo a passo
- Acesse REC001, aba &Opção 1.
- Posicione o cursor no campo
CD_LOCALRETR(ouCD_TIPOLOCALRETR). - Pressione
<F9>. - O sistema abre a tela de busca de Locais de Estoque.
- Selecione o local desejado (ex: "Depósito de Retrabalho").
- O sistema preenche automaticamente:
CD_TIPOLOCALRETRcom o código do tipo de local selecionado (parâmetro 2).CD_LOCALRETRcom o código do local selecionado (parâmetro 0).
Resultado esperado: Ambos os campos ficam preenchidos com os valores correspondentes ao local selecionado na busca.
Regra geral de validação
A validação segue esta ordem:
- Se
CD_TIPOLOCALRETRfor alterado →CD_LOCALRETRé limpo automaticamente. - Ao preencher
CD_LOCALRETR:- Se
CD_TIPOLOCALRETRestiver vazio → erro: "É Obrigatório informar o Tipo de Local de Retrabalho para a Validação do Local de Armazenagem!" - Se a combinação (
CD_TIPOLOCALRETR,CD_LOCALRETR) não existir emLOCALESTOQUE→ erro: "[TEQ003]" - Se válida → preenche
DS_LOCALRETRautomaticamente.
- Se
- Nas rotinas SQL (geração/fechamento/cancelamento), se o exame final for
'T'(Retrabalho) e ambos os campos estiverem nulos → erro e operação cancelada.
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Comportamento |
|---|---|---|
TdmREC001.tabCadastroCD_LOCALRETRValidate | UdmREC001.pas:1373 | Valida o código digitado contra LOCALESTOQUE, exigindo CD_TIPOLOCALRETR preenchido |
TdmREC001.tabCadastroCD_TIPOLOCALRETRValidate | UdmREC001.pas:1397 | Ao alterar o tipo de local, limpa CD_LOCALRETR |
TframeREC001.edtCD_LOCALRETRKeyDown | UframeREC001.pas:1382 | Trata <F9> para busca de locais de estoque |
TframeREC001.edtCD_TIPOLOCALRETRKeyDown | UframeREC001.pas:1375 | Trata <F9> para busca de locais de estoque (preenche ambos os campos) |
Referências SQL diretas ao campo CD_LOCALRETR
| Procedure | Arquivo | Uso |
|---|---|---|
GERA_ORDEMPRODUCAORECAP | GERA_ORDEMPRODUCAORECAP.sql:261 | Lê CD_LOCALRETR de PARAMRECAP → valida contra nulo quando exame final = 'T' → usa como local de estoque para inserção em ITEMLOCAL |
FECHA_ORDEMPRODUCAORECAP | FECHA_ORDEMPRODUCAORECAP.sql:364 | Lê CD_LOCALRETR de PARAMRECAP → valida contra nulo quando exame final = 'T' → usa como local de estoque para inserção em ITEMLOCAL |
CANCELA_ESTOQUERECAP | CANCELA_ESTOQUERECAP.sql:47 | Lê CD_LOCALRETR de PARAMRECAP → valida contra nulo quando tipo cancelamento = 'T' (retrabalho) → usa como destino da movimentação de estoque |
Candidatas por uso da tabela (sem referência direta ao campo)
As demais procedures listadas no inventário usam a tabela PARAMRECAP mas não referenciam o campo CD_LOCALRETR diretamente em seus scripts. Não foram identificadas referências indiretas adicionais que impactem o comportamento deste parâmetro.