GFIN - Gerência do Financeiro
Objetivo: Sistema voltado ao gerenciamento de todos os gastos orçamentários e financeiros exercidos pelo TCE.
Linguagem: Visual Basic 5
Banco de Dados: Oracle
Ambiente de produção: Windows XP ou Windows 7, SINI instalado e configurado, Rede local TCE
Usuários: Gerencia de Orçamento e Finanças
Data de entrada em produção: Junho/2007
Data da última atualização/versão: Junho/2013
Gerente: Gerencia de Orçamento e Finanças
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.frme 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 |
|---|---|
| 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. |
| ModFinUtil.bas | Utilitários de lógica financeira e de cálculo. |
| ModUtil.bas | Funções auxiliares gerais para manipulação de strings, datas e formatação. |
| ModuloAPI.bas | Declarações de chamadas de API nativas do Windows (User32, Kernel32, etc.) para controle de interface. |
| modAcessos.bas | Lógica de validação de acessos a menus e funcionalidades do sistema. |
| ModMenus.bas (Modulex.bas) | Construção dinâmica de menus com base no perfil do usuário. |
| 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.
- CCript.cls: Lógica de criptografia e hashing de senhas.
- Classes de controle de acessos e papéis: CAcesRolesEXEC.cls, CAcesRolesREG.cls, CAcessosEXEC.cls, CAcessosREG.cls.
- Classes de navegação: CAcessosITERATOR.cls, CAcesRolesITERATOR.cls.
3. Componentes de Interface (''legado/Componentes/'')
Controles de usuário reutilizáveis (UserControls .ctl).
- AutoCompleteCombo2.ctl: ComboBox com autocompletar avançado.
- TplBotoes.ctl: Template/conjunto de botões de navegação/ação padrão.
- divisor.ctl: Divisor visual.
- 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 |
|---|---|
| frmLogin.frm | Login e autenticação inicial do usuário. |
| frmCaixa.frm | Controle de Caixa (Movimentações e Abertura/Fechamento). |
| frmEmpenho.frm | Emissão e consulta de Empenhos de despesa. |
| frmAnulacaoEmpenho.frm | Anulação (parcial/total) de Empenhos emitidos. |
| frmOrdemPagamento.frm | Emissão e controle de Ordens de Pagamento (OP). |
| frmGuiaReceita.frm | Emissão e consulta de Guias de Receita. |
| frmFundoDecucoes.frm | Deduções de saldo do Fundo Rotativo. |
| frmRestituicaoFundo.frm | Solicitação e processamento de Restituição de Fundo. |
| frmAjusteConciliacaoBancaria.frm | Conciliação e Ajuste de contas bancárias. |
| frmContaBancaria.frm | Cadastro de contas bancárias do órgão. |
| frmDotacao.frm | Controle orçamentário de Dotações. |
—
Pontos de Entrada e Inicialização
- Ponto de Partida: Função
Sub Mainno módulomodGERALFin.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).
- 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 paraMSDAORA.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_DADOSpara 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.