Pular para o conteúdo principal

CD_HISTPRODSAI — Histórico de Saída de Produção

Tela de configuração: MEQ001 — Parâmetros de Estoque Localização: Aba Operações Padrão → campo Operações Tabela: PARMESTOQUE.CD_HISTPRODSAI Tipo: DOM_INTEGER (chave estrangeira → HISTORICO.CD_HISTORICO) Valor padrão: Nenhum (campo opcional, NULL permitido) Componente: edtCD_HISTPRODSAI (TDBEdit, largura 50px)

Descrição​

Define o histórico contábil padrão utilizado nas movimentações de saída de produção. Quando a empresa executa processos produtivos — envelopamento, montagem, recapagem, vulcanização ou alteração de banda — o sistema utiliza este código para registrar a baixa de estoque de matéria-prima.

O campo referencia a tabela HISTORICO e aceita exclusivamente históricos do tipo Estoque (TP_HISTORICO = 'E') com natureza de Pagamento (não Recebimento).

Campos envolvidos​

CampoTabelaTipoRelação
CD_HISTPRODSAIPARMESTOQUEINTEGERFK → HISTORICO.CD_HISTORICO
DS_HISTPRODSAI(tela)ExibiçãoPreenchido automaticamente com HISTORICO.DS_HISTORICO

Campos complementares no mesmo grupo:

CampoFunção
CD_OPERPRODSAIOperação de saída de produção (campo vizinho, obrigatório nos processos)
CD_OPERPRODENTOperação de entrada de produção
CD_HISTPRODENTHistórico de entrada de produção (par complementar)
CD_OPERPRODPERDAOperação de perda de produção
CD_HISTPERDAHistórico de perda

Telas impactadas​

TelaImpacto
MEQ001Tela de configuração — edição direta do campo
MEQ070Transferência de item entre etapas — valida presença do campo antes de gerar saída de estoque

Regras de validação​

Ao informar ou alterar o código, o sistema consulta a tabela HISTORICO e aplica as seguintes verificações:

#RegraCondição de erroMensagem
1ExistênciaDS_HISTORICO vazioO Histórico não esta Cadastrado! Verifique [TCB003]
2AtivoST_ATIVO = 'N'O Histórico não está Ativo! Verifique [TCB003]
3Tipo EstoqueTP_HISTORICO <> 'E'O Histórico deve ser do Tipo Estoque! Verifique [TCB003]
4Natureza PagamentoTP_NATUREZA = 'R'Para Movimentação de Saída Somente é Permitido Histórico de Pagamento!

Após validação bem-sucedida, DS_HISTPRODSAI é preenchido automaticamente com a descrição do histórico.

Opções disponíveis​

Campo vazio (não informado)​

O que fazDetalhe
EditávelSim — o campo aceita NULL (não tem restrição NOT NULL no schema)
Impacto imediatoNenhum na tela de parâmetros

Simulação passo a passo​

  1. Acesse MEQ001 → aba Operações Padrão.
  2. Localize o campo Operações (histórico de saída de produção).
  3. Deixe o campo sem preenchimento.
  4. Salve o registro.

Resultado esperado: O registro é salvo normalmente com CD_HISTPRODSAI = NULL. Nenhuma mensagem de erro é exibida na tela de parâmetros.

Excecao / Importante: Ao executar processos produtivos (ex.: GERA_PRODENVELOPAMENTO, GERA_PRODMONTAGEMRECAP, GERA_PRODVULCANIZACAO) ou a transferência de etapas em MEQ070, a ausência deste campo pode impedir a geração de movimentações de saída de estoque.


Campo preenchido com código válido​

O que fazDetalhe
EditávelSim — aceita digitação direta ou pesquisa via <F9>
ExigeCódigo existente na tabela HISTORICO, ativo, tipo Estoque, natureza diferente de Recebimento
RestriçãoNatureza R (Recebimento) é rejeitada — aceita apenas natureza Pagamento

Simulação passo a passo​

  1. Acesse MEQ001 → aba Operações Padrão.
  2. Posicione o cursor no campo Operações (histórico de saída).
  3. Pressione <F9> para abrir a lista de históricos filtrados por natureza Produção e tipo Estoque.
  4. Selecione um histórico da lista (ex.: código 150).
  5. O campo de descrição ao lado (DS_HISTPRODSAI) é preenchido automaticamente.
  6. Salve o registro.

Resultado esperado: O código é gravado em PARMESTOQUE.CD_HISTPRODSAI. Nos processos produtivos, este histórico será utilizado para registrar a saída de estoque de matéria-prima.

Excecao / Importante: O <F9> filtra históricos com natureza 'P' (Produção/Pagamento) e tipo 'E' (Estoque). Se precisar de um histórico com outra natureza, cadastre-o primeiro em TCB003 (Cadastro de Históricos).


Campo preenchido com código inválido​

O que fazDetalhe
EditávelO sistema aceita a digitação, mas rejeita na validação
ExigeTodas as 4 regras de validação acima
RestriçãoO campo volta a vazio se a validação falhar (exceção levantada)

Simulação passo a passo​

  1. Acesse MEQ001 → aba Operações Padrão.
  2. No campo Operações, digite um código que:
    • Não exista em HISTORICO, ou
    • Esteja inativo (ST_ATIVO = 'N'), ou
    • Não seja do tipo Estoque (TP_HISTORICO <> 'E'), ou
    • Tenha natureza Recebimento (TP_NATUREZA = 'R').
  3. Saia do campo (Tab ou clique fora).

Resultado esperado: O sistema exibe uma mensagem de erro correspondente à validação falha (ver tabela de regras acima). O campo permanece inválido até que um código correto seja informado.


Uso nos processos produtivos​

O parâmetro CD_HISTPRODSAI é lido diretamente nos seguintes scripts de geração de estoque:

Script SQLContexto de uso
GERA_PRODENVELOPAMENTOSaída de matéria-prima para processo de envelopamento
GERA_PRODMONTAGEMRECAPSaída de matéria-prima para montagem/recapagem
GERA_PRODVULCANIZACAOSaída de matéria-prima para vulcanização
ALTERACAO_BANDASaída para processo de alteração de banda

Em todos os casos, o script faz SELECT PE.CD_HISTPRODSAI da tabela PARMESTOQUE para obter o código do histórico que será usado na movimentação de saída.

Em MEQ070 (Transferência entre etapas): O método TransfereItemEtapa lê o parâmetro e, se estiver vazio, interrompe o processo com:

"Código de Histórico de Operação de Saída não Informado! Verifique [MEQ001]"

Procedures impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoDescrição
edtCD_HISTPRODSAIKeyDownUMEQ001.pas:1814Evento <F9> do campo — abre pesquisa HISTORICO_POR_NATUREZA filtrada por natureza 'P' e tipo 'E'
tabPARMESTOQUECD_HISTPRODSAIValidateUdmMEQ001.pas:1340Validação do campo — verifica existência, ativo, tipo Estoque e natureza Pagamento
TransfereItemEtapaUMEQ070.pas:3168Lê o parâmetro para gerar saída de estoque na transferência entre etapas de produção

Scripts SQL com referência direta ao campo​

ScriptArquivoUso
ALTERACAO_BANDAALTERACAO_BANDA.sql:422SELECT PE.CD_HISTPRODSAI
GERA_PRODENVELOPAMENTOGERA_PRODENVELOPAMENTO.sql:285SELECT PE.CD_HISTPRODSAI, PE.CD_OPERPRODSAI
GERA_PRODMONTAGEMRECAPGERA_PRODMONTAGEMRECAP.sql:305SELECT PE.CD_HISTPRODSAI, PE.CD_OPERPRODSAI
GERA_PRODVULCANIZACAOGERA_PRODVULCANIZACAO.sql:308SELECT PE.CD_HISTPRODSAI, PE.CD_OPERPRODSAI

Candidatas por uso da tabela​

Vários scripts fazem FROM PARMESTOQUE ou INNER JOIN PARMESTOQUE sem citar CD_HISTPRODSAI literalmente. Essas rotinas não possuem referência direta ao campo e não foram impactadas por alterações neste parâmetro.