Pular para o conteúdo principal

Controles de Saldo por Usuário (ST_PARMSALDO)

Tela de configuração: FNC001 — Parâmetros Financeiros
Localização: Parâmetros → &Caixa → "Contas de Saldo por Usuário" (comboST_PARMSALDO)
Tabela: PARMFINANC.ST_PARMSALDO
Campo no DFM: comboST_PARMSALDO (TwwDBComboBox) vinculado a dmFNC001.dsoPARMFINANC
Valor padrão: N (Não)

Descrição​

Controla se o saldo de contas bancárias/caixas é apurado e liberado por usuário em vez de ser visto por todos os usuários do sistema. Quando ativado (S), o sistema restringe:

  • A visualização/apresentação do saldo na abertura de caixa (MFC001).
  • A validação de débito/crédito em lançamentos de caixa (MFC003, MFC028).
  • A exibição da aba de vínculo usuário × conta na tela FNC002.
  • O recálculo de saldo diário (RECALCULA_SALDOCAIXACONTA), filtrando apenas contas liberadas ao usuário corrente.

O vínculo usuário × conta é armazenado na tabela USUARIOCONTASALDO (configurado em FNC002 — Cadastro de Caixas e Contas Bancárias, aba "Usuário").


Telas impactadas​

TelaImpacto
FNC001Configuração — define o valor do parâmetro.
FNC002Quando ST_PARMSALDO = 'S', exibe a aba "Usuário" (pagUSUARIO) para vínculo de usuários às contas de saldo. Quando 'N', a aba fica invisível.
MFC001Na sugestão de saldo de abertura de caixa, filtra por USUARIOCONTASALDO quando o parâmetro está ativo.
MFC003Validação de conta débito/crédito em lançamentos: exige que a conta de saldo esteja liberada para o usuário logado.
MFC007Estorno de pagamento/recebimento: lê o parâmetro para verificar restrições de contas no processo.
MFC028Validação da conta saldo na baixa/estorno: exige liberação por usuário quando ST_PARMSALDO = 'S'.

Campos envolvidos​

CampoTabelaDescrição
ST_PARMSALDOPARMFINANCFlag principal ('S' ou 'N').
CD_CONTAPARMSALDOConta bancária/caixa cadastrada.
CD_USUARIOUSUARIOCONTASALDOUsuário vinculado à conta de saldo (quando ST_PARMSALDO = 'S').
TP_SALDOPARMSALDOTipo da conta (X = caixa, B = banco, etc.).

Opções disponíveis​

S — Sim (Contas de Saldo por Usuário)​

O que fazDetalhe
Exige liberaçãoApenas usuários cadastrados em USUARIOCONTASALDO podem operar/vizualizar a conta.
Abre aba FNC002Torna visível a aba "Usuário" em FNC002 para manutenção do vínculo.
Filtra saldo MFC001Na abertura de caixa, soma saldo apenas das contas liberadas ao usuário.
Valida lançamentosEm MFC003 e MFC028, bloqueia uso de conta de saldo não liberada.

Simulação passo a passo​

  1. Acesse FNC001 — Parâmetros Financeiros.
  2. Na aba &Caixa, localize o campo "Contas de Saldo por Usuário".
  3. Selecione Sim (S).
  4. Salve a configuração (F2 ou botão Salvar).
  5. Acesse FNC002 — Cadastro de Caixas e Contas Bancárias.
  6. Observe que a aba "Usuário" (pagUSUARIO) está visível.
  7. Cadastre/trave as contas desejadas e, na aba Usuário, vincule os usuários que terão acesso.
  8. Acesse MFC001 — Abertura/Fechamento de Caixa.
  9. Abra o caixa; o saldo sugerido será calculado apenas sobre as contas liberadas ao seu usuário.
  10. Acesse MFC003 — Lançamento de Caixa Avulso / Cheque.
  11. Tente lançar um movimento usando uma conta de saldo não liberada ao usuário.
  12. O sistema exibe a mensagem: "Esta Conta de Saldo não está Liberada para este Usuário."

Resultado esperado: O saldo e uso das contas de caixa/banco ficam restritos por usuário, exigindo prévio cadastro do vínculo em FNC002.

Exceção / Importante:

  • Sem registros em USUARIOCONTASALDO, o usuário não conseguirá ver saldo nem operar nenhuma conta de saldo.
  • A procedure RECALCULA_SALDOCAIXACONTA, quando ST_PARMSALDO = 'S', filtra as contas a recalcular exclusivamente através de USUARIOCONTASALDO para o usuário informado.
  • A view VIEW_PARMSALDO também internamente aplica o filtro por USUARIOCONTASALDO quando o parâmetro está ativo.

N — Não (Saldo liberado para todos os usuários)​

O que fazDetalhe
Sem restrição por usuárioQualquer usuário do sistema visualiza e opera todas as contas de saldo.
Aba FNC002 ocultaA aba "Usuário" em FNC002 fica invisível.
Saldo total em MFC001Na abertura de caixa, soma o saldo de todas as contas da empresa (ou grupo).
Sem validação extraMFC003 e MFC028 não bloqueiam conta por falta de vínculo.

Simulação passo a passo​

  1. Acesse FNC001 — Parâmetros Financeiros.
  2. Na aba &Caixa, localize o campo "Contas de Saldo por Usuário".
  3. Selecione Não (N).
  4. Salve a configuração (F2 ou botão Salvar).
  5. Acesse FNC002 — Cadastro de Caixas e Contas Bancárias.
  6. Verifique que a aba "Usuário" (pagUSUARIO) não aparece.
  7. Acesse MFC001 — Abertura/Fechamento de Caixa.
  8. Abra o caixa; o saldo sugerido será o total de todas as contas do caixo/empresa.
  9. Acesse MFC003 — Lançamento de Caixa Avulso / Cheque.
  10. Lançe movimentos em qualquer conta de saldo cadastrada, sem restrição de vínculo.

Resultado esperado: Todos os usuários visualizam o saldo completo e operam livremente sobre todas as contas de caixa/banco, sem necessidade de USUARIOCONTASALDO.

Exceção / Importante:

  • Mesmo com ST_PARMSALDO = 'N', outras validações de conta (existência, tipo diferente de "Título", ativa/inativa) continuam sendo aplicadas normalmente em MFC003 e MFC028.

Regra Geral de Autorização​

Não há autorizador específico para este parâmetro. A liberação é feita diretamente pelo cadastro em USUARIOCONTASALDO (via aba "Usuário" da tela FNC002), que relaciona CD_USUARIO às contas (CD_CONTA) de cada empresa.

Nota: O usuário administrador que configura o vínculo em FNC002 deve possuir acesso à tela, normalmente controlado pelas permissões de acesso (ADM004/ACESSO) do módulo Financeiro.


Tabela Comparativa Resumida​

OpçãoNomeRestrição por usuárioAba Usuário FNC002Saldo MFC001
SSimSim — exige USUARIOCONTASALDOVisívelApenas contas liberadas
NNãoNão — todas as contas liberadasOcultaTodas as contas

Procedures impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoDescrição do impacto
TdmFNC001.tabPARMFINANCAfterInsertsource/FNC001/UdmFNC001.pasDefine o valor padrão 'N' ao inserir novo registro em PARMFINANC.
iniciarsource/FNC002/UFNC002.pasVerifica ST_PARMSALDO; se <> 'S', oculta a aba pagUSUARIO em FNC002.
SugereSaldosource/MFC001/UMFC001.pasNa sugestão de saldo de abertura: quando 'S', soma saldo filtrando por USUARIOCONTASALDO; quando 'N', soma todas as contas.
tabMOVTOCAIXACD_CONTADEBITOValidatesource/MFC003/UdmMFC003.pasValida conta débito: se ST_PARMSALDO = 'S', exige que a conta esteja em USUARIOCONTASALDO para o usuário corrente.
tabMOVTOCAIXACD_CONTACREDITOValidatesource/MFC003/UdmMFC003.pasValida conta crédito com a mesma regra da conta débito (por usuário).
btnExcluirClicksource/MFC007/UMFC007.pasEstorno de pagamento/recebimento: lê o parâmetro (iSTParmSaldo) para verificar vínculos de conta antes de processar.
cdsEMPRESACD_CONTASALDOBAIXAValidatesource/MFC028/UdmMFC028.pasValidação da conta saldo na baixa: se ST_PARMSALDO = 'S', exige liberação em USUARIOCONTASALDO.

Scripts SQL com referência direta ao campo​

Procedure/ViewArquivoDescrição do impacto
RECALCULA_SALDOCAIXACONTAScripts/RECALCULA_SALDOCAIXACONTA.sqlLê ST_PARMSALDO; se 'N', recalcula todas as contas da empresa; se 'S', limita o recálculo às contas vinculadas ao usuário informado via USUARIOCONTASALDO.
VIEW_PARMSALDOScripts/VIEW_PARMSALDO.sqlLê ST_PARMSALDO para cada empresa; se 'S', junta PARMSALDO com USUARIOCONTASALDO filtrando pelo usuário; caso contrário, retorna todas as contas.

Candidatas por uso da tabela (sem referência direta ao campo)​

As procedures abaixo acessam PARMFINANC para diversos parâmetros financeiros, mas não consultam ST_PARMSALDO explicitamente:

CALCULA_CAPITAL, CALCULA_JURO, CALCULA_JUROMORA, CALCULA_JUROMORA_RFC019, CANCELA_CONTAS, CONTABILIZA_REPARCELAMENTO, CONTROLE_CAIXA, ESTORNA_MOVTOCAIXA, EXECUTA_PROCESSO, GERA_DUPLICATAS, GERA_INTEGRACAO, GERA_INTEGRACAOFISCAL, GERA_MOVTOCONTABIL, GRAVA_CHEQUECARTAO, GRAVA_CONTAS, GRAVA_MOVTOCAIXA, GRAVA_MOVTOCAIXAINDIVIDUAL, GRAVA_MOVTOPROCESSO, GRAVA_PROCESSOSMART, PROCESSA_FATURA.


Notas técnicas​

  • O parâmetro é obrigatório (NOT NULL) na tabela PARMFINANC.
  • Não possui regra de autorizador (não consulta St_AlteraPreco ou tabelas de aprovação).
  • O controle por usuário depende da tabela auxiliar USUARIOCONTASALDO, que armazena CD_USUARIO, CD_EMPRCONTA e CD_CONTA.
  • Quando ST_PARMSALDO = 'N', o sistema ignora a existência (ou ausência) de registros em USUARIOCONTASALDO.