Pular para o conteúdo principal

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_LOCALRETR Tipo: DOM_INTEGER (código do local) Obrigatório: Sim (validado por rotina, exige CD_TIPOLOCALRETR preenchido) 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​

CampoTabelaDescrição
CD_LOCALRETRPARAMRECAPCódigo do local de estoque para retrabalho
CD_TIPOLOCALRETRPARAMRECAPTipo de local associado (obrigatório junto)
DS_LOCALRETRPARAMRECAPDescrição do local (preenchida automaticamente via lookup)
CD_LOCALLOCALESTOQUECódigo do local referenciado (FK)
CD_TIPOLOCALLOCALESTOQUECó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 fazDetalhe
EditávelSim, desde que CD_TIPOLOCALRETR já esteja preenchido
ExigeCD_TIPOLOCALRETR preenchido previamente (caso contrário, erro na validação)
RestriçãoO código digitado deve existir em LOCALESTOQUE associado ao tipo de local informado

Simulação passo a passo​

  1. Acesse REC001 (Parâmetros da Recapadora).
  2. Navegue até a aba &Opção 1.
  3. Preencha o campo Tipo de Local Retrabalho (CD_TIPOLOCALRETR) com um código válido (ex: 1).
  4. No campo &Opção 1 (CD_LOCALRETR), digite o código de um local cadastrado em LOCALESTOQUE para aquele tipo (ex: 5).
  5. O sistema consulta LOCALESTOQUE com a combinação CD_TIPOLOCAL = 1 AND CD_LOCAL = 5.
  6. Se encontrado, o campo descrição (DS_LOCALRETR) é preenchido automaticamente com a descrição do local.
  7. 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 campo CD_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 fazDetalhe
EditávelSim
RestriçãoO código deve existir na tabela LOCALESTOQUE para o tipo de local informado

Simulação passo a passo​

  1. Acesse REC001, aba &Opção 1.
  2. Preencha CD_TIPOLOCALRETR com o código 1.
  3. No campo CD_LOCALRETR, digite um código que não exista em LOCALESTOQUE para o tipo 1 (ex: 9999).
  4. 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 fazDetalhe
EditávelSim (campo pode ficar vazio na tela)
RestriçãoSe vazio, rotinas de retrabalho em ordens de produção serão bloqueadas

Simulação passo a passo​

  1. Acesse REC001, aba &Opção 1.
  2. Deixe os campos CD_TIPOLOCALRETR e CD_LOCALRETR em branco.
  3. Salve o registro.
  4. 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 fazDetalhe
EditávelSim
Atalho<F9> no campo CD_LOCALRETR ou CD_TIPOLOCALRETR
ComportamentoAbre a tela de busca de locais de estoque; ao selecionar, preenche ambos os campos

Simulação passo a passo​

  1. Acesse REC001, aba &Opção 1.
  2. Posicione o cursor no campo CD_LOCALRETR (ou CD_TIPOLOCALRETR).
  3. Pressione <F9>.
  4. O sistema abre a tela de busca de Locais de Estoque.
  5. Selecione o local desejado (ex: "Depósito de Retrabalho").
  6. O sistema preenche automaticamente:
    • CD_TIPOLOCALRETR com o código do tipo de local selecionado (parâmetro 2).
    • CD_LOCALRETR com 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:

  1. Se CD_TIPOLOCALRETR for alterado → CD_LOCALRETR é limpo automaticamente.
  2. Ao preencher CD_LOCALRETR:
    • Se CD_TIPOLOCALRETR estiver 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 em LOCALESTOQUE → erro: "[TEQ003]"
    • Se válida → preenche DS_LOCALRETR automaticamente.
  3. 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​

RotinaArquivoComportamento
TdmREC001.tabCadastroCD_LOCALRETRValidateUdmREC001.pas:1373Valida o código digitado contra LOCALESTOQUE, exigindo CD_TIPOLOCALRETR preenchido
TdmREC001.tabCadastroCD_TIPOLOCALRETRValidateUdmREC001.pas:1397Ao alterar o tipo de local, limpa CD_LOCALRETR
TframeREC001.edtCD_LOCALRETRKeyDownUframeREC001.pas:1382Trata <F9> para busca de locais de estoque
TframeREC001.edtCD_TIPOLOCALRETRKeyDownUframeREC001.pas:1375Trata <F9> para busca de locais de estoque (preenche ambos os campos)

Referências SQL diretas ao campo CD_LOCALRETR​

ProcedureArquivoUso
GERA_ORDEMPRODUCAORECAPGERA_ORDEMPRODUCAORECAP.sql:261Lê CD_LOCALRETR de PARAMRECAP → valida contra nulo quando exame final = 'T' → usa como local de estoque para inserção em ITEMLOCAL
FECHA_ORDEMPRODUCAORECAPFECHA_ORDEMPRODUCAORECAP.sql:364Lê CD_LOCALRETR de PARAMRECAP → valida contra nulo quando exame final = 'T' → usa como local de estoque para inserção em ITEMLOCAL
CANCELA_ESTOQUERECAPCANCELA_ESTOQUERECAP.sql:47Lê 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.