| 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] – bholiveira | pres:gerti:servico_de_desenvolvimento_de_sistemas_de_informacao:projetos:gfin_gerencia_do_financeiro [15/07/2026 13:20] (atual) – bholiveira |
|---|
| **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. |