ST_OBRIGAPERDATRANSF — Obriga Produtos Perdas/Transferências
Tela de configuração: MEQ001 — Parâmetros de Estoque Localização: Aba Opção 2, checkbox
chkPerdaTransfTabela:PARMESTOQUE.ST_OBRIGAPERDATRANSFTipo:CHAR(1)—S/NValor padrão:N
Quando habilitado, obriga o preenchimento de produtos de perdas e transferências durante a execução de etapas de produção na tela MEQ070. Também controla a visibilidade da aba de perdas/transferências na tela de consulta CEQ002.
Telas impactadas
| Tela | Nome | Impacto |
|---|---|---|
| MEQ070 | Execução de Etapas de Produção | Obriga informar itens de destino em perdas/transferências; gera estoque de perda; inicializa QT_DESPERDICADA |
| CEQ002 | Consulta de Ordens de Produção | Exibe/oculta aba pagPerdaTransf |
Campos envolvidos
| Campo | Tabela | Relação |
|---|---|---|
QT_DESPERDICADA | Produtos da Etapa (MEQ070) | Inicializado com 0 quando parâmetro = S e campo vazio |
| Aba Perda/Transf. | Tela CEQ002 (pagPerdaTransf) | Visível somente quando parâmetro = S |
Opções disponíveis
N — Não Obriga (Desmarcado)
| O que faz | Detalhe |
|---|---|
| Perdas/transferências | Não são obrigatórias na execução de etapas |
| Aba em CEQ002 | Oculta (pagPerdaTransf.TabVisible = False) |
Campo QT_DESPERDICADA | Não é inicializado automaticamente |
Simulação passo a passo
- Acesse MEQ001 → Parâmetros de Estoque → Aba Opção 2.
- Certifique-se de que o checkbox "Obriga Produtos Perdas/Transf. [MEQ070]" esteja desmarcado.
- Salve o parâmetro.
- Acesse MEQ070 e abra uma ordem de produção com etapas.
- Finalize uma etapa sem preencher produtos de perda ou transferência.
- O sistema permite a finalização sem exigir os itens de destino.
Resultado esperado: A etapa é finalizada normalmente sem obrigar o preenchimento de perdas/transferências. Na tela CEQ002, a aba de perdas/transferências permanece oculta.
S — Obriga Produtos Perdas/Transferências (Marcado)
| O que faz | Detalhe |
|---|---|
| Perdas/transferências | Obrigatórias — exige itens de destino para cada produto/matéria-prima |
| Aba em CEQ002 | Visível (pagPerdaTransf.TabVisible = True) |
Campo QT_DESPERDICADA | Inicializado automaticamente com 0 se vazio |
| Geração de estoque | Gera movimentação de estoque de perda/transferência ao finalizar etapa |
Simulação passo a passo
- Acesse MEQ001 → Parâmetros de Estoque → Aba Opção 2.
- Marque o checkbox "Obriga Produtos Perdas/Transf. [MEQ070]".
- Salve o parâmetro.
- Acesse MEQ070 e abra uma ordem de produção com etapas.
- Ao inserir um produto na aba de produtos acabados, observe que o campo Quantidade Desperdiçada (
QT_DESPERDICADA) é automaticamente preenchido com0. - Finalize uma etapa sem preencher os itens de destino na aba de perdas/transferências.
- O sistema exibe o erro: "É Obrigatório Informar os Itens de Destino para os Produtos e Matérias Primas".
- Preencha os itens de destino (produtos e matérias-primas) na aba de perdas/transferências.
- Finalize a etapa novamente.
- O sistema gera automaticamente a movimentação de estoque correspondente à perda/transferência, calculando o custo conforme o tipo de custo configurado.
Resultado esperado: A etapa só é finalizada após o preenchimento completo dos itens de destino. O sistema gera movimentações de estoque de perda/transferência. Na tela CEQ002, a aba de perdas/transferências fica visível para consulta.
Excecao / Importante: O custo da movimentação de perda/transferência é calculado considerando o parâmetro de preço médio da operação de estoque (
ST_PRECOMEDIO). Quando o preço médio está desabilitado, o sistema busca o último custo de movimentação do produto na operação correspondente (entrada para PA, saída para outros tipos). A empresa de estoque utilizada pode ser diferente da empresa da ordem quando o parâmetroCD_EMPRESTOQUEestiver configurado em MEQ001.
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Linha | Comportamento |
|---|---|---|---|
TfrmCEQ002.PaginasChange | UCEQ002.pas | 427 | Consulta ST_OBRIGAPERDATRANSF; se S, exibe aba pagPerdaTransf |
TdmMEQ001.tabPARMESTOQUEAfterInsert | UdmMEQ001.pas | 297 | Inicializa campo com N ao inserir novo registro |
TfrmMEQ070.validaPerdaTransf | UMEQ070.pas | 2795 | Consulta parâmetro; se S, obriga itens de destino para perdas/transferências |
TfrmMEQ070.geraEstoquePerdaTransf | UMEQ070.pas | 2838 | Consulta parâmetro; se S, gera movimentação de estoque de perda |
TfrmMEQ070.TransferePerdaParaParcial | UMEQ070.pas | 3388 | Consulta parâmetro; se S, processa transferência de perda com cálculo de custo |
TdmMEQ070.tabPRODUTOSBeforePost | UdmMEQ070.pas | 1284 | Consulta parâmetro; se S, inicializa QT_DESPERDICADA com 0 se vazio |
Referências SQL diretas ao campo
Não foram encontradas referências diretas ao campo ST_OBRIGAPERDATRANSF em procedures SQL em Scripts/. Toda a lógica de leitura do parâmetro é feita em runtime pelo Delphi, via consultas dinâmicas à tabela PARMESTOQUE.
Candidatas por uso da tabela (sem referência direta ao campo)
As procedures/views abaixo acessam a tabela PARMESTOQUE mas não citam o campo ST_OBRIGAPERDATRANSF. Não há impacto funcional direto identificado delas sobre este parâmetro.
Exemplos: GERA_ESTOQUE, CANCELA_ESTOQUE, GERA_NOTAFISCALESTOQUE, GERA_ORDEMPRODUCAO, CONFIRMA_ORDEMSERVICO, entre outras.