PC_JUROSMIN — Percentual de Juros Mínimo do Usuário
Tela de configuração: ADM012 — Parâmetros do Usuário
Localização: Visível apenas quandoTP_USUARIO = 'C'(Caixa)
Tabela:PARMUSUARIO.PC_JUROSMIN
Tipo:NUMERIC(15,2)
Valor padrão:NULL(sem mínimo definido)
Telas impactadas
| Tela | Operação | Contexto |
|---|---|---|
| MFC004 | Leitura | Valida juros mínimos na baixa de documentos; exige autorização se juros aplicados < mínimo configurado |
| ADM013 | Leitura | Duplicação de usuário (copia o campo) |
Campos envolvidos
| Campo | Tabela | Tipo |
|---|---|---|
| PC_JUROSMIN | PARMUSUARIO | NUMERIC(15,2) |
Opções disponíveis
Este campo é editável e livre — aceita qualquer valor numérico. O comportamento é controlado pelo valor informado:
| O que faz | Detalhe |
|---|---|
| Valor > 0 | Define um piso de juros mínimo para o usuário. Se os juros aplicados na operação forem inferiores ao mínimo, solicita autorização. |
| NULL / vazio | Sem validação de juros mínimo. O usuário pode aplicar qualquer taxa (inclusive 0%). |
| 0 | Equivalente a não exigir juros mínimo — qualquer taxa é aceita. |
Comportamento na tela ADM012
- O campo só aparece quando
TP_USUARIO = 'C'(Caixa). Para usuários do tipo'N'(Normal), o campo fica oculto. - O campo
PC_DESCONTOMAXeST_AUTORIZADORseguem a mesma lógica de visibilidade. - Se o usuário digitar um valor negativo, o sistema automaticamente converte para positivo ao sair do campo (
OnExit).
Simulação passo a passo
- Acesse ADM012 — Parâmetros do Usuário.
- Selecione um usuário com Tipo Usuário = 'C' (Caixa).
- Localize o campo Juros Mín. (PC_JUROSMIN).
- Digite
1,50(representa 1,50% de juros mínimo). - Clique em outro campo — se o valor era negativo, observe que ele foi convertido para positivo automaticamente.
- Salve o registro.
Resultado esperado: O usuário terá 1,50% como piso de juros. Qualquer operação na MFC004 com juros aplicados abaixo desse valor exigirá autorização.
Excecao / Importante: A autorização é acionada também em conjunto com
ST_AUTORIZADOR(configurado em TFA008 — Autorizador). SeST_AUTORIZADOR = 'S', o fluxo de autorização é ativado para validação de alçadas.
Regra de Validação na MFC004 (Contas a Receber / Financeiro)
Quando um documento é baixado na MFC004, o sistema compara o maior percentual de juros aplicado na operação (maiorJuros) com o PC_JUROSMIN do usuário logado:
- Se
maiorJuros < PC_JUROSMINdo usuário: o sistema sinaliza que precisa de autorização (PedeAutorizador := true). - O usuário informante então fornece login/senha de um usuário autorizador (tela de autorização MFC004).
- O sistema busca o
PC_JUROSMINdo autorizador e verifica novamente:- Se
maiorJuros < PC_JUROSMINdo autorizador: rejeita com erro: "Usuário não tem Alçada para Liberação Mínima de Juros. Verifique! [ADM012]". - Se
maiorJuros >= PC_JUROSMINdo autorizador: a operação é liberada.
- Se
Exemplo concreto:
| Papel | PC_JUROSMIN |
|---|---|
| Usuário operador | 1,50% |
| Autorizador | 0,80% |
Se o operador tenta aplicar juros de 0,50% na baixa de um título:
- 0,50% < 1,50% → sistema pede autorização.
- 0,50% < 0,80% (alçada do autorizador) → rejeita com mensagem de alçada insuficiente.
- O autorizador precisaria ter
PC_JUROSMIN <= 0,50%ou menor para aprovar essa operação.
Excecao / Importante: O autorizador deve estar ativo no sistema, ou a tela de autorização exibirá: "O Usuário Autorizador não está Ativo! [TFA008]".
Tabela Comparativa Resumida
| Cenário | PC_JUROSMIN | Juros Aplicados | Comportamento |
|---|---|---|---|
| Sem mínimo | NULL ou 0 | Qualquer | Operação segue normalmente |
| Juros acima do mínimo | 1,50 | 2,00 | Operação segue normalmente |
| Juros abaixo do mínimo | 1,50 | 0,50 | Solicita autorização do autorizador |
| Juros abaixo da alçada do autorizador | Operador: 1,50 / Autorizador: 0,80 | 0,50 | Rejeita — alçada insuficiente |
| Valor negativo digitado | -1,50 | — | Converte automaticamente para 1,50 |
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Impacto |
|---|---|---|
edtPC_JUROSMINExit | source/ADM012/UADM012.pas | Converte valor negativo para positivo no OnExit do campo |
btnNovoClick | source/ADM012/UADM012.pas | Oculta o campo ao criar novo registro |
cmbTP_USUARIOChange | source/ADM012/UADM012.pas | Controla visibilidade conforme tipo de usuário ('C' vs 'N') |
ContarQuebras | source/MFC004/UMFC004.pas | Usa iPc_JuroMin e iPc_JurosMin_Aut para validar alçadas de juros na baixa de documentos |
btnConfirmarClick (AUTORIZACAO) | source/MFC004/UMFC004AUTORIZACAO.pas | Busca PC_JUROSMIN do autorizador via SQL para validar alçada |
btnDuplicaUsuarioClick | source/ADM013/UADM013.pas | Copia o campo ao duplicar usuário |
Referências SQL diretas ao campo
Nenhuma referência direta a PC_JUROSMIN foi encontrada nos scripts Scripts/.
Candidatas por uso da tabela
As rotinas abaixo usam a tabela PARMUSUARIO, mas não citam o campo PC_JUROSMIN literalmente. Não foi identificado impacto funcional direto em validação de queries — validar conforme necessário:
CANCELA_NOTAFISCAL(Scripts/CANCELA_NOTAFISCAL.sql)CONTROLE_CAIXA(Scripts/CONTROLE_CAIXA.sql)GERA_ETIQUETABALANCA(Scripts/GERA_ETIQUETABALANCA.sql)PERMISSAO_CAIXA(Scripts/PERMISSAO_CAIXA.sql)RETORNA_IMPRESSORAUSUARIO(Scripts/RETORNA_IMPRESSORAUSUARIO.sql)VALIDA_LIBERACAOUSUARIO(Scripts/VALIDA_LIBERACAOUSUARIO.sql)VERIFICA_BLOQUEIO(Scripts/VERIFICA_BLOQUEIO.sql)VIEW_DOCUMENTOSBLOQUEADOS(Scripts/VIEW_DOCUMENTOSBLOQUEADOS.sql)