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.STOBRIGAMONTAGEMLOTEPCPTipo: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
| Tela | Nome | Papel |
|---|---|---|
| MRC003 | Ordem de Produção - Consulta | Valida lote PCP ao abrir a edição de uma ordem; atualiza status do lote ao salvar o exame |
| MRC006 | Ordem Produção Pneu - Exame Inicial | Valida lote PCP ao sair do campo de identificação da ordem |
| MRC023 | Ordem de Produção - Limpeza Pneu | Valida lote PCP ao sair do campo de identificação da ordem |
| MRC044 | Montagem de Lote PCP | Tela onde o lote é montado e gerenciado (destino da obrigatoriedade) |
Campos envolvidos
| Campo | Tabela | Descrição |
|---|---|---|
STOBRIGAMONTAGEMLOTEPCP | PARAMRECAP | Flag que ativa/desativa a obrigatoriedade |
IDORDEMPRODUCAO | LOTEPCPORDEMPRODUCAORECAP | Vinculação da ordem ao lote montado |
STLOTE | MONTAGEMLOTEPCPRECAP | Status do lote (L = Liberado, P = Pendente) |
Opções disponíveis
N — Não Obrigatória (padrão)
| O que faz | Detalhe |
|---|---|
| Desativa a obrigatoriedade | A ordem de produção pode prosseguir nas etapas sem vínculo com lote PCP |
Simulação passo a passo
- Acesse REC001 (Parâmetros de Recapadora) para a empresa.
- Certifique-se de que o checkbox "Obriga Montagem de Lote PCP [MRC044]" esteja desmarcado (valor
N). - Salve os parâmetros.
- Acesse MRC003 ou MRC006 e abra/identifique uma ordem de produção que não esteja vinculada a nenhum lote PCP.
- 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 faz | Detalhe |
|---|---|
| Exige lote PCP montado e liberado | Ao 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
- Acesse REC001 (Parâmetros de Recapadora) para a empresa.
- Marque o checkbox "Obriga Montagem de Lote PCP [MRC044]" (valor
S). - Salve os parâmetros.
- Acesse MRC044 e monte um lote PCP associando a(s) ordem(ns) de produção desejada(s). Libere o lote (status
L). - Acesse MRC003, localize a ordem vinculada ao lote e clique para editar. O sistema valida o vínculo e permite o acesso.
- Salve o exame. O sistema atualiza o status do lote de
L(Liberado) paraP(Pendente), indicando que a etapa foi processada. - 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 é
LnemP, 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:
- Consulta o lote vinculado à ordem de produção via
LOTEPCPORDEMPRODUCAORECAP→MONTAGEMLOTEPCPRECAP. - Se não existe lote e o parâmetro é
S→ lança W-0189 ("Ordem de Produção sem Montagem de Lote PCP"). - Se o lote existe, verifica se a etapa atual está registrada em
MONTAGEMLOTEPCPETAPARECAP. Para a etapa'0'(MRC003) filtra porIDETAPA; para as demais etapas, se não encontrar registro → lança W-0190. - Se o lote existe mas o status (
STLOTE) não éLnemP→ 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
| Rotina | Arquivo | Linha | Uso |
|---|---|---|---|
Busca_Parametros | source/MRC003/UdmMRC003.pas | 699 | Lê o valor de PARAMRECAP.STOBRIGAMONTAGEMLOTEPCP e armazena em dmMRC003.STOBRIGAMONTAGEMLOTEPCP |
TframeConsultaMRC003.actionAbrirExecute | source/MRC003/UframeConsultaMRC003.pas | 330 | Chama ValidaLotePCP passando o parâmetro ao abrir a edição da ordem (etapa '0') |
TframeMRC003.btnSalvarProdClick | source/MRC003/UframeMRC003.pas | 5493 | Apó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.edtIDExit | source/MRC006/UMRC006.pas | 2380 | Chama ValidaLotePCP ao sair do campo de identificação da ordem (etapa '1') |
TfrmMRC023.edtIDExit | source/MRC023/UMRC023.pas | 500 | Chama ValidaLotePCP ao sair do campo de identificação da ordem (etapa '13') |
ValidaLotePCP | source/jRecapadora/jRecap.pas | 763 | Função central de validação — consulta vínculo lote/ordem e valida status |
TdmREC001.qryCadastroAfterInsert | source/REC001/UdmREC001.pas | 906 | Define valor padrão N ao inserir novo registro de parâmetros |
Referências SQL diretas ao campo
| Script | Linha | Observação |
|---|---|---|
Scripts/TRGAI_ORDEMPRODUCAORECAP.sql | 138 | Código comentado — selecionava STOBRIGAMONTAGEMLOTEPCP para finalizar lote automaticamente quando todas as ordens fossem finalizadas |
Scripts/TRGAI_PLUGEXAMEINIPROD.sql | 6 | Có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.