Pular para o conteúdo principal

MEQ012.R001 — Fechamento bloqueado se ordem tiver etapa em aberto (MEQ070)

Módulo: MEQ012 · Menu: Produção/Industrialização > Movimentações > Fechamento de Ordem de Produção Classificação: intencional · Relevância: alta

Regra​

Ao clicar em Fechar Ordem ou Fechar Lote, o sistema verifica EXECUTAETAPAPRODUCAO; se existir etapa com status 'I' (em aberto) a operação é interrompida.

Quando dispara​

Usuário clica em Fechar Ordem (F11) ou Fechar Lote (F3) para uma ordem/lote vinculado a etapas de produção do módulo MEQ070.

Mensagem exibida​

A Ordem de Produção %s possui etapa em aberto. Verifique! [MEQ070] / O Lote %s possui etapa em aberto. Verifique! [MEQ070]

Como o usuário resolve​

Encerrar/executar a etapa pendente na tela MEQ070 antes de tentar o fechamento no MEQ012.

Evidência​

ArquivoLinhasRotinaO que o trecho faz
source/MEQ012/UMEQ012.pas1216-1225TfrmMEQ012.btnFecharClickConsulta ST_EXECUTAETAPAPRODUCAO e bloqueia se 'I'
source/MEQ012/UMEQ012.pas1796-1805TfrmMEQ012.btnFecharLoteClickMesma checagem para NR_LOTE

source/MEQ012/UMEQ012.pas:1216

Consulta :=
'SELECT ' + #10 +
' E.ST_EXECUTAETAPAPRODUCAO ' + #10 +
'FROM EXECUTAETAPAPRODUCAO E ' + #10 +
'WHERE E.CD_EMPRESA = ' + Nulo(dmMEQ012.tabPRODUCAOCD_EMPRESA.AsString,'I') +
' AND E.NR_ORDEMPRODUCAO = ' + Nulo(dmMEQ012.tabPRODUCAONR_ORDEMPRODUCAO.AsString,'I');
Resultado := ExecutaConsulta(dmMEQ012.transaction, Consulta);

if (Resultado[0] = 'I') then
raise JException.Create('E-0000',['A Ordem de Produção ' + dmMEQ012.tabPRODUCAONR_ORDEMPRODUCAO.AsString + ' possui etapa em aberto. Verifique! [MEQ070]']);

source/MEQ012/UMEQ012.pas:1796

Consulta :=
'SELECT ' + #10 +
' E.ST_EXECUTAETAPAPRODUCAO ' + #10 +
'FROM EXECUTAETAPAPRODUCAO E ' + #10 +
'WHERE E.CD_EMPRESA = ' + Nulo(dmMEQ012.tabPRODUCAOCD_EMPRESA.AsString,'I') +
' AND E.NR_LOTE = ' + Nulo(dmMEQ012.tabPRODUCAONR_LOTEPRODUCAO.AsString,'I');
Resultado := ExecutaConsulta(dmMEQ012.transaction, Consulta);

if (Resultado[0] = 'I') then
raise JException.Create('E-0000',['O Lote ' + dmMEQ012.tabEmpresaNR_LOTEPRODUCAO.AsString + ' possui etapa em aberto. Verifique! [MEQ070]']);