pres:gerti:servico_de_desenvolvimento_de_sistemas_de_informacao:projetos:gfin_gerencia_do_financeiro

Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anterior Revisão anterior
pres:gerti:servico_de_desenvolvimento_de_sistemas_de_informacao:projetos:gfin_gerencia_do_financeiro [15/07/2026 13:18] bholiveirapres:gerti:servico_de_desenvolvimento_de_sistemas_de_informacao:projetos:gfin_gerencia_do_financeiro [15/07/2026 13:20] (atual) bholiveira
Linha 19: Linha 19:
 **Conectividade com outros sistemas:** GPRO, GPRO Digital, GORC **Conectividade com outros sistemas:** GPRO, GPRO Digital, GORC
  
 +====== DOCUMENTAÇÃO DO SISTEMA LEGADO (GFIN) ======
  
 +====== Inventário do Sistema Legado — GFIN (VB6) ======
 +Este documento contém o mapeamento de superfície e o inventário de arquivos do sistema legado **GFIN**, desenvolvido em Visual Basic 6 (VB6).
 +===== Resumo Estatístico do Código =====
 +  * **Linguagem Principal:** Visual Basic 6 (''.bas'', ''.cls'', ''.frm'', ''.ctl'')
 +  * **Total de Arquivos:** 157
 +  * **Estrutura de Pastas:**
 +  * ''legado/Classes/'': 12 arquivos (Classes de regras de negócio, criptografia e tratamento de propriedades).
 +  * ''legado/Componentes/'': 5 arquivos (Controles personalizados de interface).
 +  * ''legado/Módulos/'': 7 arquivos (Módulos globais, funções utilitárias e lógica de conexão/APIs).
 +  * ''legado/Formulários/'': 133 arquivos (Telas ''.frm'' e arquivos de recursos binários ''.frx'', além de relatórios e subpastas).
 +---
 +===== Estrutura Detalhada de Diretórios e Componentes =====
 +==== 1. Módulos Globais (''legado/Módulos/'') ====
 +Contêm funções de utilidades gerais, controle de acesso e conexões com banco de dados.
 +^ Arquivo ^ Descrição ^
 +| [[file:///d:/PROJETOS/TRAE/novoGFIN/legado/Módulos/modGERALfin.bas | modGERALfin.bas]] | Ponto de entrada do sistema (''Sub Main''), funções de conexão com banco de dados (''Conectar''), controle de variáveis de sessão e inicialização de pacotes do Oracle. |
 +| [[file:///d:/PROJETOS/TRAE/novoGFIN/legado/Módulos/ModFinUtil.bas | ModFinUtil.bas]] | Utilitários de lógica financeira e de cálculo. |
 +| [[file:///d:/PROJETOS/TRAE/novoGFIN/legado/Módulos/ModUtil.bas | ModUtil.bas]] | Funções auxiliares gerais para manipulação de strings, datas e formatação. |
 +| [[file:///d:/PROJETOS/TRAE/novoGFIN/legado/Módulos/ModuloAPI.bas | ModuloAPI.bas]] | Declarações de chamadas de API nativas do Windows (User32, Kernel32, etc.) para controle de interface. |
 +| [[file:///d:/PROJETOS/TRAE/novoGFIN/legado/Módulos/modAcessos.bas | modAcessos.bas]] | Lógica de validação de acessos a menus e funcionalidades do sistema. |
 +| [[file:///d:/PROJETOS/TRAE/novoGFIN/legado/Módulos/Modulex.bas | ModMenus.bas (Modulex.bas)]] | Construção dinâmica de menus com base no perfil do usuário. |
 +| [[file:///d:/PROJETOS/TRAE/novoGFIN/legado/Módulos/modComp.bas | modComp.bas]] | Funções de conexão com o subsistema SINI. |
 +==== 2. Classes (''legado/Classes/'') ====
 +Classes COM encapsulando lógica de negócio e segurança.
 +  * [[file:///d:/PROJETOS/TRAE/novoGFIN/legado/Classes/CCript.cls|CCript.cls]]: Lógica de criptografia e hashing de senhas.
 +  * Classes de controle de acessos e papéis: [[file:///d:/PROJETOS/TRAE/novoGFIN/legado/Classes/CAcesRolesEXEC.cls|CAcesRolesEXEC.cls]], [[file:///d:/PROJETOS/TRAE/novoGFIN/legado/Classes/CAcesRolesREG.cls|CAcesRolesREG.cls]], [[file:///d:/PROJETOS/TRAE/novoGFIN/legado/Classes/CAcessosEXEC.cls|CAcessosEXEC.cls]], [[file:///d:/PROJETOS/TRAE/novoGFIN/legado/Classes/CAcessosREG.cls|CAcessosREG.cls]].
 +  * Classes de navegação: [[file:///d:/PROJETOS/TRAE/novoGFIN/legado/Classes/CAcessosITERATOR.cls|CAcessosITERATOR.cls]], [[file:///d:/PROJETOS/TRAE/novoGFIN/legado/Classes/CAcesRolesITERATOR.cls|CAcesRolesITERATOR.cls]].
 +==== 3. Componentes de Interface (''legado/Componentes/'') ====
 +Controles de usuário reutilizáveis (UserControls ''.ctl'').
 +  * [[file:///d:/PROJETOS/TRAE/novoGFIN/legado/Componentes/AutoCompleteCombo2.ctl|AutoCompleteCombo2.ctl]]: ComboBox com autocompletar avançado.
 +  * [[file:///d:/PROJETOS/TRAE/novoGFIN/legado/Componentes/TplBotoes.ctl|TplBotoes.ctl]]: Template/conjunto de botões de navegação/ação padrão.
 +  * [[file:///d:/PROJETOS/TRAE/novoGFIN/legado/Componentes/divisor.ctl|divisor.ctl]]: Divisor visual.
 +  * [[file:///d:/PROJETOS/TRAE/novoGFIN/legado/Componentes/usrBotao.ctl|usrBotao.ctl]]: Controle de botão customizado.
 +==== 4. Formulários e Interfaces (''legado/Formulários/'') ====
 +Telas do sistema organizadas por casos de uso financeiros (Fundo Rotativo, Empenhos, Caixa, etc.).
 +^ Formulário ^ Descrição / Caso de Uso Correspondente ^
 +| [[file:///d:/PROJETOS/TRAE/novoGFIN/legado/Formulários/frmLogin.frm | frmLogin.frm]] | Login e autenticação inicial do usuário. |
 +| [[file:///d:/PROJETOS/TRAE/novoGFIN/legado/Formulários/frmCaixa.frm | frmCaixa.frm]] | Controle de Caixa (Movimentações e Abertura/Fechamento). |
 +| [[file:///d:/PROJETOS/TRAE/novoGFIN/legado/Formulários/frmEmpenho.frm | frmEmpenho.frm]] | Emissão e consulta de Empenhos de despesa. |
 +| [[file:///d:/PROJETOS/TRAE/novoGFIN/legado/Formulários/frmAnulacaoEmpenho.frm | frmAnulacaoEmpenho.frm]] | Anulação (parcial/total) de Empenhos emitidos. |
 +| [[file:///d:/PROJETOS/TRAE/novoGFIN/legado/Formulários/frmOrdemPagamento.frm | frmOrdemPagamento.frm]] | Emissão e controle de Ordens de Pagamento (OP). |
 +| [[file:///d:/PROJETOS/TRAE/novoGFIN/legado/Formulários/frmGuiaReceita.frm | frmGuiaReceita.frm]] | Emissão e consulta de Guias de Receita. |
 +| [[file:///d:/PROJETOS/TRAE/novoGFIN/legado/Formulários/frmFundoDecucoes.frm | frmFundoDecucoes.frm]] | Deduções de saldo do Fundo Rotativo. |
 +| [[file:///d:/PROJETOS/TRAE/novoGFIN/legado/Formulários/frmRestituicaoFundo.frm | frmRestituicaoFundo.frm]] | Solicitação e processamento de Restituição de Fundo. |
 +| [[file:///d:/PROJETOS/TRAE/novoGFIN/legado/Formulários/frmAjusteConciliacaoBancaria.frm | frmAjusteConciliacaoBancaria.frm]] | Conciliação e Ajuste de contas bancárias. |
 +| [[file:///d:/PROJETOS/TRAE/novoGFIN/legado/Formulários/frmContaBancaria.frm | frmContaBancaria.frm]] | Cadastro de contas bancárias do órgão. |
 +| [[file:///d:/PROJETOS/TRAE/novoGFIN/legado/Formulários/frmDotacao.frm | frmDotacao.frm]] | Controle orçamentário de Dotações. |
 +---
 +===== Pontos de Entrada e Inicialização =====
 +  * **Ponto de Partida:** Função ''Sub Main'' no módulo ''modGERALFin.bas''.
 +  * **Fluxo de Inicialização:**
 +  1. Verifica se o sistema já está ativo (''App.PrevInstance'').
 +  2. Tenta obter credenciais da linha de comando (''Command()'') para conectar diretamente.
 +  3. Caso contrário, exibe o formulário ''frmLogin'' modally.
 +  4. Após o login bem-sucedido (conexão efetuada no Oracle), inicializa o formulário principal MDI (''mdiPrincipalFin.frm'').
 +
 +====== Mapeamento de Dependências — GFIN (VB6) ======
 +Este documento descreve as dependências, bibliotecas de terceiros, referências COM/ActiveX e dependências externas utilizadas pelo sistema legado **GFIN**.
 +===== Bibliotecas e Referências do Sistema (COM) =====
 +As dependências são configuradas no arquivo de projeto ''prjGfin.vbp'' e registradas no Registro do Windows (Registry).
 +^ Dependência ^ DLL / TLB ^ Descrição ^
 +| **OLE Automation** | ''STDOLE2.TLB'' | Serviços padrão de automação OLE do Windows. |
 +| **Win32 Type Library v0.6** | ''WIN32.TLB'' | Biblioteca de tipos para acesso facilitado a APIs nativas do Win32. |
 +| **Microsoft Data Formatting Object Library 6.0** | ''msstdfmt.dll'' | Formatação de dados para bindings e grids. |
 +| **Microsoft Scripting Runtime** | ''SCRRUN.DLL'' | Manipulação de arquivos (''FileSystemObject''), dicionários e streams. |
 +| **Microsoft ActiveX Data Objects 6.0 BackCompat Library** | ''msado60_Backcompat_i386.tlb'' | Biblioteca ADODB para conectividade e execução de consultas em banco de dados. |
 +---
 +===== Componentes Compartilhados e DLLs Customizadas =====
 +^ Componente ^ Caminho / Registro ^ Descrição ^
 +| **TCE_Acessos.dll** | ''\Windows\SysWow64\TCE_Acessos.dll'' | Biblioteca proprietária do TCE-GO para controle de permissões e acessos a perfis. |
 +| **Crystal Report Engine 8 Object Library** | ''\Windows\SysWow64\cpeaut32.dll'' | Engine integrada para renderização e exportação de relatórios. |
 +---
 +===== Controles ActiveX (OCX) =====
 +Controles visuais importados e exibidos nas telas (''.frm'').
 +  * **TABCTL32.OCX** (Microsoft Tabbed Dialog Control): Utilizado para criar abas de navegação nas telas mais densas (ex: cadastro de empenho e movimentações de caixa).
 +  * **MSMASK32.OCX** (Microsoft Masked Edit Control): Fornece caixas de texto com máscaras de entrada (ex: CPF, CNPJ, datas, contas bancárias).
 +  * **Mscomctl.ocx** & **MSCOMCT2.OCX** (Windows Common Controls): Componentes como ListView, TreeView, StatusBar e seletores de data.
 +  * **comdlg32.ocx** (Microsoft Common Dialog Control): Diálogos padrão de abrir/salvar arquivos e impressão.
 +  * **CaixaTextoDPD.ocx**: Controle personalizado de caixa de texto específico do ambiente do TCE-GO.
 +---
 +===== Banco de Dados e Conectividade =====
 +  * **Database Engine:** Oracle Database (conectado via ADODB).
 +  * **Provider Utilizado:** ''ORAOLEDB.ORACLE.1'' (Oracle Provider for OLE DB) ou fallback para ''MSDAORA.1'' (Microsoft OLE DB Provider for Oracle).
 +  * **Nome do Data Source (TNS):** ''ACERTO'' / ''ACERTO2''.
 +  * **Tratamento de Dados Específico:** Uso de stored procedures e packages do Oracle como ''TCE_PACKAGE.PTCE_CARREGA_DADOS'' para controle e validação de sessão do usuário.
 +
 +====== Dicionário de Dados do Sistema Legado — GFIN ======
 +Este documento mapeia as tabelas, campos e chaves do banco de dados relacional (Oracle Database) acessado pelo sistema legado **GFIN**, identificados através do código fonte VB6.
 +---
 +===== 1. Mapeamento de Tabelas de Domínio (Finanças e Orçamento) =====
 +==== Tabela: ''FIN_FUNDROTATIVO'' ====
 +Armazena a situação financeira e saldo consolidado do Fundo Rotativo por órgão, exercício e trimestre.
 +^ Campo ^ Tipo Oracle ^ Nulidade ^ Descrição / Regras de Negócio ^
 +| ''gersege_id'' | ''NUMBER(10)'' | NOT NULL | ID do órgão/setor geral associado ao fundo (FK para ''GER_SETOGERAL''). |
 +| ''numr_exercicio_n'' | ''NUMBER(4)'' | NOT NULL | Ano do exercício financeiro (ex: 2026). |
 +| ''numr_trimestre_n'' | ''NUMBER(1)'' | NOT NULL | Trimestre de referência (valores de 1 a 4). |
 +| ''vl_saldo_n'' | ''NUMBER(15,2)'' | NOT NULL | Saldo atual disponível no fundo rotativo. |
 +| ''vl_pendente_n'' | ''NUMBER(15,2)'' | NOT NULL | Valor pendente de restituição/compensação. |
 +| ''vl_reposicao_n'' | ''NUMBER(15,2)'' | NOT NULL | Valor acumulado de reposições no trimestre. |
 +| ''indr_trimestre_a'' | ''CHAR(1)'' | NOT NULL | Situação do trimestre: ''A'' (Aberto), ''E'' (Encerrado). |
 +==== Tabela: ''FIN_DESPESA'' ====
 +Registra as despesas (deduções) individuais executadas no âmbito do Fundo Rotativo.
 +^ Campo ^ Tipo Oracle ^ Nulidade ^ Descrição / Regras de Negócio ^
 +| ''findesp_id'' | ''NUMBER(10)'' | PK | Identificador único da despesa (dedução). |
 +| ''gersege_id'' | ''NUMBER(10)'' | FK | ID do órgão que realizou a despesa. |
 +| ''findueo_id_res'' | ''NUMBER(10)'' | NULL | ID da Ordem de Pagamento que realizou a restituição desta despesa (FK). |
 +| ''vl_despesa_n'' | ''NUMBER(15,2)'' | NOT NULL | Valor monetário da despesa/dedução. |
 +| ''dt_despesa_d'' | ''DATE'' | NOT NULL | Data em que a despesa foi efetuada. |
 +| ''txt_historico_a'' | ''VARCHAR2(500)'' | NULL | Descrição histórica ou justificativa da despesa. |
 +---
 +===== 2. Mapeamento de Tabelas de Controle e Acesso (Core / Geral) =====
 +==== Tabela: ''GER_USUARIO'' ====
 +Representa os usuários autenticados no sistema GFIN e suas conexões com o Active Directory / Perfis internos.
 +^ Campo ^ Tipo Oracle ^ Nulidade ^ Descrição / Regras de Negócio ^
 +| ''gerusua_id'' | ''NUMBER(10)'' | PK | ID único do usuário do sistema. |
 +| ''sys_user_name'' | ''VARCHAR2(50)'' | NOT NULL | Nome de usuário da rede/sistema (ex: ''gsLogin''). |
 +| ''gersein_id'' | ''NUMBER(10)'' | FK | ID do setor interno de lotação do usuário. |
 +==== Tabela: ''GER_SETOINTERNO'' ====
 +Mapeia os setores internos de cada diretoria/departamento.
 +^ Campo ^ Tipo Oracle ^ Nulidade ^ Descrição / Regras de Negócio ^
 +| ''gersein_id'' | ''NUMBER(10)'' | PK | ID do setor interno. |
 +| ''gersege_id'' | ''NUMBER(10)'' | FK | ID do setor geral/órgão (FK para ''GER_SETOGERAL''). |
 +==== Tabela: ''GER_SETOGERAL'' ====
 +Contém os setores e órgãos administrativos gerais do Tribunal de Contas.
 +^ Campo ^ Tipo Oracle ^ Nulidade ^ Descrição / Regras de Negócio ^
 +| ''gersege_id'' | ''NUMBER(10)'' | PK | ID único do órgão/setor geral. |
 +| ''codg_setor_a'' | ''VARCHAR2(20)'' | NOT NULL | Sigla/Código do setor (ex: ''GER-TI''). |
 +---
 +===== 3. Parâmetros Globais do Sistema =====
 +==== Tabela: ''PRO_PARAMETRO'' ====
 +Configurações e parâmetros operacionais globais por subsistema.
 +^ Campo ^ Tipo Oracle ^ Nulidade ^ Descrição / Regras de Negócio ^
 +| ''sigla_sistema_a'' | ''VARCHAR2(10)'' | PK | Sigla identificadora do sistema (ex: '''GPRO''', '''GFIN'''). |
 +| ''id_dpd_n'' | ''NUMBER(10)'' | NULL | ID do Departamento de Protocolo e Documentação padrão. |
 +| ''id_distribnormal_n'' | ''NUMBER(10)'' | NULL | ID padrão de distribuição de processos. |
 +| ''id_protocolo_n'' | ''NUMBER(10)'' | NULL | ID de controle de protocolo. |
 +
 +====== Análise Técnica do Código Legado (VB6) — GFIN ======
 +Este documento consolida a análise detalhada das regras de negócio, fluxos de controle e lógica operacional de cada módulo identificado no sistema legado **GFIN**.
 +---
 +===== 1. Módulo: Fundo Rotativo (''fundoRotativo'') =====
 +Controla o fluxo financeiro do Fundo Rotativo, garantindo dotações para despesas administrativas e adiantamentos do Tribunal.
 +==== Regras de Negócio e Algoritmos ====
 +  * **Restituição de Fundo (''frmRestituicaoFundo.frm''):**
 +  * **Lógica de Entrada:** O usuário escolhe um empenho e uma Ordem de Pagamento (OP) aberta e seleciona deduções pendentes (''FIN_DESPESA'').
 +  * **Fluxo de Persistência:**
 +    1. Vincula as deduções selecionadas atualizando a coluna ''findueo_id_res'' com o ID da OP de reposição.
 +    2. Atualiza a tabela ''FIN_FUNDROTATIVO'' recalculando os saldos:
 +       $$\text{vl\_saldo\_n} \leftarrow \text{vl\_saldo\_n} + \text{total\_deduções}$$
 +       $$\text{vl\_reposicao\_n} \leftarrow \text{vl\_reposicao\_n} + \text{total\_deduções}$$
 +       $$\text{vl\_pendente\_n} \leftarrow \text{vl\_pendente\_n} - \text{total\_deduções}$$
 +  * **Encerramento de Trimestre (''frmEncerraTrimestreFundo.frm''):**
 +  * **Lógica de Fechamento:** Bloqueia qualquer nova dedução ou alteração definindo o campo ''indr_trimestre_a'' para '''E''' (Encerrado).
 +  * **Validação:** Não permite fechar se houver pendências de prestação de contas no trimestre.
 +---
 +===== 2. Módulo: Empenho (''empenho'') =====
 +Controla a emissão de notas de empenho orçamentário.
 +==== Regras de Negócio e Algoritmos ====
 +  * **Reserva de Saldo:** Antes de emitir o empenho, o sistema valida no Oracle se a dotação correspondente possui saldo orçamentário disponível suficiente:
 +  $$\text{Saldo Disponível} = \text{Valor Dotação} - \text{Total Empenhado} - \text{Total Reservado}$$
 +  * **Anulação de Empenho (''frmAnulacaoEmpenho.frm''):**
 +  * Permite anulações parciais ou totais.
 +  * Libera o saldo orçamentário na dotação ao estornar/anular a reserva de despesa.
 +---
 +===== 3. Módulo: Caixa (''caixa'') =====
 +Registra movimentações financeiras de caixa e depósitos diários.
 +==== Regras de Negócio e Algoritmos ====
 +  * **Abertura/Fechamento Diário:** Exige a indicação do operador de caixa e validação física do saldo de abertura contra o saldo de fechamento do dia anterior.
 +  * **Lançamentos de Débito/Crédito:** Fluxos de caixa direto vinculados a contas correntes específicas.
 +---
 +===== 4. Módulo: Receita (''receita'') =====
 +Controle das receitas orçamentárias e arrecadação de taxas e multas.
 +==== Regras de Negócio e Algoritmos ====
 +  * **Guia de Receita (''frmGuiaReceita.frm''):**
 +  * Geração de guias de recolhimento contendo código de barras para recebimento no banco conveniado.
 +  * Vinculação com o CPF/CNPJ do contribuinte ou credor.
 +---
 +===== 5. Demais Módulos Auxiliares =====
 +  * **Dotação/Orçamento (''orcamento''):** Gerenciamento e controle de dotações, cronograma de desembolso mensal e alterações de crédito (suplementação/redução).
 +  * **Serviços (''servicos''):** Cadastro de prestação de serviços por fornecedores credenciados e controle de pagamentos correspondentes.
 +  * **Conciliação Bancária (''conciliacao''):** Cruzamento entre o extrato eletrônico bancário fornecido pelo banco e as movimentações financeiras registradas na contabilidade interna.
 +  * **Multas (''multas''):** Módulo de importação e processamento de arquivos de controle de multas enviadas/recebidas por descumprimento de prazos processuais.
  • pres/gerti/servico_de_desenvolvimento_de_sistemas_de_informacao/projetos/gfin_gerencia_do_financeiro.txt
  • Última modificação: 15/07/2026 13:20
  • por bholiveira