CD_TIPOLOCALREMENT - Tipo de Local de Armazenagem (Remessa de Entrada)
Tela de configuração: REC001 - Parâmetros da Recapadora Localização: Parâmetros → Aba
&Opção 2Tabela:PARAMRECAP.CD_TIPOLOCALREMENTComponente:DBEdit39Tipo: Integer (campo editável) Valor padrão: Nenhum (NULL)
Define o tipo de local de armazenagem utilizado para remessas de entrada na recapadora. Juntamente com CD_LOCALREMENT, forma a chave composta que identifica o local de estoque onde os pneus/carcaças de entrada serão armazenados.
Telas impactadas
| Tela | Descrição |
|---|---|
| REC001 | Parâmetros da Recapadora — onde o valor é configurado |
Campos envolvidos
| Campo | Tabela | Relação |
|---|---|---|
CD_TIPOLOCALREMENT | PARAMRECAP | Campo principal — código do tipo de local |
CD_LOCALREMENT | PARAMRECAP | Campo complementar — código do local dentro do tipo |
DS_TIPOLOCALREMENT | (virtual/joined) | Descrição do tipo local — preenchida automaticamente pelo validate |
Chaves estrangeiras:
FK_PARAMRECAP_TIPOLOCALREMENT—CD_TIPOLOCALREMENT→TIPOLOCAL(CD_TIPOLOCAL)FK_PARAMRECAP_LOCALREMENT—(CD_LOCALREMENT, CD_TIPOLOCALREMENT)→LOCALESTOQUE(CD_LOCAL, CD_TIPOLOCAL)(ON UPDATE CASCADE)
Opções disponíveis
Este campo aceita qualquer código de tipo de local cadastrado na tabela TIPOLOCAL (tela TEQ002 — Tipos de Local). Não existe lista fixa de valores; os tipos disponíveis dependem do cadastro da empresa.
| O que faz | Detalhe |
|---|---|
| Editável | Sim — campo numérico editável na aba &Opção 2 |
| Exige valor válido | Sim — o código deve existir em TIPOLOCAL.CD_TIPOLOCAL |
Exige preenchimento de CD_LOCALREMENT | O local só é validado se o tipo estiver preenchido |
| Busca assistida | <F9> abre consulta de locais de armazenagem (LOCAL) |
Qualquer código válido de Tipo de Local
Simulação passo a passo
- Acesse REC001 — Parâmetros da Recapadora.
- Navegue até a aba
&Opção 2. - No campo Transporte (
DBEdit39), digite o código de um tipo de local cadastrado, por exemplo1. - O sistema busca automaticamente a descrição em
TIPOLOCALe preenche o campoDS_TIPOLOCALREMENT(ex: "Depósito"). - O campo
CD_LOCALREMENTé limpo automaticamente, exigindo nova definição do local específico. - Em seguida, informe o código do local em
CD_LOCALREMENT, por exemplo5. O sistema valida que o local5pertence ao tipo1emLOCALESTOQUE. - Salve o registro.
Resultado esperado: O par (tipo local, local) fica definido como destino de armazenagem para remessas de entrada da recapadora. Movimentações de entrada de carcaças e pneus usarão esse local de estoque conforme consulta em PersistenciaDao.pas.
Consulta assistida via <F9>
Simulação passo a passo
- Acesse REC001 → aba
&Opção 2. - Posicione o cursor no campo Transporte (
DBEdit39). - Pressione
<F9>. - O sistema abre a tela de busca de Locais de Armazenagem (
LOCAL). - Selecione o local desejado na lista.
- O sistema preenche automaticamente quatro campos de uma só vez:
CD_TIPOLOCALREMENT— código do tipo de local (parâmetro 2 do resultado)DS_TIPOLOCALREMENT— descrição do tipo de local (parâmetro 3)CD_LOCALREMENT— código do local (parâmetro 0)DS_LOCALREMENT— descrição do local (parâmetro 1)
- Salve o registro.
Resultado esperado: Todos os campos de tipo e local de remessa de entrada ficam preenchidos coerentemente, sem necessidade de informar cada um separadamente.
Excecao / Importante: A busca via
<F9>está disponível tanto no campoCD_TIPOLOCALREMENTquanto no campoCD_LOCALREMENT— ambos realizam a mesma busca e preenchem os mesmos quatro campos. Caso o usuário altere o tipo de local manualmente após ter selecionado um local, o campoCD_LOCALREMENTserá limpo automaticamente para evitar inconsistência.
Campo em branco (NULL)
Simulação passo a passo
- Acesse REC001 → aba
&Opção 2. - Deixe o campo Transporte (
DBEdit39) vazio. - Salve o registro.
Resultado esperado: O campo DS_TIPOLOCALREMENT também é limpo. Se CD_LOCALREMENT estiver preenchido, o sistema poderá bloquear a validação do local, pois exige o tipo como pré-requisito (mensagem: "É Obrigatório informar o Tipo de Local de Rem. Entrada para a Validação do Local de Armazenagem!").
Excecao / Importante: Caso
CD_TIPOLOCALREMENTesteja vazio e o usuário tente informarCD_LOCALREMENT, o sistema exibe erro e impede a continuação.
Código inexistente em TIPOLOCAL
Simulação passo a passo
- Acesse REC001 → aba
&Opção 2. - No campo Transporte, digite um código que não existe na tabela
TIPOLOCAL, por exemplo999. - Saia do campo ou tente salvar.
Resultado esperado: O sistema exibe a mensagem: "O Tipo de Local de Armazenagem não está Cadastrado [TEQ002]!"
Regra Geral de Validação
- Tipo antes do local:
CD_TIPOLOCALREMENTdeve ser informado antes deCD_LOCALREMENT. Caso contrário, o local não será validado. - Cascata: Ao alterar o tipo, o local (
CD_LOCALREMENT) é limpo automaticamente para forçar revalidação. - Integridade referencial: O par (local, tipo) deve existir na tabela
LOCALESTOQUE, garantindo que o local pertence ao tipo informado. - Uso em movimentações: O valor definido aqui é utilizado pelo serviço de geração de pedidos (
PersistenciaDao.pas) para determinar o local de destino ao gerar pedidos de entrada de carcaças.
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Descrição |
|---|---|---|
TdmREC001.qryCadastroCD_TIPOLOCALREMENTValidate | UdmREC001.pas:1430 | Valida o código digitado contra TIPOLOCAL; preenche descrição ou lança exceção |
TdmREC001.qryCadastroCD_LOCALREMENTValidate | UdmREC001.pas:1451 | Verifica se CD_TIPOLOCALREMENT está preenchido antes de validar o local |
TframeREC001.edtCD_TIPOLOCALREMENTKeyDown | UframeREC001.pas:1434 | Trata <F9> para busca assistida de locais de armazenagem |
TframeREC001.edtCD_LOCALREMENTKeyDown | UframeREC001.pas:1452 | Trata <F9> no campo local — também preenche CD_TIPOLOCALREMENT |
PedidoPneuDAO.GerarPedidosNotas | PersistenciaDao.pas:130 | Usa PR.CD_TIPOLOCALREMENT como CD_TIPOLOCAL na geração de pedidos de entrada |
Referências SQL diretas ao campo em Scripts/
Não foram encontradas referências literais ao campo CD_TIPOLOCALREMENT em procedures SQL da pasta Scripts/.
Candidatas por uso da tabela (PARAMRECAP)
As seguintes procedures/views acessam a tabela PARAMRECAP mas não citam o campo CD_TIPOLOCALREMENT diretamente. O impacto é indireto (via SELECT na tabela completa):
GERA_PEDIDOENTRADACARCACA(Scripts/GERA_PEDIDOENTRADACARCACA.sql:79) — geração de pedido de entrada de carcaças, candidata a usar o local de remessaGERA_PEDIDOSAIDACARCACA(Scripts/GERA_PEDIDOSAIDACARCACA.sql:45)FECHA_ORDEMPRODUCAORECAP(Scripts/FECHA_ORDEMPRODUCAORECAP.sql:321)CANCELA_ESTOQUERECAP(Scripts/CANCELA_ESTOQUERECAP.sql:49)ATUALIZA_PEDIDONOTA(Scripts/ATUALIZA_PEDIDONOTA.sql:132)