CD_GRUPOEMPRESTIMO - Grupo de Empréstimo/Requisição
Tela de configuração: MEQ001 - Parâmetros de Estoque Localização: Aba &Requisição / Recebimento Tabela:
PARMESTOQUE.CD_GRUPOEMPRESTIMOTipo:DOM_INTEGER(inteiro, FK paraGRUPO.CD_GRUPO) Valor padrão:NULL(não preenchido)
Descrição
Define o Grupo que será utilizado como filtro para operações de Empréstimo e Requisição de Estoque. Quando configurado, apenas produtos pertencentes a este grupo poderão ser incluídos em movimentações de empréstimo/requisição na tela MEQ004.
O campo referencia a tabela GRUPO (chave estrangeira RPARMESTOQUE_GRUPO). Ao ser preenchido, o sistema valida o código digitado e exibe automaticamente a descrição do grupo no campo adjacente (DS_GRUPOEMPRESTIMO).
Telas impactadas
| Tela | Descrição | Impacto |
|---|---|---|
| MEQ001 | Parâmetros de Estoque | Tela de configuração — onde o parâmetro é definido |
| MEQ004 | Empréstimo / Requisição de Estoque | Consulta o parâmetro para validar se o produto pertence ao grupo antes de permitir a inclusão no movimento |
Campos envolvidos
| Campo | Tabela | Tipo | Descrição |
|---|---|---|---|
CD_GRUPOEMPRESTIMO | PARMESTOQUE | DOM_INTEGER | Código do grupo (FK → GRUPO.CD_GRUPO) |
DS_GRUPOEMPRESTIMO | (campo calculado na query) | String | Descrição do grupo — trazida via LEFT JOIN GRUPO |
Opções disponíveis
Este parâmetro não possui lista de opções fixas. Trata-se de um campo de código inteiro que referencia a tabela GRUPO.
| O que faz | Detalhe |
|---|---|
| Tipo de controle | Campo editável (TDBEdit), numérico |
| Consulta auxiliar | Pressione <F9> para abrir pesquisa na tabela GRUPO |
| Validação | Código deve existir na tabela GRUPO; caso contrário, o sistema exibe erro |
| Efeito quando vazio | Nenhuma restrição de grupo é aplicada em empréstimos/requisições |
| Efeito quando preenchido | Em MEQ004, somente produtos cujo CD_GRUPO coincida com este valor são aceitos |
Preenchimento do código do Grupo
Simulação passo a passo
- Acesse MEQ001 — Parâmetros de Estoque.
- Navegue até a aba &Requisição / Recebimento.
- Localize o campo Requisição / Empréstimo (
CD_GRUPOEMPRESTIMO). - Digite o código de um grupo existente na tabela
GRUPO(por exemplo,5) ou pressione<F9>para abrir a pesquisa. - Na janela de pesquisa, filtre ou selecione o grupo desejado (colunas: Descrição e Código).
- Confirme a seleção.
- O sistema preenche automaticamente a descrição do grupo no campo adjacente.
- Salve o registro (
<F4>ou botão Salver).
Resultado esperado: O campo CD_GRUPOEMPRESTIMO na tabela PARMESTOQUE passa a conter o código do grupo selecionado. A partir desse momento, na tela MEQ004, apenas produtos associados a este grupo poderão ser incluídos em movimentações de empréstimo/requisição.
Excecao / Importante: Se o código digitado não corresponder a nenhum registro na tabela
GRUPO, o sistema exibe a mensagem: "O Grupo não está Cadastrado [TPO006]!" e impede a continuidade.
Limpeza do campo (deixar vazio)
Simulação passo a passo
- Acesse MEQ001 — Parâmetros de Estoque.
- Navegue até a aba &Requisição / Recebimento.
- Localize o campo Requisição / Empréstimo (
CD_GRUPOEMPRESTIMO). - Apague o conteúdo do campo (deixe vazio).
- Salve o registro.
Resultado esperado: O campo de descrição (DS_GRUPOEMPRESTIMO) é limpo automaticamente. Na tela MEQ004, a validação de grupo de empréstimo é desativada — qualquer produto poderá ser incluído na movimentação, independentemente do seu grupo.
Regra de validação em MEQ004 (Empréstimo/Requisição)
Quando o parâmetro CD_GRUPOEMPRESTIMO está preenchido, a tela MEQ004 aplica a seguinte regra durante a inclusão de itens:
- Ao abrir a tela, o sistema consulta
PARMESTOQUEe carrega o valor deCD_GRUPOEMPRESTIMOna variáveliCD_GRUPOEMPRESTIMO. - Ao validar o item (
CD_ITEM), o sistema busca oCD_GRUPOdo produto na tabelaITEM. - Se
iCD_GRUPOEMPRESTIMOestiver preenchido e o grupo do produto (Resultado[3]) for diferente do grupo configurado, o sistema exibe: "O Produto não está associado ao Grupo de Empréstimo [TPO001]!" e impede a inclusão.
Excecao / Importante: Se
CD_GRUPOEMPRESTIMOestiver vazio nos parâmetros, a validação de grupo é ignorada e qualquer produto pode ser utilizado na movimentação de empréstimo/requisição.
Parâmetros relacionados
| Parâmetro | Onde é configurado | Relação |
|---|---|---|
CD_OPEREMPRESTIMO | MEQ001 — Parâmetros de Estoque, aba &Requisição / Recebimento | Operação de empréstimo — obrigatório quando há movimentação de empréstimo |
CD_OPERDEVREQ | MEQ001 — Parâmetros de Estoque, aba &Requisição / Recebimento | Operação de devolução de requisição |
TP_PESSOAEMPRESTIMO | MEQ001 — Parâmetros de Estoque, aba &Requisição / Recebimento | Tipo de pessoa (Física/Jurídica) para empréstimo |
CD_LAYEMPRESTIMO | MEQ001 — Parâmetros de Estoque, aba &Requisição / Recebimento | Layout de impressão do empréstimo |
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Linha | Comportamento |
|---|---|---|---|
edtCD_GRUPOEMPRESTIMOKeyDown | UMEQ001.pas | 723 | Trata o pressionamento de <F9> — abre pesquisa na tabela GRUPO e preenche o campo com o código selecionado |
tabPARMESTOQUECD_GRUPOEMPRESTIMOValidate | UdmMEQ001.pas | 345 | Valida o código digitado consultando GRUPO; preenche descrição ou lança exceção se não encontrado |
Busca_Parametros (em MEQ004) | UdmMEQ004.pas | 138 | Lê CD_GRUPOEMPRESTIMO de PARMESTOQUE e armazena na variável iCD_GRUPOEMPRESTIMO para uso posterior |
tabMOVESTOQUECD_ITEMValidate (em MEQ004) | UdmMEQ004.pas | 203 | Compara o grupo do produto (ITEM.CD_GRUPO) com iCD_GRUPOEMPRESTIMO; lança exceção se divergirem |
Referências SQL diretas ao campo em Scripts/
Não foi encontrada referência direta ao campo CD_GRUPOEMPRESTIMO em procedures/views SQL dentro da pasta Scripts/. As procedures candidatas listadas abaixo utilizam a tabela PARMESTOQUE, mas não citam o campo CD_GRUPOEMPRESTIMO explicitamente — seu impacto é apenas estrutural (presença do campo na tabela).
Candidatas por uso da tabela (sem impacto funcional direto)
| Procedure/View | Arquivo | Evidência |
|---|---|---|
GERA_ESTOQUE | Scripts/GERA_ESTOQUE.sql | FROM PARMESTOQUE |
GERA_ESTOQUE_NOTAFISCAL | Scripts/GERA_ESTOQUE_NOTAFISCAL.sql | from PARMESTOQUE |
CANCELA_ESTOQUE | Scripts/CANCELA_ESTOQUE.sql | FROM PARMESTOQUE |
GERA_NOTAFISCALESTOQUE | Scripts/GERA_NOTAFISCALESTOQUE.sql | FROM PARMESTOQUE |
GRAVA_AVISOS | Scripts/GRAVA_AVISOS.sql | INNER JOIN PARMESTOQUE |
(e outras 15+ procedures que acessam PARMESTOQUE) | — | Utilizam a tabela mas não referenciam CD_GRUPOEMPRESTIMO |