CD_OPEREMPRESTIMO — Operação de Empréstimo
Tela de configuração: MEQ001 — Parâmetros de Estoque Aba: Requisição / Recebimento Tabela:
PARMESTOQUE.CD_OPEREMPRESTIMOTipo: INTEGER (referenciaOPERACAO.CD_OPERACAO) Valor padrão: Nenhum (campo opcional, mas obrigatório para o fluxo de empréstimos)
Define qual operação de estoque (tipo Saída) será utilizada quando o módulo de Empréstimo/Ferramentaria (MEQ004) registrar a saída de um produto emprestado a uma pessoa. Sem esse parâmetro configurado, o módulo de empréstimo não consegue gerar o movimento de estoque.
Telas impactadas
| Tela | Módulo | Efeito |
|---|---|---|
| MEQ001 | Parâmetros de Estoque | Tela onde o parâmetro é configurado |
| MEQ004 | Empréstimo/Ferramentaria | Lê o parâmetro na abertura e usa como operação de estoque ao registrar empréstimos |
Campos envolvidos
| Campo | Tabela | Relação |
|---|---|---|
CD_OPEREMPRESTIMO | PARMESTOQUE | Campo do parâmetro |
CD_OPERACAO | OPERACAO | Tabela-alvo (FK RPARMESTOQUE_OPERACAO) |
DS_OPERACAO | OPERACAO | Descrição exibida no campo DS_OPEREMPRESTIMO |
TP_OPERACAO | OPERACAO | Deve ser S (Saída) |
ST_ATIVO | OPERACAO | Deve ser S (Ativo) |
Opções disponíveis
Este parâmetro armazena o código de uma operação de estoque. Não se trata de um campo com valores fixos (S/N/etc.); o usuário informa ou pesquisa o código da operação desejada. Abaixo estão os cenários de configuração:
Campo preenchido — Operação de Saída Ativa cadastrada
| O que faz | Detalhe |
|---|---|
| Define a operação padrão para empréstimos | Ao registrar um empréstimo no MEQ004, o sistema usa essa operação como CD_OPERACAO do movimento de estoque |
| Tipo obrigatório | A operação deve ser do tipo Saída (TP_OPERACAO = 'S') |
| Situação obrigatória | A operação deve estar Ativa (ST_ATIVO = 'S') |
Simulação passo a passo
- Acesse MEQ001 → Parâmetros de Estoque.
- Vá até a aba Requisição / Recebimento.
- No campo Requisição / Empréstimo, pressione
<F9>para abrir a pesquisa de operações. - Selecione uma operação de estoque ativa do tipo Saída (ex: código
10, descrição "Empréstimo de Ferramentas"). - Salve o parâmetro.
- Abra o módulo MEQ004 (Empréstimo/Ferramentaria) e registre um empréstimo de produto a uma pessoa.
- O sistema gera o movimento de estoque usando a operação configurada (código
10).
Resultado esperado: O movimento de estoque gerado pelo empréstimo utiliza a operação definida, debitando o produto do estoque conforme as regras da operação selecionada.
Exceção / Importante: Se a operação estiver inativa ou for do tipo Entrada, o sistema rejeita com as mensagens: "A Operação de Estoque não está Ativa [TEQ001]!" ou "A Operação de Estoque deve ser de Saída [TEQ001]!".
Campo vazio — Nenhuma operação definida
| O que faz | Detalhe |
|---|---|
| Impede o fluxo de empréstimos | Ao abrir o MEQ004, o sistema exibe erro e não permite registrar empréstimos |
Simulação passo a passo
- Acesse MEQ001 → Parâmetros de Estoque → aba Requisição / Recebimento.
- Certifique-se de que o campo Requisição / Empréstimo está vazio.
- Salve o parâmetro.
- Abra o módulo MEQ004 (Empréstimo/Ferramentaria).
- O sistema exibe a mensagem: "A Operação de Empréstimo não está cadastrada nos Parâmetros de Estoque [MEQ001]!".
- Não é possível registrar empréstimos até que o parâmetro seja preenchido.
Resultado esperado: O módulo de empréstimo é bloqueado com mensagem de orientação ao usuário para configurar o parâmetro em MEQ001.
Exceção / Importante: O parâmetro é lido toda vez que o MEQ004 é aberto. Se você alterar o valor em MEQ001, o MEQ004 reconhece a mudança na próxima abertura.
Validações automáticas
Quando o campo CD_OPEREMPRESTIMO é preenchido ou alterado em MEQ001, o sistema executa automaticamente as seguintes validações (via evento OnValidate):
| Validação | Condição | Mensagem de erro |
|---|---|---|
| Operação existe | Código informado não encontrado em OPERACAO | "A Operação de Estoque não está Cadastrada [TEQ001]!" |
| Operação ativa | ST_ATIVO = 'N' | "A Operação de Estoque não está Ativa [TEQ001]!" |
| Tipo Saída | TP_OPERACAO <> 'S' (deve ser Saída) | "A Operação de Estoque deve ser de Saída [TEQ001]!" |
Se todas as validações passam, o sistema preenche automaticamente o campo DS_OPEREMPRESTIMO com a descrição da operação.
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Função |
|---|---|---|
TdmMEQ001.tabPARMESTOQUECD_OPEREMPRESTIMOValidate | source/MEQ001/UdmMEQ001.pas | Valida o código informado (existência, ativo, tipo Saída) |
TfrmMEQ001.edtCD_OPEREMPRESTIMOKeyDown | source/MEQ001/UMEQ001.pas | Abre pesquisa de operações com <F9> (filtra ST_ATIVO='S' AND TP_OPERACAO='S') |
TdmMEQ001.tabPARMESTOQUEBeforePost | source/MEQ001/UdmMEQ001.pas | Validações antes de salvar; foco no campo se obrigatório |
Busca_Parametros (TdmMEQ004) | source/MEQ004/UdmMEQ004.pas | Lê CD_OPEREMPRESTIMO dos parâmetros de estoque na abertura do MEQ004 |
TdmMEQ004.tabMOVESTOQUECD_ITEMValidate | source/MEQ004/UdmMEQ004.pas | Atribui iCD_OPEREMPRESTIMO como CD_OPERACAO do movimento de estoque |
Referências SQL diretas ao campo
Não foram encontradas referências diretas ao campo CD_OPEREMPRESTIMO em scripts SQL (Scripts/). As referências existem apenas no DFM do datamodule (UdmMEQ001.dfm) nas queries de SELECT/UPDATE da tabela PARMESTOQUE.
Candidatas por uso da tabela PARMESTOQUE
Diversas procedures SQL fazem JOIN ou leitura da tabela PARMESTOQUE, mas não citam o campo CD_OPEREMPRESTIMO. Essas procedures podem ser impactadas indiretamente se a estrutura da tabela mudar, mas não possuem impacto funcional direto neste parâmetro.