Pular para o conteúdo principal

STOBRIGAMONTAGEMLOTEPCP — Obriga Montagem de Lote PCP

Tela de configuração: REC001 — Parâmetros de Recapadora Localização na UI: Checkbox "Obriga Montagem de Lote PCP [MRC044]" Tabela / Coluna: PARAMRECAP.STOBRIGAMONTAGEMLOTEPCP Tipo: CHAR(1) Valor padrão: N (Não)

Controla se a Montagem de Lote PCP (tela MRC044) é obrigatória antes de determinadas etapas do processo de recapagem. Quando ativado, o sistema exige que a ordem de produção esteja vinculada a um lote PCP montado e liberado antes de permitir o acesso ou salvamento em etapas produtivas.


Telas impactadas​

TelaNomePapel
MRC003Ordem de Produção - ConsultaValida lote PCP ao abrir a edição de uma ordem; atualiza status do lote ao salvar o exame
MRC006Ordem Produção Pneu - Exame InicialValida lote PCP ao sair do campo de identificação da ordem
MRC023Ordem de Produção - Limpeza PneuValida lote PCP ao sair do campo de identificação da ordem
MRC044Montagem de Lote PCPTela onde o lote é montado e gerenciado (destino da obrigatoriedade)

Campos envolvidos​

CampoTabelaDescrição
STOBRIGAMONTAGEMLOTEPCPPARAMRECAPFlag que ativa/desativa a obrigatoriedade
IDORDEMPRODUCAOLOTEPCPORDEMPRODUCAORECAPVinculação da ordem ao lote montado
STLOTEMONTAGEMLOTEPCPRECAPStatus do lote (L = Liberado, P = Pendente)

Opções disponíveis​

N — Não Obrigatória (padrão)​

O que fazDetalhe
Desativa a obrigatoriedadeA ordem de produção pode prosseguir nas etapas sem vínculo com lote PCP

Simulação passo a passo​

  1. Acesse REC001 (Parâmetros de Recapadora) para a empresa.
  2. Certifique-se de que o checkbox "Obriga Montagem de Lote PCP [MRC044]" esteja desmarcado (valor N).
  3. Salve os parâmetros.
  4. Acesse MRC003 ou MRC006 e abra/identifique uma ordem de produção que não esteja vinculada a nenhum lote PCP.
  5. O sistema permite o acesso à edição e o salvamento normalmente, sem exigir lote.

Resultado esperado: Nenhuma validação de lote PCP é executada; o fluxo segue livremente.


S — Obrigatória​

O que fazDetalhe
Exige lote PCP montado e liberadoAo acessar ou salvar a ordem nas etapas validadas, o sistema verifica se a ordem está vinculada a um lote com status L (Liberado) ou P (Pendente)

Simulação passo a passo​

  1. Acesse REC001 (Parâmetros de Recapadora) para a empresa.
  2. Marque o checkbox "Obriga Montagem de Lote PCP [MRC044]" (valor S).
  3. Salve os parâmetros.
  4. Acesse MRC044 e monte um lote PCP associando a(s) ordem(ns) de produção desejada(s). Libere o lote (status L).
  5. Acesse MRC003, localize a ordem vinculada ao lote e clique para editar. O sistema valida o vínculo e permite o acesso.
  6. Salve o exame. O sistema atualiza o status do lote de L (Liberado) para P (Pendente), indicando que a etapa foi processada.
  7. Agora tente acessar uma ordem que não está vinculada a nenhum lote PCP no MRC003, MRC006 ou MRC023. O sistema lança a exceção W-0189, impedindo o acesso.

Resultado esperado: Ordens sem lote PCP vinculado são barradas com a mensagem W-0189. Ordens com lote liberado prosseguem normalmente, e o status do lote é atualizado após o processamento da etapa.

Exceção / Importante:

  • Quando o lote já existe mas a etapa atual não está registrada no lote (MONTAGEMLOTEPCPETAPARECAP), o sistema lança a exceção W-0190 com o nome da etapa, impedindo o acesso.
  • Quando o lote existe mas seu status não é L nem P, o sistema lança a exceção W-0191, impedindo o acesso (ex: lote já finalizado ou cancelado).
  • A validação na MRC003 usa a etapa '0' (consulta/orçamento), na MRC006 usa a etapa '1' (exame inicial) e na MRC023 usa a etapa '13' (limpeza pneu).

Regra de Validação (ValidaLotePCP)​

A função ValidaLotePCP (definida em source/jRecapadora/jRecap.pas) centraliza toda a lógica de validação:

  1. Consulta o lote vinculado à ordem de produção via LOTEPCPORDEMPRODUCAORECAP → MONTAGEMLOTEPCPRECAP.
  2. Se não existe lote e o parâmetro é S → lança W-0189 ("Ordem de Produção sem Montagem de Lote PCP").
  3. Se o lote existe, verifica se a etapa atual está registrada em MONTAGEMLOTEPCPETAPARECAP. Para a etapa '0' (MRC003) filtra por IDETAPA; para as demais etapas, se não encontrar registro → lança W-0190.
  4. Se o lote existe mas o status (STLOTE) não é L nem P → lança W-0191 ("Lote PCP não está com status Liberado ou Pendente").

Procedures impactadas​

Rotinas Delphi com referência direta ao parâmetro​

RotinaArquivoLinhaUso
Busca_Parametrossource/MRC003/UdmMRC003.pas699Lê o valor de PARAMRECAP.STOBRIGAMONTAGEMLOTEPCP e armazena em dmMRC003.STOBRIGAMONTAGEMLOTEPCP
TframeConsultaMRC003.actionAbrirExecutesource/MRC003/UframeConsultaMRC003.pas330Chama ValidaLotePCP passando o parâmetro ao abrir a edição da ordem (etapa '0')
TframeMRC003.btnSalvarProdClicksource/MRC003/UframeMRC003.pas5493Após salvar o exame, atualiza status do lote de L para P (condição original está comentada, mas a lógica de atualização executa incondicionalmente)
TfrmMRC006.edtIDExitsource/MRC006/UMRC006.pas2380Chama ValidaLotePCP ao sair do campo de identificação da ordem (etapa '1')
TfrmMRC023.edtIDExitsource/MRC023/UMRC023.pas500Chama ValidaLotePCP ao sair do campo de identificação da ordem (etapa '13')
ValidaLotePCPsource/jRecapadora/jRecap.pas763Função central de validação — consulta vínculo lote/ordem e valida status
TdmREC001.qryCadastroAfterInsertsource/REC001/UdmREC001.pas906Define valor padrão N ao inserir novo registro de parâmetros

Referências SQL diretas ao campo​

ScriptLinhaObservação
Scripts/TRGAI_ORDEMPRODUCAORECAP.sql138Código comentado — selecionava STOBRIGAMONTAGEMLOTEPCP para finalizar lote automaticamente quando todas as ordens fossem finalizadas
Scripts/TRGAI_PLUGEXAMEINIPROD.sql6Código comentado — declarava variável V_STOBRIGAMONTAGEMLOTEPCP para validação no plug de exame inicial

Os scripts SQL acima possuem referência direta ao campo, mas o código que o utiliza está comentado (desativado). Não há triggers ou procedures SQL ativas que leiam este parâmetro diretamente.

Candidatas por uso da tabela​

Não há referência direta ao campo STOBRIGAMONTAGEMLOTEPCP em procedures/views SQL ativas. As procedures listadas abaixo acessam a tabela PARAMRECAP mas não citam este campo — sem impacto funcional direto identificado no código.