Pular para o conteúdo principal

CD_HISTREQUISICAO - Histórico de Requisição/Empréstimo

Tela de configuração: MEQ001 - Parâmetros de Estoque Localização: Aba &Requisição / Recebimento → campo Requisição / Empréstimo Tabela: PARMESTOQUE.CD_HISTREQUISICAO Tipo: DOM_INTEGER (chave estrangeira → HISTORICO.CD_HISTORICO) Valor padrão: Nenhum (campo opcional)


O que faz​

Define o histórico de estoque padrão utilizado para movimentações de requisição (saída de material do estoque) e empréstimo dentro do módulo de Estoque. Quando informado, o sistema utiliza esse histórico ao gerar lançamentos de estoque para requisições de materiais, empréstimos entre setores e consumo de matéria-prima em Ordens de Serviço.

AspectoDetalhe
EditávelSim, campo digitável com pesquisa <F9>
Exige cadastro válidoSim, deve existir na tabela HISTORICO
Restrições de validaçãoDeve estar Ativo (ST_ATIVO = 'S'), ser do Tipo Estoque (TP_HISTORICO = 'E') e ter Natureza Pagamento (TP_NATUREZA = 'P')
PreenchimentoOpcional (pode ficar em branco)

Campos envolvidos​

CampoTabelaDescrição
CD_HISTREQUISICAOPARMESTOQUECódigo do histórico vinculado (FK → HISTORICO.CD_HISTORICO)
DS_HISTREQUISICAO(campo calculado via JOIN)Descrição do histórico, exibida automaticamente após seleção
CD_OPERREQUISICAOPARMESTOQUEOperação de estoque associada (configurada em campo vizinho na mesma aba)

Como funciona​

1. Cadastro do Histórico​

O campo vincula-se à tabela HISTORICO (HISTORICO.CD_HISTORICO). Para ser válido, o histórico precisa atender a três regras simultâneas:

  1. Ativo → ST_ATIVO = 'S'
  2. Tipo Estoque → TP_HISTORICO = 'E'
  3. Natureza Pagamento → TP_NATUREZA = 'P' (não pode ser 'R' — Recebimento)

2. Pesquisa de Históricos (<F9>)​

Ao pressionar <F9> no campo, uma tela de pesquisa exibe os históricos disponíveis com as colunas Descrição e Código, filtrados automaticamente por:

SELECT DS_HISTORICO, CD_HISTORICO
FROM HISTORICO
WHERE ST_ATIVO = 'S'
AND TP_NATUREZA = 'P'
AND TP_HISTORICO = 'E'

3. Validação automática ao digitar​

Ao informar um código manualmente (sem usar <F9>), o sistema executa a mesma consulta e aplica as seguintes validações:

CondiçãoResultado
Histórico não cadastradoErro: "O Histório não está Cadastrado [TCB003]!"
Histórico inativo (ST_ATIVO = 'N')Erro: "O Histório não está Ativo [TCB003]!"
Tipo diferente de Estoque (TP_HISTORICO <> 'E')Erro: "O Histório deve ser do Tipo Estoque [TCB003]!"
Natureza Recebimento (TP_NATUREZA = 'R')Erro: "O Histório deve ser de Natureza Pagamento [TCB003]!"
Código válido e ativoA descrição é preenchida automaticamente no campo DS_HISTREQUISICAO

4. Uso em Ordem de Serviço (CONFIRMA_ORDEMSERVICO)​

Ao confirmar uma Ordem de Serviço que consome matéria-prima, o sistema busca CD_HISTREQUISICAO dos parâmetros de estoque para gerar a movimentação de saída via GERA_ESTOQUE:

-- Busca os parâmetros da empresa
SELECT P.CD_OPERREQUISICAO, P.CD_HISTREQUISICAO, ...
FROM PARMESTOQUE P
WHERE P.CD_EMPRESA = :CD_EMPRESA

-- Gera a baixa de estoque com o histórico configurado
SELECT V_DS_MENSAGEM
FROM GERA_ESTOQUE(:CD_EMPRESA, :CD_ITEM, :CD_TIPOLOCAL, :CD_LOCAL,
:V_CD_OPERREQUISICAO, :V_CD_HISTREQUISICAO,
CURRENT_DATE, 'OS', :NR_ORCAMENTO, ...)

5. Uso em outras telas do módulo​

O parâmetro é lido automaticamente pelas seguintes telas ao buscar parâmetros de estoque:

TelaDescrição
MEQ007Movimentação de Estoque (Requisição)
MEQ013Movimentação de Estoque (Saída)
MEQ014Movimentação de Estoque (Acerto)
MEQ015Devolução de Requisição
MEQ058Requisição de Materiais
MEQ071Requisição de Materiais (Leitor)

Telas impactadas​

TelaMóduloUso
MEQ001EstoqueTela de configuração — cadastro do parâmetro
MEQ007EstoqueLeitura do parâmetro para movimentações
MEQ013EstoqueLeitura do parâmetro para saídas
MEQ014EstoqueLeitura do parâmetro para acertos
MEQ015EstoqueLeitura do parâmetro para devoluções
MEQ058EstoqueLeitura do parâmetro para requisições
MEQ071EstoqueLeitura do parâmetro para requisições via leitor
OFI (OS)OficinaUso indireto via CONFIRMA_ORDEMSERVICO

Procedures impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoFunção
edtCD_HISTREQUISICAOKeyDownUMEQ001.pas:1032Pesquisa <F9> de históricos
tabPARMESTOQUECD_HISTREQUISICAOValidateUdmMEQ001.pas:653Validação do código digitado
Busca_Parametros (MEQ007)UdmMEQ007.pas:122Carrega parâmetro para tela de requisição
Busca_Parametros (MEQ013)UdmMEQ013.pas:125Carrega parâmetro para tela de saída
Busca_Parametros (MEQ014)UdmMEQ014.pas:86Carrega parâmetro para tela de acerto
Busca_Parametros (MEQ015)UdmMEQ015.pas:106Carrega parâmetro para devolução
Busca_Parametros (MEQ058)UdmMEQ058.pas:81Carrega parâmetro para requisição
Busca_Parametros (MEQ071)UdmMEQ071.pas:123Carrega parâmetro para requisição via leitor

Referências SQL diretas ao campo​

ProcedureArquivoUso
CONFIRMA_ORDEMSERVICOCONFIRMA_ORDEMSERVICO.sql:85Declara variável V_CD_HISTREQUISICAO e a utiliza na chamada a GERA_ESTOQUE

Candidatas por uso da tabela PARMESTOQUE​

Diversas procedures acessam PARMESTOQUE mas não citam CD_HISTREQUISICAO diretamente. Exemplos: GERA_ESTOQUE, GERA_ESTOQUE_NOTAFISCAL, CANCELA_ESTOQUE, GERA_ORDEMPRODUCAO, entre outras. Não há impacto funcional direto confirmado nessas rotinas para este campo.


Parâmetros relacionados​

ParâmetroTelaRelação
CD_OPERREQUISICAOMEQ001 (mesma aba)Operação de estoque vinculada à requisição
CD_OPERDEVREQMEQ001 (mesma aba)Operação para devolução de requisição
CD_HISTRECEBTOMEQ001 (mesma aba)Histórico para recebimentos (natureza 'R')

Exceção / Importante:

  • O histórico deve ter Natureza Pagamento (TP_NATUREZA = 'P'). Históricos de natureza Recebimento ('R') serão rejeitados — para recebimentos, utilize o parâmetro CD_HISTRECEBTO.
  • O campo é opcional. Se não informado, as requisições poderão não gerar movimentação de estoque ou utilizarão configuração alternativa dependendo da rotina que a chama.