RCB002 — Balancete de Verificação
Fonte
- Form:
source/RCB002/URCB002.pas - DataModule:
source/RCB002/UdmRCB002.pas - DFM Form:
source/RCB002/URCB002.dfm - DFM DataModule:
source/RCB002/UdmRCB002.dfm - Package:
source/RCB002/RCB002.dpk(requires: jCommon, jPesquisa, jPesquisaPlano + rbRCL2329/rbRTL2329/rbDB2329/rbRAP2329 — ReportBuilder) - Layout ReportBuilder:
dist/Modulos/RCB002.RTM(com fallback parasessao.Path\Custom\RCB002.rtm) - Menu:
source/jCommon/jMenu.pas—RCB.add('RCB002', 'Balancete de Verificação', 1, [erpContabil])
Objetivo
Emitir o Balancete de Verificação contábil (obrigatório legal) consolidando saldos de todas as contas do Plano de Contas em um período, com opção de consolidação Matriz/Filiais, demonstração da situação Devedora/Credora do saldo e controle de numeração de páginas do Livro Diário. Alimenta os livros contábeis oficiais e serve como documento assinado por sócio responsável e contador (CRC).
Modelos de Relatorio
O relatório tem um único modelo (não há combobox de seleção). O SQL final é montado dinamicamente no btnImprimirClick a partir dos filtros e da lista de empresas selecionadas, com opções que alteram colunas visíveis no layout e o agrupamento.
Modelo 1: Balancete Consolidado (Matriz + Filiais)
Quando usado: único modelo. Opcionalmente consolida múltiplas empresas selecionadas no grid "Consolidação Matriz e Filiais" (marca Å na coluna com ST_RELATORIO).
Traz, por conta contábil (ou classificação), saldo anterior, débitos, créditos e saldo final do período. Soma agregada de múltiplas empresas quando mais de uma é marcada. Havendo seleção da checkbox "Mostrar msg de Lucro ou Prejuízo no Período", exibe o resultado final.
SQL Base:
SELECT R.O_TP_CONTA, R.O_NR_GRAU, R.O_NM_EMPRESA, R.O_DS_CONTA,
R.O_TP_MASCARA, R.O_CD_CLASSIFICACAO, R.O_TP_NATUREZA,
CAST(SUBSTRING(R.O_CD_CLASSIFICACAO FROM 1 FOR 1) AS INTEGER) CD_QUEBRA,
SUM(R.O_VL_SALDOANTERIOR) VL_SALDOANTERIOR,
SUM(CASE WHEN R.O_VL_DEBITO < 0 THEN R.O_VL_DEBITO * -1 ELSE R.O_VL_DEBITO END) VL_DEBITO,
SUM(CASE WHEN R.O_VL_CREDITO < 0 THEN R.O_VL_CREDITO * -1 ELSE R.O_VL_CREDITO END) VL_CREDITO,
SUM(R.O_TT_DEBITO) O_TT_DEBITO,
SUM(R.O_TT_CREDITO) O_TT_CREDITO,
SUM(R.O_VL_SALDO) VL_SALDO,
(SUM(R.O_VL_ATIVO) - SUM(R.O_VL_PASSIVO)) VL_LUCRO,
:NM_SOCIO, :DS_TIPOSOCIO, :NR_CPFSOCIO,
:NM_CONTADOR, :DS_TITULOCONTADOR, :NR_CRC
FROM RETORNA_BALANCETEMTF(
:EMPRESAS, -- lista de empresas marcadas (CSV)
:CD_CONTA, -- conta contábil filtro (opcional)
:DT_INICIAL, -- periodo inicial
:DT_FINAL, -- periodo final
:TP_MOSTRAR, -- 'C' = Contas / 'S' = Classificação
:ST_ZERAMENTO -- 'S' desfaz zeramentos do período
) R
/* filtro opcional por grau */
WHERE R.O_NR_GRAU <= :NR_GRAU
/* e/ou filtro de ocultar contas de clientes/fornecedores:
NOT ((R.O_CD_CLASSIFICACAO STARTING WITH :CLASSIF_CLIENTE AND ...)
OR (R.O_CD_CLASSIFICACAO STARTING WITH :CLASSIF_FORNEC AND ...)) */
GROUP BY R.O_CD_CLASSIFICACAO, R.O_TP_CONTA, R.O_NR_GRAU, R.O_NM_EMPRESA,
R.O_DS_CONTA, R.O_TP_MASCARA, R.O_TP_NATUREZA, R.O_CD_ORDEM,
NM_SOCIO, DS_TIPOSOCIO, NR_CPFSOCIO, NM_CONTADOR, NR_CRC, DS_TITULOCONTADOR
HAVING (SUM(R.O_VL_SALDOANTERIOR) <> 0
OR SUM(CASE WHEN R.O_VL_DEBITO < 0 THEN R.O_VL_DEBITO * -1 ELSE R.O_VL_DEBITO END) <> 0
OR SUM(CASE WHEN R.O_VL_CREDITO < 0 THEN R.O_VL_CREDITO * -1 ELSE R.O_VL_CREDITO END) <> 0
OR SUM(R.O_VL_SALDO) <> 0)
ORDER BY R.O_CD_ORDEM;
As colunas NM_SOCIO, DS_TIPOSOCIO, NR_CPFSOCIO, NM_CONTADOR, DS_TITULOCONTADOR, NR_CRC vêm de um SELECT FIRST 1 auxiliar sobre EMPRESA -> SOCIO -> PESSOA (sócio responsável) e PARMFISCAL -> CONTADOR -> PESSOA (contador responsável), e são embutidas na query como literais string.
Procedures chamadas pelo SQL principal:
RETORNA_BALANCETEMTF— núcleo do balancete (saldos anterior/período, agregação Matriz+Filiais)VERIFICA_DIFERENCADEBCRED— executada antes de imprimir para cada empresa, emite alerta W-0000 se houver diferença entre débitos e créditos (remete usuário à tela MCB002)VIEW_PLANOCONTAS— usada na validação do filtro Conta Contábil (OnValidate deCD_CONTA) e no mapeamento das contas de clientes/fornecedores ocultáveisRETORNA_MATRIZEFILIAL— preenche o grid de empresas (abertas do grupo Matriz/Filiais da empresa logada)
Layout: dist/Modulos/RCB002.RTM (ReportBuilder); se existir Custom\RCB002.rtm no path da sessão, esse é usado no lugar (customização por cliente).
Filtros
Campos simples:
- Período De / Até (obrigatórios) — default =
DT_BLOQINICIAL/DT_BLOQFINALde PARMCONTABIL da empresa logada - Grau (inteiro 1..NR_GRAU de PARMCONTABIL) — limita o nível de detalhamento do plano de contas
- Conta Contábil (F9 via
Pesquisa, F10 viaPesquisaPlano— navegador hierárquico) — restringe a emissão a uma conta/ramo específico - Mostrar — Combo "Contas / Classificação" (valores internos
C/S, campoTP_MOSTRAR); default "Contas" - Página Inicial (inteiro) + botão Buscar — lê
LIVRO.NR_PAGDIARIOda empresa/ano da data final; ao imprimir, atualizaLIVRO.NR_PAGDIARIOcom a página inicial + páginas geradas - Impressão em — Combo "Página / Folha" (valores
P/F) — altera o rótulo do contador de páginas no cabeçalho do layout - Iniciar nova Página nas Contas de Grau 1 (checkbox) — força quebra de página por grupo de grau 1
- Desfazer zeramentos do Período (checkbox) — passa
'S'emST_ZERAMENTOparaRETORNA_BALANCETEMTF - Mostrar msg de Lucro ou Prejuízo no Período (checkbox) — exibe
lblResultadono rodapé - Ocultar contas de clientes e fornecedores (checkbox) — injeta
NOT (... STARTING WITH PCOC.CD_CLASSIFICACAO ... OR ... PCOF.CD_CLASSIFICACAO ...)no WHERE (classificações vindas dePARMCONTABIL.CD_CONTACLIePARMCONTABIL.CD_CONTAFOR) - Mostrar Situação do Saldo (C/D) - Financeiro (checkbox) — mutuamente exclusivo com "Contábil"
- Mostrar Situação do Saldo (C/D) - Contábil (campo
ST_DEMONSTRASTSALDO,S/N) — mutuamente exclusivo com "Financeiro"
Filtros de grid (multi-selecao):
- Consolidação Matriz e Filiais (TDBGrid sobre
RETORNA_MATRIZEFILIAL(:CD_EMPRESA)) — multi-seleção via barra de espaço / clique na colunaÅmarca/desmarca empresas (ST_RELATORIO = Å). A empresa logada vem pré-marcada. Pelo menos uma empresa é obrigatória.
Parametros que Influenciam
| Tabela | Campo | Efeito |
|---|---|---|
| PARMSISTEMA | TP_PLANOCONTABIL | G = Plano global (única empresa referência=1); E = Plano por empresa (valida contra empresa marcada). Bloqueia abertura do módulo se vazio. |
| PARMCONTABIL | TP_NEGATIVO | Tipo de tratamento de saldos negativos na apresentação. |
| PARMCONTABIL | NR_GRAU | Limite máximo aceito no filtro "Grau" (validado em tabFILTRONR_GRAU.OnValidate). |
| PARMCONTABIL | DT_BLOQINICIAL / DT_BLOQFINAL | Preenchem automaticamente o Período (De/Até) ao iniciar o módulo. |
| PARMCONTABIL | CD_CONTACLI / CD_CONTAFOR | Classificações contábeis (via VIEW_PLANOCONTAS) usadas para ocultar contas de clientes/fornecedores quando o checkbox correspondente é marcado. |
| PARMFISCAL | CD_RESPONSAVEL | FK para PESSOA do responsável fiscal/contador; alimenta o bloco de assinatura do relatório junto com CONTADOR (CRC, título). |
Regras de Negocio
- Pré-requisitos de parâmetros (bloqueantes no
iniciar):PARMSISTEMA.TP_PLANOCONTABILdeve estar preenchido — caso contrário, W-0000 "Os parâmetros de Sistema não estão cadastrados!" e botão Novo é ocultado.PARMCONTABILdeve existir para a empresa logada — caso contrário, W-0000 remete à tela MCB001.
- Defaults do filtro (
AfterInsertemtabFILTRO):TP_MOSTRAR = 'C'(Contas).DT_INICIAL/DT_FINALcarregadas dePARMCONTABIL.DT_BLOQINICIAL/DT_BLOQFINAL.ST_DEMONSTRASTSALDO = 'N'.
- Validação de datas (
tabFILTRODT_INICIAL.OnValidate/tabFILTRODT_FINAL.OnValidate):- Se
DT_FINALvazia, assumeEndOfTheMonth(DT_INICIAL). - Se
DT_INICIAL > DT_FINAL,DT_FINALé reajustada para o fim do mês deDT_INICIAL. - Data Final menor que Inicial dispara W-0000.
- Se
- Validação do Grau: inteiro entre 1 e
PARMCONTABIL.NR_GRAU. Fora disso, W-0000. - Validação da Conta Contábil (
tabFILTROCD_CONTA.OnValidate):- Usa
VIEW_PLANOCONTAS(EMPRESA, 'AND CD_CONTA = X')para preencherDS_CONTAeCD_CLASSIFICACAO. - Se
TP_PLANOCONTABIL = 'G', forçaEMPRESA = 1. - Se
TP_PLANOCONTABIL = 'E', exige que o usuário tenha marcado uma empresa antes no grid; caso contrário, W-0000. - Conta inexistente dispara W-0000 com referência TCB008 (plano por empresa) ou TCB002 (plano global).
- Usa
- Verificação de consistência antes de imprimir: para cada empresa marcada, executa
VERIFICA_DIFERENCADEBCRED(CD_EMPRESA, DATA_HOJE, 'N')— se retornar mensagem não vazia, exibe alerta W-0000 orientando consulta de lançamentos contábeis na tela MCB002 (não bloqueia a impressão). - Obrigatórios na impressão:
DT_INICIAL,DT_FINALe pelo menos uma empresa marcada no grid. Faltando algum, W-0000. - Assinatura do relatório:
SELECT FIRST 1conjunto sócio responsável (SOCIO.ST_RESPONSAVEL='S'->PESSOA+TIPOSOCIO) e contador (PARMFISCAL.CD_RESPONSAVEL->PESSOA+CONTADOR). Os valores são embutidos no SQL principal como literais. - Persistência da paginação do Livro Diário: ao clicar em "Buscar" página inicial e depois Imprimir, executa
UPDATE LIVRO SET NR_PAGDIARIO = NR_PAGDIARIO_atual + PageCount WHERE CD_EMPRESA = :CD_EMPRESA AND NR_ANO = YearOf(DT_FINAL)e fazCommit. A flag internaAtualizaPaginacontrola esse fluxo. - Registro do relatório gerado:
GravaRelatoriosalva o SQL executado em audit + gera um.raf(ReportBuilder ArchiveFile) emsessao.Path\Relatórios\RCB002_<id>.raf, depois abre noCarregaVisualizador. - Exclusão mútua das checkboxes de situação do saldo: "C/D Financeiro" e "C/D Contábil" desmarcam-se mutuamente via OnClick.
Mensagens exibidas
Levantadas de source/RCB002/ pela camada 0 (commit 96fc51e236).
Mais 11 mensagens com texto literal no código: RCB002.
Datasets e SQL
| Dataset | Uso | SQL / Origem |
|---|---|---|
tabFILTRO | Buffer em memória com os campos de filtro do usuário (dates, conta, grau, página, TP_MOSTRAR, ST_DEMONSTRASTSALDO). Usa CachedUpdates=True com SQL "dummy" sobre EMPRESA apenas para derivar tipos — nenhum dado real é persistido. | SELECT ... FROM EMPRESA WHERE 0 = 1 (SQL template em design-time) |
tabEMPRESAS | Grid de Consolidação Matriz/Filiais. Chama procedure RETORNA_MATRIZEFILIAL. | SELECT * FROM RETORNA_MATRIZEFILIAL(:CD_EMPRESA) ORDER BY NR_EMPRESA ASC |
tabBalancete | Resultado final alimentando o relatório ReportBuilder (ppDB -> Relatório). SQL montado dinamicamente em btnImprimirClick. | SELECT ... FROM RETORNA_BALANCETEMTF(...) R ... (ver Modelos de Relatório) |
Perguntas Frequentes
Perguntas Gerais
P: Para que serve a tela RCB002? R: A tela RCB002 e a tela do Balancete de Verificacao do sistema. Este relatorio apresenta um resumo da situacao contábil da empresa em um determinado periodo, exibindo para cada conta contábil o saldo anterior, o total de debitos, o total de creditos e o saldo atual. O Balancete de Verificacao e uma ferramenta essencial para a conferencia da escrituracao contábil, pois permite identificar rapidamente se os lancamentos estao equilibrados e se os saldos das contas estao corretos.
P: O que e o filtro de grau no Balancete de Verificacao e como ele funciona? R: O filtro de grau permite definir ate qual nivel hierarquico do Plano de Contas o Balancete de Verificacao deve apresentar as contas. O Plano de Contas e organizado em niveis (graus), onde o grau 1 representa os grupos mais abrangentes (como Ativo, Passivo) e os graus superiores representam subdivisoes mais detalhadas, ate chegar nas contas analiticas. Ao selecionar um grau especifico, o relatorio exibira apenas as contas ate aquele nivel, permitindo uma visao mais resumida ou mais detalhada conforme a necessidade de analise.
P: O que significa o aviso de diferenca entre debitos e creditos no Balancete de Verificacao? R: Quando o sistema exibe um aviso indicando que existe diferenca entre o total de debitos e o total de creditos, isso significa que a escrituracao contábil pode conter inconsistencias. Pelo principio das partidas dobradas, todo debito deve ter um credito correspondente de igual valor. Se houver diferenca, pode indicar lancamentos incompletos, estornos incorretos ou erros de digitacao. Esse aviso e originado na validacao da tela de Parametros Contábeis (MCB002) e requer revisao dos lancamentos contábeis do periodo para identificar e corrigir a divergencia.
P: Para que serve a opcao de ocultar subcontas de clientes e fornecedores? R: A opcao de ocultar subcontas de clientes e fornecedores permite que o Balancete de Verificacao apresente apenas a conta titulo (sintetica) de clientes e fornecedores, sem detalhar cada subconta analitica individual. Isso e util quando o Plano de Contas esta configurado para criar uma conta analitica para cada cliente ou fornecedor, o que pode gerar um relatorio muito extenso. Ao ocultar essas subcontas, o relatorio fica mais conciso e focado nas informacoes consolidadas, mantendo a visao geral sem o detalhamento excessivo.
P: O que sao as opcoes de quebra de grupo no Balancete de Verificacao? R: As opcoes de quebra de grupo permitem configurar como as contas contábeis serao agrupadas e separadas visualmente no relatorio. Ao habilitar quebras de grupo, o Balancete insere subtotais e separacoes visuais por grupo de contas (como Ativo, Passivo, Receitas, Despesas), facilitando a leitura e analise dos dados. Sem a quebra de grupo, as contas sao listadas de forma continua sem separacoes intermediarias.
P: O que faz a opcao de zeramento no Balancete de Verificacao? R: A opcao de zeramento permite que o Balancete de Verificacao considere ou nao os lancamentos de zeramento das contas de resultado no encerramento do exercicio. Quando o zeramento esta habilitado, o relatorio considera esses lancamentos de encerramento, zerarando os saldos das contas de resultado. Essa opcao e importante para gerar o Balancete corretamente no periodo de encerramento do exercicio, diferenciando os saldos antes e depois do zeramento.
P: O que e a mensagem de resultado no Balancete de Verificacao? R: A mensagem de resultado e um texto configuravel que pode ser exibido no Balancete de Verificacao para informar o resultado do exercicio (lucro ou prejuizo). Quando habilitada, essa mensagem e apresentada ao final do relatorio, sintetizando o desempenho financeiro da empresa no periodo analisado.
Mensagens de Validacao e Erros
P: Ao acessar a tela RCB002, o sistema apresenta a mensagem "Os parametros de Sistema nao estao cadastrados!". Como devo proceder? R: Esta mensagem indica que os parametros gerais do sistema ainda nao foram configurados. Os parametros de sistema sao pre-requisitos para o funcionamento do Balancete de Verificacao. Solicite ao administrador do sistema que realize o cadastro dos parametros de sistema antes de utilizar esta tela.
P: O sistema apresenta a mensagem "Os Parametros Contábeis nao estao cadastrados!". Como devo proceder? R: Esta mensagem indica que os parametros do módulo contábil nao foram configurados. Acesse a tela de Parametros Contábeis (MCB001) para realizar o cadastro dos parametros obrigatorios. Sem esses parametros, o sistema nao consegue gerar o Balancete de Verificacao.
P: O sistema apresenta a mensagem "A Data Inicial deve ser informada!" ou "A Data Final deve ser informada!". Como devo proceder? R: Os campos de Data Inicial e Data Final sao obrigatorios para a geracao do Balancete de Verificacao. Preencha ambos os campos com as datas que definem o periodo desejado para o relatorio. Sem essas datas, o sistema nao consegue determinar o intervalo de lancamentos a ser considerado.
P: O sistema apresenta a mensagem "A Data Final nao pode ser Menor que a Data Inicial!". Como devo proceder? R: O intervalo de datas informado esta invalido. A Data Final deve ser igual ou posterior a Data Inicial. Corrija os campos de data para que definam um periodo valido, garantindo que a Data Final seja maior ou igual a Data Inicial.
P: O sistema apresenta a mensagem "A Empresa deve ser informada!". Como devo proceder? R: O campo de empresa e obrigatorio para gerar o Balancete de Verificacao. Informe o codigo da empresa para a qual deseja emitir o relatorio. Sem essa informacao, o sistema nao consegue identificar de qual empresa os dados contábeis devem ser extraidos.
P: O sistema apresenta a mensagem sobre diferenca entre debitos e creditos ao gerar o relatorio. O que devo fazer? R: Este aviso, originado na validacao dos Parametros Contábeis (MCB002), indica que existe uma diferenca entre o total de debitos e o total de creditos no periodo analisado. Isso pode representar inconsistencias na escrituracao contábil. Revise os lancamentos do periodo para identificar possiveis erros, lancamentos incompletos ou estornos incorretos. E recomendavel corrigir as divergencias antes de utilizar o Balancete para fins oficiais.
P: O sistema apresenta a mensagem sobre Plano de Contas por Empresa exigindo que a empresa seja informada primeiro. O que isso significa? R: Quando o sistema esta configurado para utilizar o Plano de Contas por Empresa, e necessario informar a empresa antes de selecionar as contas contábeis nos filtros, pois cada empresa pode ter seu proprio plano de contas. Preencha primeiro o campo de empresa e depois informe as contas desejadas.
P: O sistema apresenta a mensagem "Esta Conta nao esta Cadastrada!". Como devo proceder? R: A conta contábil informada no filtro do relatorio nao foi encontrada no Plano de Contas. Verifique se o codigo digitado esta correto e se a conta existe no plano de contas da empresa selecionada. Caso necessario, acesse o cadastro do Plano de Contas para consultar as contas disponiveis.
P: O sistema apresenta a mensagem indicando que o grau informado esta fora do intervalo permitido. Como devo proceder? R: O valor informado no filtro de grau excede o numero maximo de graus configurado nos Parametros Contábeis ou e menor que 1. Verifique na tela de Parametros Contábeis (MCB001) qual e o numero maximo de graus do Plano de Contas e informe um valor dentro do intervalo valido (de 1 ate o numero maximo de graus configurado).
Tabelas de Escrita (INSERT/UPDATE/DELETE)
| Tabela | Operacoes |
|---|---|
| EMPRESA | UPDATE (via tabEMPRESAS — marca ST_RELATORIO para consolidação; updFILTRO define InsertSQL/ModifySQL/DeleteSQL em EMPRESA mas são dummies usados apenas como sink do FireDAC) |
| LIVRO | UPDATE (NR_PAGDIARIO após impressão, quando AtualizaPagina=True) |
Tabelas de Leitura (SELECT)
| Tabela | Operacoes |
|---|---|
| CONTADOR | SELECT (bloco de assinatura — DS_TITULOCONTADOR, NR_CRCCONTADOR) |
| EMPRESA | SELECT (razão social + CNPJ no cabeçalho; join com PESSOA) |
| LIVRO | SELECT (NR_PAGDIARIO para sugerir página inicial via botão Buscar) |
| PARMCONTABIL | SELECT (datas de bloqueio, grau máximo, tipo de negativo, contas de cli/for) |
| PARMFISCAL | SELECT (CD_RESPONSAVEL — FK do contador) |
| PARMSISTEMA | SELECT (TP_PLANOCONTABIL) |
| PESSOA | SELECT (nome/CPF do sócio e contador; razão social da empresa) |
| PLANOCONTAS | SELECT (F9/F10 — pesquisa de conta contábil) |
| SOCIO | SELECT (sócio responsável da empresa — ST_RESPONSAVEL = 'S') |
| TIPOSOCIO | SELECT (descrição do tipo de sócio no bloco de assinatura) |
Procedures Chamadas
| Procedure | Tabelas Acessadas |
|---|---|
| RETORNA_BALANCETEMTF | Núcleo contábil (via MOVTOCONTABIL, PLANOCONTAS, HISTORICOCONTABIL) |
| RETORNA_MATRIZEFILIAL | EMPRESA (SELECT), PARMCONTABIL (SELECT), PESSOA (SELECT) |
| VERIFICA_DIFERENCADEBCRED | DIFDEBCRED (SELECT) |
| VIEW_PLANOCONTAS | CENTROCUSTO (SELECT), CONTASPESSOA (SELECT), PARMCONTABIL (SELECT), PARMSISTEMA (SELECT), PLANOCONTAS (SELECT), PLANOEMPRESA (SELECT) |
| VIEW_RAZAOCONTABIL | CONTASPESSOA (SELECT), EMPRESA (SELECT), HISTORICOCONTABIL (SELECT), MOVTOCONTABIL (SELECT), PESSOA (SELECT) |
Tabelas via Procedures (acesso indireto)
| Tabela | Operacoes |
|---|---|
| CENTROCUSTO | SELECT |
| CONTASPESSOA | SELECT |
| DIFDEBCRED | SELECT |
| EMPRESA | SELECT |
| HISTORICOCONTABIL | SELECT |
| MOVTOCONTABIL | SELECT |
| PARMCONTABIL | SELECT |
| PARMSISTEMA | SELECT |
| PESSOA | SELECT |
| PLANOCONTAS | SELECT |
| PLANOEMPRESA | SELECT |
Dependencias Aferentes (quem alimenta esta tela)
Telas que escrevem em tabelas lidas por esta tela. As dependências mais fortes são de cadastros contábeis/fiscais e da emissão de lançamentos contábeis.
| Tela | Título | Tabelas em Comum |
|---|---|---|
| TFA001 | Cadastro de Pessoas | EMPRESA, PESSOA, PARMSISTEMA |
| ADM002 | Administração — Empresas/Sócios | EMPRESA, SOCIO |
| MCB001 | Parâmetros Contábeis | PARMCONTABIL |
| MCB002 | Lançamentos Contábeis | (via MOVTOCONTABIL/HISTORICOCONTABIL — indireto) |
| TCB002 | Plano de Contas (global) | PLANOCONTAS |
| TCB008 | Plano de Contas (por empresa) | PLANOCONTAS |
| ADM010 | Parâmetros do Sistema | PARMSISTEMA, PLANOCONTAS |
| MFA013 | Parâmetros NFSE | PARMFISCAL, PARMSISTEMA, PESSOA |
| TFA001 | Cadastro de Pessoas | EMPRESA, PESSOA |
| MNF001 | Emissão de Nota Fiscal | EMPRESA, PESSOA, PARMCONTABIL, PARMFISCAL, PARMSISTEMA |
| MNF002 | Nota Fiscal de Saída | EMPRESA, PESSOA, PARMCONTABIL, PARMFISCAL |
| MCA001 | Contratos de Captação | EMPRESA, PESSOA |
| TOF007 | Cadastro de Peças | EMPRESA, PARMFISCAL, PARMSISTEMA |
Lista reduzida dos principais alimentadores. O mapeamento automático do table_screen_mapper identifica 524 telas aferentes no total (principalmente via PESSOA e EMPRESA, que são tabelas de domínio central do ERP).
Dependencias Eferentes (quem consome dados desta tela)
Telas que leem tabelas escritas por esta tela. Como RCB002 só escreve em EMPRESA (flag ST_RELATORIO, efêmera em memória) e LIVRO (NR_PAGDIARIO), as dependências eferentes de fato relevantes são outros relatórios do livro diário contábil.
| Tela | Título | Tabelas em Comum |
|---|---|---|
| RCB001 | Livro Diário | EMPRESA, LIVRO |
| RCB003 | Razão Contábil | EMPRESA, LIVRO |
| RCB006 | Livro Razão | EMPRESA, LIVRO |
| RCB007 | Demonstrações Contábeis | EMPRESA, LIVRO |
| RCB009 | Balanço Patrimonial | EMPRESA, LIVRO |
| RCB010 | DRE | EMPRESA, LIVRO |
| RCB012 | Livro Caixa Contábil | EMPRESA, LIVRO |
| RCB013 | Demonstrações Auxiliares | EMPRESA, LIVRO |
| RCB016 | Livros Contábeis | EMPRESA, LIVRO |
| RCB019 | Relatórios Contábeis | EMPRESA, LIVRO |
| RCB020 | Relatórios Contábeis | EMPRESA, LIVRO |
| RFC032 | Relatório Financeiro/Contábil | EMPRESA, LIVRO |
| RFI003 | Relatório Financeiro | EMPRESA, LIVRO |
| RFI004 | Relatório Financeiro | EMPRESA, LIVRO |
| RFI007 | Relatório Financeiro | EMPRESA, LIVRO |
| RFI012 | Relatório Financeiro | EMPRESA, LIVRO |
| RFI027 | Relatório Financeiro | EMPRESA, LIVRO |
| RFI028 | Relatório Financeiro | EMPRESA, LIVRO |
| RFI030 | Relatório Financeiro | EMPRESA, LIVRO |
| RFI032 | Relatório Financeiro | EMPRESA, LIVRO |
| TCB008 | Plano de Contas (por empresa) | EMPRESA, LIVRO |
+1140 telas adicionais consumindo EMPRESA (tabela central do ERP). Filtro aplicado para mostrar apenas consumidoras de LIVRO (núcleo dos relatórios contábeis) + principais consumidoras contábeis.
Modelos de Relatório
O relatório tem um único modelo (não há combobox de seleção). O SQL final é montado dinamicamente no btnImprimirClick a partir dos filtros e da lista de empresas selecionadas, com opções que alteram colunas visíveis no layout e o agrupamento.
Modelo 1: Balancete Consolidado (Matriz + Filiais)
Quando usado: único modelo. Opcionalmente consolida múltiplas empresas selecionadas no grid "Consolidação Matriz e Filiais" (marca Å na coluna com ST_RELATORIO).
Traz, por conta contábil (ou classificação), saldo anterior, débitos, créditos e saldo final do período. Soma agregada de múltiplas empresas quando mais de uma é marcada. Havendo seleção da checkbox "Mostrar msg de Lucro ou Prejuízo no Período", exibe o resultado final.
SQL Base:
SELECT R.O_TP_CONTA, R.O_NR_GRAU, R.O_NM_EMPRESA, R.O_DS_CONTA,
R.O_TP_MASCARA, R.O_CD_CLASSIFICACAO, R.O_TP_NATUREZA,
CAST(SUBSTRING(R.O_CD_CLASSIFICACAO FROM 1 FOR 1) AS INTEGER) CD_QUEBRA,
SUM(R.O_VL_SALDOANTERIOR) VL_SALDOANTERIOR,
SUM(CASE WHEN R.O_VL_DEBITO < 0 THEN R.O_VL_DEBITO * -1 ELSE R.O_VL_DEBITO END) VL_DEBITO,
SUM(CASE WHEN R.O_VL_CREDITO < 0 THEN R.O_VL_CREDITO * -1 ELSE R.O_VL_CREDITO END) VL_CREDITO,
SUM(R.O_TT_DEBITO) O_TT_DEBITO,
SUM(R.O_TT_CREDITO) O_TT_CREDITO,
SUM(R.O_VL_SALDO) VL_SALDO,
(SUM(R.O_VL_ATIVO) - SUM(R.O_VL_PASSIVO)) VL_LUCRO,
:NM_SOCIO, :DS_TIPOSOCIO, :NR_CPFSOCIO,
:NM_CONTADOR, :DS_TITULOCONTADOR, :NR_CRC
FROM RETORNA_BALANCETEMTF(
:EMPRESAS, -- lista de empresas marcadas (CSV)
:CD_CONTA, -- conta contábil filtro (opcional)
:DT_INICIAL, -- periodo inicial
:DT_FINAL, -- periodo final
:TP_MOSTRAR, -- 'C' = Contas / 'S' = Classificação
:ST_ZERAMENTO -- 'S' desfaz zeramentos do período
) R
/* filtro opcional por grau */
WHERE R.O_NR_GRAU <= :NR_GRAU
/* e/ou filtro de ocultar contas de clientes/fornecedores:
NOT ((R.O_CD_CLASSIFICACAO STARTING WITH :CLASSIF_CLIENTE AND ...)
OR (R.O_CD_CLASSIFICACAO STARTING WITH :CLASSIF_FORNEC AND ...)) */
GROUP BY R.O_CD_CLASSIFICACAO, R.O_TP_CONTA, R.O_NR_GRAU, R.O_NM_EMPRESA,
R.O_DS_CONTA, R.O_TP_MASCARA, R.O_TP_NATUREZA, R.O_CD_ORDEM,
NM_SOCIO, DS_TIPOSOCIO, NR_CPFSOCIO, NM_CONTADOR, NR_CRC, DS_TITULOCONTADOR
HAVING (SUM(R.O_VL_SALDOANTERIOR) <> 0
OR SUM(CASE WHEN R.O_VL_DEBITO < 0 THEN R.O_VL_DEBITO * -1 ELSE R.O_VL_DEBITO END) <> 0
OR SUM(CASE WHEN R.O_VL_CREDITO < 0 THEN R.O_VL_CREDITO * -1 ELSE R.O_VL_CREDITO END) <> 0
OR SUM(R.O_VL_SALDO) <> 0)
ORDER BY R.O_CD_ORDEM;
As colunas NM_SOCIO, DS_TIPOSOCIO, NR_CPFSOCIO, NM_CONTADOR, DS_TITULOCONTADOR, NR_CRC vêm de um SELECT FIRST 1 auxiliar sobre EMPRESA -> SOCIO -> PESSOA (sócio responsável) e PARMFISCAL -> CONTADOR -> PESSOA (contador responsável), e são embutidas na query como literais string.
Procedures chamadas pelo SQL principal:
RETORNA_BALANCETEMTF— núcleo do balancete (saldos anterior/período, agregação Matriz+Filiais)VERIFICA_DIFERENCADEBCRED— executada antes de imprimir para cada empresa, emite alerta W-0000 se houver diferença entre débitos e créditos (remete usuário à tela MCB002)VIEW_PLANOCONTAS— usada na validação do filtro Conta Contábil (OnValidate deCD_CONTA) e no mapeamento das contas de clientes/fornecedores ocultáveisRETORNA_MATRIZEFILIAL— preenche o grid de empresas (abertas do grupo Matriz/Filiais da empresa logada)
Layout: dist/Modulos/RCB002.RTM (ReportBuilder); se existir Custom\RCB002.rtm no path da sessão, esse é usado no lugar (customização por cliente).