CD_HISTRECEBTO — Histórico de Recebimento / Planilha Cega
Tela de configuração: MEQ001 — Parâmetros de Estoque Localização: Aba &Requisição / Recebimento Tabela:
PARMESTOQUE.CD_HISTRECEBTOTipo:INTEGER· Chave estrangeira →HISTORICO.CD_HISTORICOValor padrão:NULL(sem histórico vinculado)
Finalidade
Define o histórico contábil/padrão utilizado quando há recebimento de materiais (planilha cega) na empresa. Esse histórico é gravado nos movimentos de estoque gerados pelo processo de recebimento e serve como classificação para relatórios e integração contábil.
O campo faz par com CD_OPERRECEBTO (operação de estoque do recebimento). Enquanto a operação define o tipo de movimentação, o histórico classifica a natureza do lançamento.
Telas impactadas
| Tela | Uso |
|---|---|
| MEQ001 — Parâmetros de Estoque | Cadastro/manutenção do parâmetro (tela de configuração) |
| MCO005 — Confirmação de Ordem de Compra / Recebimento | Lê CD_HISTRECEBTO ao confirmar recebimento para gravar no movimento de estoque |
Campos envolvidos
| Campo | Tabela | Relação |
|---|---|---|
CD_HISTRECEBTO | PARMESTOQUE | FK → HISTORICO.CD_HISTORICO |
DS_HISTRECEBTO | (virtual, via JOIN) | Descrição do histórico (HISTORICO.DS_HISTORICO) |
CD_OPERRECEBTO | PARMESTOQUE | Operação de estoque complementar ao histórico |
Opções disponíveis
Este campo é um código numérico que aponta para um registro na tabela HISTORICO. Não possui lista fixa de opções — o usuário seleciona qualquer histórico ativo que atenda aos filtros de validação.
Faixa válida de valores
| O que faz | Detalhe |
|---|---|
| Tipo editável | Campo numérico (TDBEdit), permite digitação direta ou pesquisa via <F9> |
| Validação automática | Ao sair do campo, o sistema valida regras descritas abaixo |
| Pesquisa assistida | Pressione <F9> para abrir pesquisa de históricos filtrados |
Histórico válido (qualquer código de HISTORICO que passe nas validações)
| O que faz | Detalhe |
|---|---|
| Editável | O campo aceita qualquer código numérico existente em HISTORICO |
| Exige | Histórico cadastrado, ativo, tipo Estoque, natureza Recebimento |
| Restrição | Históricos inativos, de natureza diferente de Recebimento ou tipo diferente de Estoque são rejeitados |
Simulação passo a passo
- Acesse MEQ001 (Parâmetros de Estoque).
- Localize a aba &Requisição / Recebimento.
- No campo Recebimento / Planilha Cega (
CD_HISTRECEBTO), pressione<F9>. - O sistema abre uma pesquisa listando históricos com as seguintes condições:
ST_ATIVO = 'S'(ativo)TP_NATUREZA = 'R'(natureza Recebimento)TP_HISTORICO = 'E'(tipo Estoque)
- Selecione o histórico desejado (ex: "Recebimento de Mercadoria").
- O código é preenchido automaticamente e a descrição (
DS_HISTRECEBTO) é exibida ao lado. - Salve o registro.
Resultado esperado: O código do histórico fica gravado em PARMESTOQUE.CD_HISTRECEBTO. Nas próximas confirmações de recebimento de compra (MCO005), esse histórico será utilizado nos movimentos de estoque gerados.
Digitação direta do código
| O que faz | Detalhe |
|---|---|
| Editável | Permite digitar o código numérico diretamente |
| Exige | O código deve existir na tabela HISTORICO |
| Restrição | Mesmas regras de validação do <F9> |
Simulação passo a passo
- Acesse MEQ001 → aba &Requisição / Recebimento.
- No campo Recebimento / Planilha Cega, digite um código (ex:
15). - Saia do campo (pressione
Tab). - O sistema executa a validação automaticamente.
Resultado esperado: Se o código for válido (cadastrado, ativo, tipo Estoque, natureza Recebimento), a descrição é preenchida. Caso contrário, o sistema exibe erro e impede a continuação.
Exceção / Importante:
- Se o histórico estiver inativo (
ST_ATIVO = 'N'), o sistema exibe: "O Histório não está Ativo [TCB003]!"- Se o histórico não for do tipo Estoque (
TP_HISTORICO <> 'E'), exibe: "O Histório deve ser do Tipo Estoque [TCB003]!"- Se o histórico tiver natureza Recebimento (
TP_NATUREZA = 'P'), exibe: "O Histório deve ser de Natureza Recebimento [TCB003]!" (atenção: a mensagem original usa 'P', mas a lógica indica natureza diferente de Recebimento).- Se o código não existir na tabela, exibe: "O Histório não está Cadastrado [TCB003]!"
Campo em branco (NULL)
| O que faz | Detalhe |
|---|---|
| Permitido | O campo aceita valor nulo |
| Efeito | Nenhum histórico padrão é aplicado no recebimento |
Simulação passo a passo
- Acesse MEQ001 → aba &Requisição / Recebimento.
- Deixe o campo Recebimento / Planilha Cega vazio.
- Salve o registro.
Resultado esperado: O campo fica gravado como NULL. No MCO005, ao confirmar um recebimento, o sistema não aplicará histórico contábil ao movimento de estoque (a menos que a operação de estoque já defina um).
Regra de validação (resumo técnico)
Ao alterar o valor de CD_HISTRECEBTO, o sistema executa tabPARMESTOQUECD_HISTRECEBTOValidate que consulta:
SELECT CD_HISTORICO, DS_HISTORICO, TP_NATUREZA, ST_ATIVO, TP_HISTORICO
FROM HISTORICO
WHERE CD_HISTORICO = :codigo_informado
Regras aplicadas em sequência:
| # | Condição | Resultado |
|---|---|---|
| 1 | Registro não encontrado | Erro: "O Histório não está Cadastrado" |
| 2 | ST_ATIVO = 'N' | Erro: "O Histório não está Ativo" |
| 3 | TP_HISTORICO <> 'E' | Erro: "O Histório deve ser do Tipo Estoque" |
| 4 | TP_NATUREZA incompatível | Erro: "O Histório deve ser de Natureza Recebimento" |
| 5 | Todas as condições OK | DS_HISTRECEBTO preenchido com a descrição |
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Evidência |
|---|---|---|
TdmMEQ001.tabPARMESTOQUECD_HISTRECEBTOValidate | source/MEQ001/UdmMEQ001.pas | Validação do campo ao sair — verifica cadastro, ativo, tipo e natureza |
TfrmMEQ001.edtCD_HISTRECEBTOKeyDown | source/MEQ001/UMEQ001.pas | Pesquisa assistida via <F9> — filtra históricos ativos de natureza Recebimento e tipo Estoque |
Busca_Parametros (MCO005) | source/MCO005/UdmMCO005.pas | Lê CD_HISTRECEBTO de PARMESTOQUE para uso no recebimento de materiais |
Referências SQL diretas ao campo em Scripts/
Nenhuma referência direta a CD_HISTRECEBTO encontrada em procedures SQL em Scripts/. O campo é utilizado apenas via Delphi (aplicação cliente).
Candidatas por uso da tabela PARMESTOQUE
Diversas procedures em Scripts/ fazem referência à tabela PARMESTOQUE, mas não citam o campo CD_HISTRECEBTO literalmente. Não há impacto funcional direto identificado nessas rotinas para este campo específico.
Parâmetros relacionados
| Parâmetro | Tela | Relação |
|---|---|---|
CD_OPERRECEBTO | MEQ001 | Operação de estoque do recebimento — complementa o histórico |
CD_HISTREQUISICAO | MEQ001 | Histórico de requisição (paralelo na mesma aba) |
CD_OPERREQUISICAO | MEQ001 | Operação de estoque de requisição |