STVALIDANOTAFECHAMENTOLOTE — Validar Notas no Fechamento do Lote
Tela de configuração: REC001 — Parâmetros de Recapadora Componente na tela:
chkSTVALIDANOTAFECHAMENTOLOTE(TDBCheckBox) Label exibido: "Validar Notas no Fechamento do Lote [MRC045]" Tabela:PARAMRECAP.STVALIDANOTAFECHAMENTOLOTETipo:DOM_CHAR1— valores'S'ou'N'Valor padrão:'N'(Não valida)
Telas impactadas
| Tela | Módulo | Papel |
|---|---|---|
| MRC045 — Expedição de Lote de Pneus | Recapadora | Consome o parâmetro no momento de finalização do lote |
Campos envolvidos
| Campo | Tabela | Observação |
|---|---|---|
STVALIDANOTAFECHAMENTOLOTE | PARAMRECAP | Flag que habilita/desabilita a validação de notas no fechamento do lote |
Opções disponíveis
S — Valida Notas no Fechamento do Lote
| O que faz | Detalhe |
|---|---|
| Bloqueia a finalização do lote se houver divergências nas notas vinculadas | O sistema chama a procedure VALIDA_EXPEDICAOLOTEPNEU e, se ela retornar mensagens de erro (quantidades divergentes entre nota e pedido, notas sem pedido, pneus sem nota, etc.), exibe a mensagem e impede a finalização |
Simulação passo a passo
- Acesse REC001 — Parâmetros de Recapadora.
- Localize o checkbox "Validar Notas no Fechamento do Lote [MRC045]".
- Marque o checkbox (valor
'S'). - Salve o cadastro.
- Acesse MRC045 — Expedição de Lote de Pneus.
- Abra um lote que possua notas vinculadas com divergências de quantidade (por exemplo, item com 10 unidades na nota mas 8 no pedido).
- Clique em Finalizar Lote (botão de finalização).
- O sistema exibe a mensagem: "Não foi possível Finalizar o Lote devido as seguintes pendências:" seguida da lista de divergências encontradas.
- O lote não é finalizado; o status permanece inalterado.
Resultado esperado: O lote só é finalizado se a procedure VALIDA_EXPEDICAOLOTEPNEU não retornar nenhuma pendência. Caso contrário, a finalização é bloqueada com a mensagem detalhando as divergências.
Excecao / Importante: A validação só é executada quando
Resultado[0] <> ''(ou seja, a procedure retornou pelo menos uma mensagem de divergência). Se a procedure não encontrar problemas, o lote é finalizado normalmente mesmo com o parâmetro ativo.
N — Não Valida (Livre)
| O que faz | Detalhe |
|---|---|
| Permite finalizar o lote sem verificar divergências nas notas | A chamada à VALIDA_EXPEDICAOLOTEPNEU pode ocorrer, mas o resultado é ignorado — o sistema não bloqueia a finalização |
Simulação passo a passo
- Acesse REC001 — Parâmetros de Recapadora.
- Localize o checkbox "Validar Notas no Fechamento do Lote [MRC045]".
- Desmarque o checkbox (valor
'N'). - Salve o cadastro.
- Acesse MRC045 — Expedição de Lote de Pneus.
- Abra um lote que possua notas vinculadas com divergências de quantidade.
- Clique em Finalizar Lote.
- O sistema finaliza o lote normalmente, sem verificar divergências nas notas.
Resultado esperado: O lote é finalizado independentemente do estado das notas vinculadas, sem mensagens de erro.
Regra Geral de Validação
Quando STVALIDANOTAFECHAMENTOLOTE = 'S', a finalização do lote em MRC045 invoca a procedure VALIDA_EXPEDICAOLOTEPNEU(IDEMPRESA, ID_EXPEDICAOLOTE) que verifica:
- Divergência de quantidade entre itens de nota e itens de pedido vinculados.
- Notas sem pedido associado.
- Pneus próprios sem nota (pneus do tipo próprio que não possuem nota fiscal de saída).
- Pneus de terceiros sem nota.
Se qualquer uma dessas validações retornar mensagem, a finalização é impedida.
Procedures impactadas
Rotinas Delphi com referência direta ao parâmetro
| Rotina | Arquivo | Linha | Evidência |
|---|---|---|---|
TdmMRC045.Busca_Parametros | source/MRC045/UdmMRC045.pas | 229 | Carrega o valor de STVALIDANOTAFECHAMENTOLOTE via SQL e armazena em dmMRC045.validaNotaFechamentoLote (Resultado[2]) |
TfrmMRC045.btnFinalizaExpedicaoClick | source/MRC045/UMRC045.pas | 1404 | Verifica ParamRecap.Values['STVALIDANOTAFECHAMENTOLOTE'] = 'S' antes de bloquear a finalização |
TdmREC001.qryCadastroAfterInsert | source/REC001/UdmREC001.pas | 933 | Define valor padrão 'N' quando o campo está nulo em novo registro |
TframeREC001.chkSTVALIDANOTAFECHAMENTOLOTEMouseMove | source/REC001/UframeREC001.pas | 2067 | Exibe tooltip informativo ao passar o mouse sobre o checkbox |
Procedures SQL chamadas pela rotina consumidora
| Procedure | Arquivo | Relação com o parâmetro |
|---|---|---|
VALIDA_EXPEDICAOLOTEPNEU | Scripts/VALIDA_EXPEDICAOLOTEPNEU.sql | Executada durante a finalização do lote em MRC045; o parâmetro controla se o resultado dela bloqueia ou não a finalização |
Candidatas por uso da tabela (PARAMRECAP)
Nenhuma referência direta ao campo STVALIDANOTAFECHAMENTOLOTE foi encontrada em scripts SQL além das rotinas Delphi listadas acima. As procedures que acessam PARAMRECAP (como FECHA_ORDEMPRODUCAORECAP, GERA_NOTAPEDIDO, etc.) não utilizam este campo.
Dicionário de Tipos
| Atributo | Valor |
|---|---|
| Domínio | DOM_CHAR1 |
| Tamanho | 1 caractere |
| Valores aceitos | 'S' (Sim) ou 'N' (Não) |
| Valor padrão | 'N' |
| Nullable | Não (NOT NULL) |
| Constraint | Ao inserir novo registro, se nulo, assume 'N' automaticamente |
Interação com outros parâmetros
Nenhuma interação direta com outros parâmetros foi identificada no código. O parâmetro opera de forma independente na validação de notas do lote.