MFC004 — Pagamento / Recebimento de Contas
Fonte
- Form:
source/MFC004/UMFC004.pas - DataModule:
source/MFC004/UdmMFC004.pas - Autorização:
source/MFC004/UMFC004AUTORIZACAO.pas
Objetivo
Tela de baixa financeira unificada para pagamento e recebimento de contas a pagar/receber. Permite filtrar parcelas (por empresa, data de lançamento/vencimento, tipo de conta, forma de pagamento, pessoa, etc.), calcular automaticamente juros de mora e desconto antecipado, marcar/desmarcar parcelas para baixa em lote, e executar o processo de liquidação registrando movimentos de caixa, contabilidade e centro de resultado. Suporta baixa com cheque (inclusive via leitora), TEF, rateio por centro de custo e autorização de desconto por supervisor.
Funcionalidades
- Filtro de Documentos para Baixa
- Seleção de Documentos para Processamento
- Cálculo de Juros e Descontos
- Processamento de Baixa em Lote
- Liquidação de Cheques
- Autorização de Descontos/Juros
Mensagens exibidas
Levantadas de source/MFC004/ pela camada 0 (commit 96fc51e236).
| Código | Tipo | Mensagem |
|---|---|---|
| W-1412 | Aviso | O Usuário não possui Acesso a Consulta de Notas Fiscais! CNF001] |
| W-1590 | Aviso | O usuário não possui acesso a tela Consulta Contas / Cheques / Adiantamentos! [CFC001] |
| W-1673 | Aviso | O Usuário não possui acesso a tela Consulta de Faturas! [CFC006] |
| W-1674 | Aviso | O Usuário não possui acesso a tela Controle de Cobrança! [CFC008] |
Mais 67 mensagens com texto literal no código: MFC004.
Parâmetros lidos
Campos PARM* lidos via values[] em source/MFC004/ (commit 96fc51e236).
| Parâmetro | Tabela |
|---|---|
| ST_ALTERA_DT_MFC004 | PARMFINANC |
| ST_JUROCHEQUE | PARMFINANC |
| ST_LANCAMENTO | PARMFINANC |
Tabelas de Escrita (INSERT/UPDATE/DELETE)
| Tabela | Operacoes |
|---|---|
| CONTAS | DELETE, INSERT, SELECT, UPDATE |
| MOVTOCAIXA | SELECT, UPDATE |
| MOVTOCAIXACC | INSERT, SELECT |
| PERFIL | DELETE, INSERT, SELECT, UPDATE |
| PESSOA | DELETE, INSERT, SELECT, UPDATE |
| TIPOCONTA | DELETE, INSERT, SELECT, UPDATE |
| VIAGEMMOVTOCAIXA | INSERT |
Tabelas de Leitura (SELECT)
| Tabela | Operacoes |
|---|---|
| AGENCIA | SELECT |
| AUTORIZADOR | SELECT |
| BANCO | SELECT |
| CENTROCUSTO | SELECT |
| CHEQUE | SELECT |
| CONDPAGTO | SELECT |
| CONTACORPESSOA | SELECT |
| CONTASBLOQFINANC | SELECT |
| CONTASHISTORICO | SELECT |
| CONTASJUNCAO | SELECT |
| EMPRESA | SELECT |
| ENDERECOPESSOA | SELECT |
| FERIADO | SELECT |
| FORMAPAGTO | SELECT |
| GRUPOCENTROCUSTO | SELECT |
| HISTORICO | SELECT |
| ITEMSERIAL | SELECT |
| JURO | SELECT |
| MOVTOPROCESSO | SELECT |
| NOTA | SELECT |
| PARMCONTABIL | SELECT |
| PARMFATUR | SELECT |
| PARMFINANC | SELECT |
| PARMRESTAURANTE | SELECT |
| PARMUSUARIO | SELECT |
| PESSOAPERFIL | SELECT |
| PROCESSO | SELECT |
| ROMANEIO | SELECT |
| ROMANEIOCONTAS | SELECT |
| TEF | SELECT |
| TIPOPESSOA | SELECT |
| USUARIO | SELECT |
| USUARIOEMPRESA | SELECT |
| VENDEDOR | SELECT |
Procedures Chamadas
| Procedure | Tabelas Acessadas |
|---|---|
| CALCULA_CAPITAL | JURO (SELECT), PARMFINANC (SELECT) |
| CALCULA_JURO | JURO (SELECT), PARMFINANC (SELECT) |
| CALCULA_JUROMORA | CONTAS (SELECT), CONTASHISTORICO (SELECT), CREDITO (SELECT), HISTORICO (SELECT), JURO (SELECT), MOVTOPROCESSO (SELECT) +3 |
| CONTROLE_CAIXA | CAIXA (SELECT), PARMFINANC (SELECT), PARMUSUARIO (SELECT) |
| EXECUTA_PROCESSO | AGENCIA (SELECT), AJUSTEFISCALITEMNOTA (DELETE/INSERT/SELECT), ALIQUOTA (SELECT), AVISOSCPC (INSERT), BANCO (SELECT), CHEQUE (SELECT) +63 |
| GERA_INTEGRACAO | AJUSTEFISCALITEMNOTA (DELETE/INSERT/SELECT), ALIQUOTA (SELECT), CODRECEITA (SELECT), CONDPAGTO (SELECT), CONTAS (SELECT), CONTASCTB (DELETE/INSERT/SELECT) +53 |
| GERA_SEQUENCIA | SEQUENCIA (SELECT/UPDATE) |
| GRAVA_MOVTOCAIXA | AJUSTEFISCALITEMNOTA (DELETE/INSERT/SELECT), ALIQUOTA (SELECT), CODRECEITA (SELECT), CONDPAGTO (SELECT), CONTAS (SELECT), CONTASCTB (DELETE/INSERT/SELECT) +56 |
| GRAVA_MOVTOPROCESSO | CONTAS (SELECT), CONTASHISTORICO (SELECT), HISTORICO (SELECT), MOVTOPROCESSO (INSERT/SELECT), PARMFINANC (SELECT), PROCESSO (SELECT/UPDATE) |
| GRAVA_PROCESSO | PROCESSO (INSERT), SEQUENCIA (SELECT/UPDATE), SESSAO (SELECT) |
| INTEGRA_MOVTOCAIXACC | HISTORICO (SELECT), MOVTOCAIXA (SELECT) |
| RETORNA_COMPLEMENTO | CONTAS (SELECT), CONTASHISTORICO (SELECT), HISTORICO (SELECT), MOVTOCAIXA (SELECT), PARMCOMPLCAIXA (SELECT), PARMFINANC (SELECT) +3 |
| RETORNA_CONTASOBRA | CONTAS (SELECT), PEDIDONOTA (SELECT), ROMANEIO (SELECT), ROMANEIOCONTAS (SELECT), ROMANEIONOTA (SELECT), ROMANEIOPEDIDO (SELECT) |
| VALIDA_CENTRORESULT | CENTROCUSTO (SELECT), CONDFISCALHISTORICO (SELECT) |
| VIEW_PLANOCONTAS | CENTROCUSTO (SELECT), CONTASPESSOA (SELECT), PARMCONTABIL (SELECT), PARMSISTEMA (SELECT), PLANOCONTAS (SELECT), PLANOEMPRESA (SELECT) |
| VIEW_TIPOCONTASUSUARIO | PARMFINANC (SELECT), TIPOCONTARESTRITA (SELECT) |
Tabelas via Procedures (acesso indireto)
| Tabela | Operacoes |
|---|---|
| AGENCIA | SELECT |
| AJUSTEFISCALITEMNOTA | DELETE, INSERT, SELECT |
| ALIQUOTA | SELECT |
| AVISOSCPC | INSERT |
| BANCO | SELECT |
| CAIXA | SELECT |
| CENTROCUSTO | SELECT |
| CHEQUE | SELECT |
| CODRECEITA | SELECT |
| COMISSAOCONTAS | INSERT |
| CONDFISCALHISTORICO | SELECT |
| CONDPAGTO | SELECT |
| CONTAS | SELECT, UPDATE |
| CONTASCTB | DELETE, INSERT, SELECT |
| CONTASHISTORICO | SELECT |
| CONTASHISTORICOCC | SELECT |
| CONTASHISTORICOCTB | DELETE, INSERT, SELECT |
| CONTASPESSOA | INSERT, SELECT |
| CONTAS_MOVTOCONTABIL | SELECT |
| CREDITO | SELECT |
| ... | +63 tabelas |
Regras de Negocio
- Verificação de caixa na abertura: ao iniciar, chama
CONTROLE_CAIXA(cd_empresa, cd_usuario); se mensagem de erro presente, bloqueia botões Novo/Salvar/Procurar e lança exceção. Aviso não-bloqueante exibido viaW-0000. - Data de pagamento fixada pelo caixa: se
PARMFINANC.ST_ALTERA_DT_MFC004 = 'N'ou caixa aberto, o campo data de pagamento fica somente leitura e é preenchido com a data do caixa. - Parâmetros de juro e desconto de PARMFINANC:
PC_JUROMORAePC_DESCONTOANTECIPADOsão carregados automaticamente nos filtros. Se não configurados, os campos ficam vazios. - Cálculo automático de juro de mora: ao selecionar parcela (
tabCONTASSTATUSValidate), seTP_CALCULAJURO = 'S', chamaCALCULA_JUROMORA; se'P', chamaCALCULA_JURO. Modo'V'(valor fixo) pula o cálculo automático. - Desconto antecipado proporcional: calculado como
VL_PAGO × (1 + PC_DESCONTOMES/100)^(dias/30)para pagamentos antes do vencimento. - Parcela bloqueada:
ST_BLOQUEADA = 'S'impede liquidação com mensagemA parcela está Bloqueada e não pode ser liquidada. Verifique [MFC036]. - Restrição por data de lançamento: quando
iST_LANCAMENTO = 'N', data de lançamento da conta não pode ser maior que a data de liquidação. - Situação da parcela calculada (
tabCONTASCalcFields):T= Pendente Total,P= Pago Parcial,L= Liquidado,C= Cancelado. - Valor pago não pode exceder saldo (
tabCONTASVL_PAGOValidate): lançaE-0000seVL_PAGO > VL_SALDO. - Controle de desconto máximo: percentual máximo por usuário em
PARMUSUARIO.PC_DESCONTOMAX; sePARMUSUARIO.ST_AUTORIZADOR = 'S', desconto direto desabilitado e requer autorização viaUMFC004AUTORIZACAO. - Totalizadores separados por tipo: somatórios de saldo, juro, pago e desconto mantidos separados para contas a receber (
TP_CONTAS = 'S') e a pagar (TP_CONTAS != 'S'). Valor do processo é o módulo da diferença entre os dois lados (verde = recebimento maior, vermelho = pagamento maior). - Filtros persistidos:
Recupera_FiltroPrograma/Grava_FiltroPrograma(viaPARMUSUARIO) mantém os filtros por usuário/empresa entre sessões. - Suporte a cheque com leitora:
PARMUSUARIO.ST_CHEQUEhabilita leitora de cheque;tabCHEQUEé umTClientDataSetin-memory com camposCD_BANCO,CD_AGENCIA,NR_DOCUMENTO,VL_DOCUMENTO. - Chamada de procedimentos de baixa:
GRAVA_MOVTOCAIXAexecuta a baixa efetiva;GRAVA_MOVTOPROCESSOeGRAVA_PROCESSOregistram o processo;GERA_INTEGRACAOeINTEGRA_MOVTOCAIXACCfazem integração contábil e por centro de resultado. - Validação de empresa do usuário:
tabFILTROCD_EMPRESAValidateverifica se empresa está emUSUARIOEMPRESApara o usuário logado; caso contrário, lançaA Empresa não está Cadastrada ou não Liberada para o Usuário! [ADM002]. - Acesso por módulo externo: suporta parâmetro
NR_CONTRATOviaprograma.params, que filtra automaticamente contas do contrato ao abrir.
Datasets e SQL
| Dataset | Tabela Principal | Tipo | Descricao |
|---|---|---|---|
tabTIPOCONTA | TIPOCONTA | TFDQuery + TFDUpdateSQL | Tipos de conta (a pagar / a receber); editável na grade de filtro |
tabCONTAS | CONTAS | TFDQuery + TFDUpdateSQL | Parcelas filtradas; campos editáveis: STATUS (seleção), VL_PAGO, VL_JURO, VL_DESCONTO, VL_TOTALDOC, DS_OBSERVACAO |
tabPESSOA | PESSOA | TFDQuery + TFDUpdateSQL | Cadastro de pessoas para associar à parcela |
tabDOCUMENTOS | (auxiliar) | TFDQuery + TFDUpdateSQL | Documentos vinculados (NR_DOCUMENTO / NR_LANCAMENTO / NR_PARCELA) |
tabHISTORICO | HISTORICO | TFDQuery + TFDUpdateSQL | Históricos financeiros disponíveis para seleção |
tabFILTRO | (in-memory) | TFDQuery | Filtros de pesquisa: empresa, datas, forma pagamento, banco, agência, tipo pessoa, condição de pagamento, obra, vendedor, etc. |
tabTOTAL | (in-memory) | TFDQuery + TFDUpdateSQL | Totalizadores: VL_SALDOREC/PAG, VL_JUROREC/PAG, VL_PAGOREC/PAG, VL_DESCREC/PAG, VL_PROCESSO, VL_TOTALSELECIONADO |
tabCHEQUE | (in-memory) | TClientDataSet | Cheques adicionados à baixa: banco, agência, número, valor, leitura de cheque |
tabORDEM | (via NR_EMBARQUE) | TFDQuery + TFDUpdateSQL | Ordens de embarque vinculadas |
tabPERFILPESSOA | PERFIL | TFDQuery + TFDUpdateSQL | Perfis de pessoa para filtro |
cdsRATEIOCC | (in-memory) | TClientDataSet | Rateio por centro de resultado: CD_CENTRORESULT, DS_CENTRORESULT, PC_CENTRORESULT, VL_CENTRORESULT |
cdsCENTRORESULT | (in-memory) | TClientDataSet | Plano de contas para rateio: CD_CONTA, DS_CONTA, VL_CONTA, TP_NATUREZA |
cdsVALORPROCESSO | (in-memory) | TClientDataSet | Acumulo de valores por parcela selecionada para cálculo do processo |
Dependencias Aferentes (quem alimenta esta tela)
Telas que escrevem em tabelas lidas por esta tela.
| Tela | Título | Tabelas em Comum |
|---|---|---|
| MFC029 | CONTAS | |
| CFC009 | Consulta/Cancelamento de Reparcelamento | CONTAS |
| MNF029 | CONTAS | |
| MFC003 | Lançamento de Caixa Avulso / Cheque | CONTAS |
| MRC021 | Cancelamento de Ordem de carregamento Recapadora | CONTAS |
| CFC010 | Aviso de Liquidação de Duplicatas no SCPC | CONTAS |
| MPD011 | Confirmação Ordem Carregamento | CONTAS |
| MFC019 | Reparcelamento de Contas | CONTAS |
| MFC033 | Gerenciamento Boleto Rápido Junsoft | CONTAS |
| MFC032 | Gerenciamento de Títulos a Pagar | CONTAS |
| MNF027 | Cancelamento de Notas Fiscais | CONTAS |
| MFC006 | Estorno de Lançamento de Caixa Avulso / Cheque | CONTAS |
| MPD019 | Gerenciamento de Contrato/Romaneio Obras | CONTAS |
JunsoftServiceFatApp | CONTAS | |
| MRC018 | Emissão de Remessa de Entrada/Saída por Pedido Recapagem | CONTAS |
| MNF002 | Emissão de Nota Fiscal de Venda | CONTAS |
| CPD004 | CONTAS | |
| MNF026 | Troca de Produtos com Emissão de Nota Fiscal | CONTAS |
| CNF002 | Troca de Mercadorias | CONTAS |
| MNF033 | Faturamento Agrupado | CONTAS |
| MNF005 | Cancelamento de Notas Fiscais | CONTAS |
| MPD012 | Cancelamento Ordem Carregamento | CONTAS |
| MNF023 | Gerenciamento de Contas de Contratos | CONTAS |
| TRC037 | CONTAS | |
| MNF032 | Importação de XML Transmitido | CONTAS |
| MPD008 | Ordem de Produção Avulsa | CONTAS |
| MFC021 | CONTAS | |
| MFC007 | Estorno de Pagamento / Recebimento de Contas | CONTAS |
| CFC013 | Exportação de Arquivo PEFIN | CONTAS |
| MNF010 | Gerar Mensalidades | CONTAS |
| ... | +74 telas |
Dependencias Eferentes (quem consome dados desta tela)
Telas que leem tabelas escritas por esta tela.
| Tela | Título | Tabelas em Comum |
|---|---|---|
| LCX041 | CONTAS | |
| CFC009 | Consulta/Cancelamento de Reparcelamento | CONTAS |
| MRC026 | Agenda de Pneus | CONTAS |
| LCX040 | CONTAS | |
| MFC003 | Lançamento de Caixa Avulso / Cheque | CONTAS |
| MRC021 | Cancelamento de Ordem de carregamento Recapadora | CONTAS |
RCA004 | Curva ABC de Fornecedores | CONTAS |
TRD012 | CONTAS | |
| RFC013 | Posição Financeira por Período | CONTAS |
| RFC036 | Relação de Receitas x Despesas sobre Duplicatas com Gráfico | CONTAS |
| LNF501 | CONTAS | |
| MNF027 | Cancelamento de Notas Fiscais | CONTAS |
| MCB003 | Integração Contábil | CONTAS |
| RPD006 | Custos sobre Ordem de Serviço | CONTAS |
| RFC017 | Conciliação de Caixa / Banco | CONTAS |
| MRC018 | Emissão de Remessa de Entrada/Saída por Pedido Recapagem | CONTAS |
| MNF002 | Emissão de Nota Fiscal de Venda | CONTAS |
| MNF026 | Troca de Produtos com Emissão de Nota Fiscal | CONTAS |
| LNF141 | CONTAS | |
LDP006 | CONTAS | |
| RPD033 | CONTAS | |
| LNF165 | CONTAS | |
| LNF015 | CONTAS | |
MOF008 | Desbloqueio de Ordens de Serviço - Financeiro | CONTAS |
LDP013 | CONTAS | |
LDP014 | CONTAS | |
LDP022 | CONTAS | |
| CFC013 | Exportação de Arquivo PEFIN | CONTAS |
LDP028 | CONTAS | |
MCA003 | Transferências entre Contratos | CONTAS |
| ... | +323 telas |