You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

4872 lines
144 KiB

unit udtmSystem;
interface
uses
System.SysUtils, System.Classes, Data.DB, Vcl.Forms, Vcl.Dialogs,
ZAbstractRODataset, ZAbstractDataset, ZAbstractTable, ZDataset,
ZAbstractConnection, ZConnection, IniFiles, IdHashMessageDigest, ZSequence,
ZSqlMonitor, ZSqlProcessor, StrUtils, DateUtils, Vcl.ExtCtrls, DBCtrls,
Vcl.Controls, Vcl.Buttons, Vcl.Graphics, Variants, System.Json,
Vcl.DBGrids, Vcl.CheckLst, rDBComponents, System.UITypes, windows,
IBX.IBServices, Datasnap.DBClient, MidasLib, System.ImageList, Vcl.ImgList,
Vcl.AppEvnts, ZIBEventAlerter;
// Tentando "Hackear" o TDBNavigator
type
THackDBNavigator = class(TDBNavigator);
type
TdtmSystem = class(TDataModule)
ZConnection: TZConnection;
dtsUsuarios: TDataSource;
dtsGrupos: TDataSource;
dtsPermissoes: TDataSource;
dtsGruposPermissoes: TDataSource;
qryConsulta: TZQuery;
dtsEmpresa: TDataSource;
dtsCidades: TDataSource;
dtsEstados: TDataSource;
dtsPermDisponiveis: TDataSource;
tblPermDisponiveis: TZReadOnlyQuery;
tblPermDisponiveisID_PERMISSAO: TIntegerField;
tblPermDisponiveisCD_PERMISSAO: TWideStringField;
tblPermDisponiveisTX_DESCRICAO: TWideStringField;
dtsLog: TDataSource;
dtsCHGEmpresa: TDataSource;
dtsPoliticas: TDataSource;
dtsFaixas: TDataSource;
dtsDevedores: TDataSource;
dtsCHGEnderecos: TDataSource;
dtsTelefones: TDataSource;
dtsTitulos: TDataSource;
ZSQLProcessor1: TZSQLProcessor;
dtsProvidencias: TDataSource;
tblInadimplencias: TZTable;
dtsInadimplencias: TDataSource;
tblInadimplenciasID_INADIMPLENCIA: TIntegerField;
tblInadimplenciasTX_NOME: TWideStringField;
dtsCampanhaCob: TDataSource;
dtsCampanhaDevedores: TDataSource;
dtsCobCampanha: TDataSource;
dtsHistorico: TDataSource;
ROQueryFaixa: TZReadOnlyQuery;
dtsQueryFaixa: TDataSource;
ROquerypesquisas: TZReadOnlyQuery;
dtsROquerypesquisas: TDataSource;
dtsAgenda: TDataSource;
dtsLayout: TDataSource;
dtsProtocolo: TDataSource;
dtsIndices: TDataSource;
dtsRecibo: TDataSource;
dtsConteudo: TDataSource;
dtsDuplicados: TDataSource;
dtsRepasse: TDataSource;
dtsLogins: TDataSource;
dtsSessao: TDataSource;
dtsDespesasTitulos: TDataSource;
dtsIndicadorFinanceiro: TDataSource;
dtsFiltros: TDataSource;
cdsHist: TClientDataSet;
cdsHisttx_nome: TStringField;
cdsHistcd_documento: TStringField;
cdsHistid_devedor: TIntegerField;
tblProvidencias: TZQuery;
tblProvidenciasID_PROVIDENCIA: TIntegerField;
tblProvidenciasTX_NOME: TWideStringField;
tblProvidenciasTX_DESCRICAO: TWideStringField;
tblProvidenciasTP_PROVIDENCIA: TWideStringField;
tblTitulos: TZQuery;
tblTitulosID_TITULO: TIntegerField;
tblTitulosID_DEVEDOR: TIntegerField;
tblTitulosID_EMPRESA: TIntegerField;
tblTitulosTX_PRODUTO: TWideStringField;
tblTitulosVL_TITULO: TFloatField;
tblTitulosDT_ENTRADA: TDateTimeField;
tblTitulosDT_VENCIMENTO: TDateTimeField;
tblTitulosTP_SITUACAO: TWideStringField;
tblTitulosCD_DEVEDOR: TWideStringField;
tblTitulosTP_CHEQUE: TWideStringField;
tblTitulosID_BANCO: TIntegerField;
tblTitulosTX_NRCHEQUE: TWideStringField;
tblTitulosTP_MOTIVO: TWideStringField;
tblTitulosVL_DESPESA: TFloatField;
tblTitulosTP_DESPESA: TWideStringField;
tblTitulosVL_MULTA: TFloatField;
tblTitulosVL_JUROS: TFloatField;
tblTitulosVL_ENCARGOS: TFloatField;
tblTitulosVL_CORRIGIDO: TFloatField;
tblTitulosDT_PAGAMENTO: TDateTimeField;
tblTitulosTX_OBS: TWideMemoField;
tblFiltros: TZQuery;
tblFiltrosID_FILTRO: TIntegerField;
tblFiltrosTX_NOME_FILTRO: TWideStringField;
tblFiltrosTP_CREDOR: TWideStringField;
tblFiltrosTX_CREDOR: TWideStringField;
tblFiltrosTP_PROVIDENCIA: TWideStringField;
tblFiltrosTX_PROVIDENCIA: TWideStringField;
tblFiltrosCD_PROVIDENCIA: TWideStringField;
tblFiltrosTP_VALOR: TWideStringField;
tblFiltrosVL_VALORIN: TFloatField;
tblFiltrosVL_VALORFIM: TFloatField;
tblFiltrosTP_AGENDADO: TWideStringField;
tblFiltrosTX_AGENDADO: TWideStringField;
tblFiltrosTP_NOME: TWideStringField;
tblFiltrosTX_NOME: TWideStringField;
tblFiltrosTP_ATRASO: TWideStringField;
tblFiltrosTX_ATRASOIN: TIntegerField;
tblFiltrosTX_ATRASOFIM: TIntegerField;
tblFiltrosTP_PESSOA: TWideStringField;
tblFiltrosCD_PESSOA: TWideStringField;
tblFiltrosTP_TITULO: TWideStringField;
tblFiltrosCD_TITULO: TWideStringField;
tblFiltrosCD_ORDEM: TWideStringField;
tblAgenda: TZQuery;
tblAgendaID_AGENDA: TIntegerField;
tblAgendaID_COBRADOR: TIntegerField;
tblAgendaID_DEVEDOR: TIntegerField;
tblAgendaDT_AGENDADA: TDateField;
tblAgendaHR_AGENDADA: TTimeField;
tblAgendaTP_SITUACAO: TWideStringField;
tblLayouts: TZQuery;
tblLayoutsID_LAYOUT: TIntegerField;
tblLayoutsTX_NOME: TWideStringField;
tblLayoutsSTR_CAMPOS: TWideStringField;
tblLayoutsNR_QNTCAMPOS: TFloatField;
tblIndices: TZQuery;
tblIndicesID_INDICE: TIntegerField;
tblIndicesTX_NOME: TWideStringField;
tblIndicesPR_INDICE: TFloatField;
tblRecibo: TZQuery;
tblReciboID_RECIBO: TIntegerField;
tblReciboNR_RECIBO: TWideStringField;
tblReciboTX_NOME: TWideStringField;
tblReciboTX_CPF: TWideStringField;
tblReciboTX_CNPJ: TWideStringField;
tblReciboID_DEVEDOR: TIntegerField;
tblReciboVL_TOTAL: TFloatField;
tblReciboVL_PRINCIPAL: TFloatField;
tblReciboVL_JUROS: TFloatField;
tblReciboVL_MULTA: TFloatField;
tblReciboVL_ENCARGOS: TFloatField;
tblReciboVL_DESCONTOS: TFloatField;
tblReciboVL_CORRIGIDO: TFloatField;
tblReciboTP_RECEBIMENTO: TWideStringField;
tblReciboNR_CHEQUE: TWideStringField;
tblReciboID_BANCO: TIntegerField;
tblReciboTX_PRACA: TWideStringField;
tblReciboID_USUARIO: TIntegerField;
tblReciboDT_IMPRESSAO: TDateTimeField;
tblReciboTX_CAMINHO: TWideStringField;
tblConteudoRecibo: TZQuery;
tblConteudoReciboID_CONTEUDO: TIntegerField;
tblConteudoReciboTX_NOME: TWideStringField;
tblConteudoReciboDT_VENCIMENTO: TDateTimeField;
tblConteudoReciboVL_PRINCIPAL: TFloatField;
tblConteudoReciboVL_JUROS: TFloatField;
tblConteudoReciboVL_MULTA: TFloatField;
tblConteudoReciboVL_ENCARGOS: TFloatField;
tblConteudoReciboVL_DESCONTOS: TFloatField;
tblConteudoReciboVL_CORRIGIDO: TFloatField;
tblConteudoReciboID_RECIBO: TIntegerField;
tblConteudoReciboVL_DESPESA: TFloatField;
tblConteudoReciboTX_DEPESA: TWideStringField;
tblConteudoReciboVL_EXTRAS: TFloatField;
tblDuplicados: TZQuery;
tblDuplicadosID_DUPLICADO: TIntegerField;
tblDuplicadosTX_NOMEDEVEDOR: TWideStringField;
tblDuplicadosCD_CPF: TWideStringField;
tblDuplicadosTX_NOMETITULO: TWideStringField;
tblDuplicadosVL_TITULO: TFloatField;
tblDuplicadosDT_VENCIMENTO: TDateTimeField;
tblDuplicadosTP_ACAO: TWideStringField;
tblDuplicadosCD_CNPJ: TWideStringField;
tblLogins: TZQuery;
tblLoginsID_LOGIN: TIntegerField;
tblLoginsID_USUARIO: TIntegerField;
tblLoginsDT_LOGIN: TDateField;
tblLoginsHR_LOGIN: TTimeField;
tblLoginsDT_LOGOFF: TDateField;
tblLoginsHR_LOGOFF: TTimeField;
tblEmpresa: TZQuery;
tblEmpresaID_EMPRESA: TIntegerField;
tblEmpresaTX_NOME: TWideStringField;
tblEmpresaTX_FANTASIA: TWideStringField;
tblEmpresaTX_ENDERECO: TWideStringField;
tblEmpresaNR_NUMERO: TIntegerField;
tblEmpresaTX_COMPLEMENTO: TWideStringField;
tblEmpresaTX_BAIRRO: TWideStringField;
tblEmpresaID_CIDADE: TIntegerField;
tblEmpresaTX_CEP: TWideStringField;
tblEmpresaTX_TELEFONE: TWideStringField;
tblEmpresaTX_WEBSITE: TWideStringField;
tblEmpresaTX_CNPJ: TWideStringField;
tblEmpresaTX_IE: TWideStringField;
tblEmpresaTX_IM: TWideStringField;
tblEmpresaTL_OBSERVACOES: TWideMemoField;
tblEmpresaTX_LOGOMARCA: TWideStringField;
tblEmpresaTX_HONORARIOS: TWideStringField;
tblEmpresaPR_DEBITO: TFloatField;
tblEmpresaPR_CREDVISTA: TFloatField;
tblEmpresaPR_CRED3: TFloatField;
tblEmpresaPR_CRED6: TFloatField;
tblEmpresaPR_CRED12: TFloatField;
tblEmpresaIMG_LOGO: TBlobField;
tblEmpresaPR_FINANCIAMENTO: TFloatField;
tblEmpresaTX_TITULO: TWideStringField;
tblEmpresaID_ESTADO: TIntegerField;
tblEmpresaTX_EMAILNOME: TWideStringField;
tblEmpresaTX_EMAIL: TWideStringField;
tblEmpresaTX_SMTP: TWideStringField;
tblEmpresaTX_PORTA: TWideStringField;
tblEmpresaTX_USUARIO: TWideStringField;
tblEmpresaTX_SENHA: TWideStringField;
tblPermissoes: TZQuery;
tblPermissoesID_PERMISSAO: TIntegerField;
tblPermissoesCD_PERMISSAO: TWideStringField;
tblPermissoesTX_DESCRICAO: TWideStringField;
tblPermissoesID_PARENT: TIntegerField;
tblPermissoesTP_ACESSO: TWideStringField;
tblTitulosID_ULTIMO_USUARIO: TIntegerField;
tblTitulosDT_HORA_ULTIMA_ATT: TDateTimeField;
tblTitulosTX_ULTIMO_USUARIO: TStringField;
tblRepasse: TZQuery;
tblRepasseID_REPASSE: TIntegerField;
tblRepassePR_PRINCIPAL: TFloatField;
tblRepassePR_JUROS: TFloatField;
tblRepassePR_MULTA: TFloatField;
tblRepassePR_ENCARGOS: TFloatField;
tblRepassePR_CORRIGIDO: TFloatField;
tblRepasseTX_NOME: TWideStringField;
tblSessao: TZQuery;
tblSessaoID_SESSAO: TIntegerField;
tblSessaoID_USUARIO: TIntegerField;
tblSessaoTP_ATIVA: TWideStringField;
tblCobCampanha: TZQuery;
tblCobCampanhaID_CAMPANHA: TIntegerField;
tblCobCampanhaTX_NOME: TWideStringField;
tblCobCampanhaTP_ATIVA: TWideStringField;
tblCobCampanhaTP_CONCLUIDA: TWideStringField;
tblCobCampanhaTX_DESC: TWideStringField;
tblCobCampanhaDT_CAD: TDateField;
tblCHGEmpresa: TZQuery;
tblCHGEmpresaID_EMPRESA: TIntegerField;
tblCHGEmpresaTX_NOME: TWideStringField;
tblCHGEmpresaTX_FANTASIA: TWideStringField;
tblCHGEmpresaTX_CNPJ: TWideStringField;
tblCHGEmpresaTX_IE: TWideStringField;
tblCHGEmpresaTX_ENDERECO: TWideStringField;
tblCHGEmpresaTX_COMPLEMENTO: TWideStringField;
tblCHGEmpresaID_CIDADE: TIntegerField;
tblCHGEmpresaTX_BAIRRO: TWideStringField;
tblCHGEmpresaID_ESTADO: TIntegerField;
tblCHGEmpresaTX_CEP: TWideStringField;
tblCHGEmpresaTX_TELEFONE: TWideStringField;
tblCHGEmpresaTX_EMAIL: TWideStringField;
tblCHGEmpresaTX_WEBSITE: TWideStringField;
tblCHGEmpresaNR_NUMERO: TIntegerField;
tblCHGEmpresaTX_IM: TWideStringField;
tblCHGEmpresaTL_OBSERVACOES: TWideMemoField;
tblCHGEmpresaID_REPASSE: TIntegerField;
tblCHGEmpresaPR_MULTA: TFloatField;
tblCHGEmpresaPR_JUROS: TFloatField;
tblCHGEmpresaNR_PARCELAS: TIntegerField;
tblCHGEmpresaPR_DESC_QUIT_PRIN: TFloatField;
tblCHGEmpresaPR_DESC_QUIT_JUROS: TFloatField;
tblCHGEmpresaPR_DESC_QUIT_MULTA: TFloatField;
tblCHGEmpresaPR_DESC_QUIT_IND_FIN: TFloatField;
tblCHGEmpresaPR_DESC_QUIT_COR: TFloatField;
tblCHGEmpresaPR_DESC_FINAN_PRIN: TFloatField;
tblCHGEmpresaPR_DESC_FINAN_JUROS: TFloatField;
tblCHGEmpresaPR_DESC_FINAN_MULTA: TFloatField;
tblCHGEmpresaPR_DESC_FINAN_IND_FIN: TFloatField;
tblCHGEmpresaPR_DESC_FINAN_COR: TFloatField;
tblCHGEmpresaPR_INDICADOR_FINANCEIRO: TFloatField;
tblCHGEmpresaPR_JUROS_PARCELAR: TFloatField;
tblEstados: TZQuery;
tblEstadosID_ESTADO: TIntegerField;
tblEstadosTX_NOME: TWideStringField;
tblEstadosCD_ESTADO: TWideStringField;
tblEstadosTX_SIGLA: TWideStringField;
tblUsuariosConsulta: TZQuery;
tblUsuariosConsultaID_USUARIO: TIntegerField;
tblUsuariosConsultaTX_NOME: TWideStringField;
tblUsuariosConsultaTX_USUARIO: TWideStringField;
tblUsuariosConsultaTX_SENHA: TWideStringField;
tblUsuariosConsultaID_GRUPO: TIntegerField;
tblUsuariosConsultaTP_ATIVO: TWideStringField;
tblUsuariosConsultaTP_TROCAPASS: TWideStringField;
tblUsuariosConsultaTX_EMAILNOME: TWideStringField;
tblUsuariosConsultaTX_EMAIL: TWideStringField;
tblUsuariosConsultaTX_SMTP: TWideStringField;
tblUsuariosConsultaTX_PORTA: TWideStringField;
tblUsuariosConsultaTX_USUARIOEMAIL: TWideStringField;
tblUsuariosConsultaTX_SENHAEMAIL: TWideStringField;
tblGrupos: TZQuery;
tblGruposID_GRUPO: TIntegerField;
tblGruposTX_NOME: TWideStringField;
tblGruposTP_SU: TWideStringField;
tblUsuarios: TZQuery;
tblUsuariosID_USUARIO: TIntegerField;
tblUsuariosTX_NOME: TWideStringField;
tblUsuariosTX_USUARIO: TWideStringField;
tblUsuariosTX_SENHA: TWideStringField;
tblUsuariosID_GRUPO: TIntegerField;
tblUsuariosTP_ATIVO: TWideStringField;
tblUsuariosTP_TROCAPASS: TWideStringField;
tblUsuariosTX_EMAILNOME: TWideStringField;
tblUsuariosTX_EMAIL: TWideStringField;
tblUsuariosTX_SMTP: TWideStringField;
tblUsuariosTX_PORTA: TWideStringField;
tblUsuariosTX_USUARIOEMAIL: TWideStringField;
tblUsuariosTX_SENHAEMAIL: TWideStringField;
tblGruposPermissoes: TZQuery;
tblGruposPermissoesID_ITEM: TIntegerField;
tblGruposPermissoesID_GRUPO: TIntegerField;
tblGruposPermissoesID_PERMISSAO: TIntegerField;
tblGruposPermissoesTP_ACESSO: TWideStringField;
tblCampanhaCob: TZQuery;
tblCampanhaCobID_ITEM: TIntegerField;
tblCampanhaCobID_CAMPANHA: TIntegerField;
tblCampanhaCobID_COBRADOR: TIntegerField;
tblCampanhaDevedores: TZQuery;
tblCampanhaDevedoresID_ITEM: TIntegerField;
tblCampanhaDevedoresID_CAMPANHA: TIntegerField;
tblCampanhaDevedoresID_DEVEDOR: TIntegerField;
tblCampanhaDevedoresTX_DOCUMENTO: TWideStringField;
tblCampanhaDevedoresTP_ESTADO: TWideStringField;
tblCampanhaDevedoresTX_NOME: TStringField;
tblHistorico: TZQuery;
tblHistoricoID_HISTORICO: TIntegerField;
tblHistoricoID_DEVEDOR: TIntegerField;
tblHistoricoID_COBRADOR: TIntegerField;
tblHistoricoID_TITULO: TIntegerField;
tblHistoricoID_PROVIDENCIA: TIntegerField;
tblHistoricoDT_CONTATO: TDateTimeField;
tblHistoricoTP_AGENDAMENTO: TWideStringField;
tblHistoricoCD_PROTOCOLO: TWideStringField;
tblHistoricoTL_MEMO: TWideMemoField;
tblHistoricoID_ULTIMO_USUARIO: TIntegerField;
tblHistoricoDT_HORA_ULTIMA_ATT: TDateTimeField;
tblHistoricoID_TITULOS: TWideStringField;
tblHistoricoTX_ULTIMO_USUARIO: TStringField;
tblHistoricoTX_MEMO: TStringField;
tblProtocolo: TZQuery;
tblProtocoloID_PROTOCOLO: TIntegerField;
tblProtocoloCD_PROTOCOLO: TWideStringField;
tblProtocoloQNT_TITULOS: TIntegerField;
tblProtocoloID_TITULOS: TWideMemoField;
tblProtocoloID_DEVEDOR: TIntegerField;
tblProtocoloVL_ENTRADA: TFloatField;
tblProtocoloVL_JUROS: TFloatField;
tblProtocoloVL_MULTA: TFloatField;
tblProtocoloVL_INDICADOR: TFloatField;
tblProtocoloVL_ENCARGOS: TFloatField;
tblProtocoloVL_CORRIGIDO: TFloatField;
tblProtocoloTP_DESC_QUIT: TWideStringField;
tblProtocoloPR_QUIT_JUROS: TFloatField;
tblProtocoloPR_QUIT_MULTA: TFloatField;
tblProtocoloPR_QUIT_INDICADOR: TFloatField;
tblProtocoloPR_QUIT_PRINCIPAL: TFloatField;
tblProtocoloTP_DESC_PAR: TWideStringField;
tblProtocoloPR_PARCELAR_JUROS: TFloatField;
tblProtocoloPR_PARCELAR_MULTA: TFloatField;
tblProtocoloPR_PARCELAR_INDICADOR: TFloatField;
tblProtocoloPR_PARCELAR_PRINCIPAL: TFloatField;
tblProtocoloNR_PARCELAS: TIntegerField;
tblProtocoloDT_PROTOCOLO: TDateTimeField;
tblProtocoloPR_QUIT_COR: TFloatField;
tblProtocoloPR_PARCELAR_COR: TFloatField;
tblDespesasTitulos: TZQuery;
tblDespesasTitulosID_DESPESA: TIntegerField;
tblDespesasTitulosID_TITULO: TIntegerField;
tblDespesasTitulosTX_DESCRICAO: TWideStringField;
tblDespesasTitulosVL_DESPESA: TFloatField;
tblDespesasTitulosTP_DESPESA: TWideStringField;
tblIndicadorFinanceiro: TZQuery;
tblIndicadorFinanceiroID_INDICADOR: TIntegerField;
tblIndicadorFinanceiroID_CHG_EMPRESA: TIntegerField;
tblIndicadorFinanceiroPR_INDICADOR: TFloatField;
tblIndicadorFinanceiroVL_INDICADOR: TFloatField;
tblIndicadorFinanceiroTP_INDICADOR: TWideStringField;
tblIndicadorFinanceiroATRASO_MIN: TIntegerField;
tblIndicadorFinanceiroATRASO_MAX: TIntegerField;
tblAgendaTX_NOME: TStringField;
tblTelefones: TZQuery;
tblTelefonesID_TELEFONE: TIntegerField;
tblTelefonesID_DEVEDOR: TIntegerField;
tblTelefonesNR_NUMERO: TWideStringField;
tblTelefonesTP_ATIVO: TWideStringField;
tblTelefonesTP_TIPOTEL: TWideStringField;
tblTelefonesTX_DESC: TWideStringField;
tblTelefonesTX_OBS: TWideMemoField;
tblTelefonesID_ULTIMO_USUARIO: TIntegerField;
tblTelefonesDT_HORA_ULTIMA_ATT: TDateTimeField;
tblTelefonesTX_ULTIMO_USUARIO: TStringField;
tblEnderecos: TZQuery;
tblEnderecosID_ENDERECO: TIntegerField;
tblEnderecosID_DEVEDOR: TIntegerField;
tblEnderecosTP_ENDERECO: TWideStringField;
tblEnderecosTP_ATIVO: TWideStringField;
tblEnderecosTX_LOGRADOURO: TWideStringField;
tblEnderecosTX_BAIRRO: TWideStringField;
tblEnderecosID_CIDADE: TIntegerField;
tblEnderecosID_ESTADO: TIntegerField;
tblEnderecosTX_CEP: TWideStringField;
tblEnderecosTX_COMPLEMENTO: TWideStringField;
tblEnderecosNR_NUMERO: TFloatField;
tblEnderecosTP_REFERENCIA: TWideStringField;
tblEnderecosID_HIGIENIZADORA: TIntegerField;
tblEnderecosTP_CONFIRMADO: TWideStringField;
tblEnderecosID_ULTIMO_USUARIO: TIntegerField;
tblEnderecosDT_HORA_ULTIMA_ATT: TDateTimeField;
tblEnderecosTX_ULTIMO_USUARIO: TStringField;
tblEnderecosTX_ESTADO: TStringField;
tblEnderecosTX_CIDADE: TStringField;
tblFaixas: TZQuery;
tblFaixasID_FAIXA: TIntegerField;
tblFaixasID_POLITICA: TIntegerField;
tblFaixasTX_DESCRICAO: TWideStringField;
tblFaixasATRASO_MIN: TIntegerField;
tblFaixasATRASO_MAX: TIntegerField;
tblFaixasPR_JUROS: TFloatField;
tblFaixasPR_MULTA: TFloatField;
tblFaixasPR_DESC_QUIT_PRIN: TFloatField;
tblFaixasPR_DESC_QUIT_JUROS: TFloatField;
tblFaixasPR_DESC_QUIT_MULTA: TFloatField;
tblFaixasPR_DESC_QUIT_IND_FIN: TFloatField;
tblFaixasPR_DESC_QUIT_COR: TFloatField;
tblFaixasPR_DESC_FINAN_PRIN: TFloatField;
tblFaixasPR_DESC_FINAN_JUROS: TFloatField;
tblFaixasPR_DESC_FINAN_MULTA: TFloatField;
tblFaixasPR_DESC_FINAN_COR: TFloatField;
tblFaixasPR_DESC_FINAN_IND_FIN: TFloatField;
tblPoliticas: TZQuery;
tblPoliticasID_POLITICA: TIntegerField;
tblPoliticasID_EMPRESA: TIntegerField;
tblPoliticasTX_DESCRICAO: TWideStringField;
tblPoliticasDT_INICIO: TDateTimeField;
tblPoliticasDT_FIM: TDateTimeField;
tblCidades: TZQuery;
tblCidadesID_CIDADE: TIntegerField;
tblCidadesTX_NOME: TWideStringField;
tblCidadesID_ESTADO: TIntegerField;
tblCidadesCD_IBGE: TWideStringField;
tblDevedores: TZQuery;
tblDevedoresID_DEVEDOR: TIntegerField;
tblDevedoresTP_CLIENTE: TWideStringField;
tblDevedoresTX_PAI: TWideStringField;
tblDevedoresTX_NOME: TWideStringField;
tblDevedoresTX_MAE: TWideStringField;
tblDevedoresDT_CADASTRO: TDateTimeField;
tblDevedoresDT_NASC: TDateTimeField;
tblDevedoresCD_CPF: TWideStringField;
tblDevedoresCD_CNPJ: TWideStringField;
tblDevedoresTL_MEMO: TWideMemoField;
tblDevedoresID_COBRADOR: TIntegerField;
tblDevedoresCD_RG: TWideStringField;
tblDevedoresCD_DEVEDOR: TWideStringField;
tblDevedoresTX_EMAIL: TWideStringField;
tblDevedoresID_ULTIMO_USUARIO: TIntegerField;
tblDevedoresDT_HORA_ULTIMA_ATT: TDateTimeField;
tblDevedoresTX_ULTIMO_USUARIO: TStringField;
tblTextoEmail: TZQuery;
dtsTextoEmail: TDataSource;
tblTextoEmailID_TEXTO: TIntegerField;
tblTextoEmailTX_DESCRICAO: TWideStringField;
tblTextoEmailTL_TEXTO: TWideMemoField;
tblAgendaNOME_COBRADOR: TStringField;
tblCampanhaDevedoresTP_COBRANDO: TIntegerField;
tblTelefonesNR_DDD: TWideStringField;
tblCHGEmpresaTP_ENTRADA: TWideStringField;
tblProtocoloTP_DESC_QUIT_COR: TWideStringField;
tblProtocoloTP_PAG: TWideStringField;
tblProtocoloTP_DESC_PAR_COR: TWideStringField;
tblProtocoloID_EMPRESA: TIntegerField;
tblCHGEmpresaPR_ENTRADA_MIN: TFloatField;
tblCHGEmpresaPR_ENTRADA_MAX: TFloatField;
tblProtocoloPR_ENTRADA: TFloatField;
tblCHGEmpresaTP_CHEQUE: TWideStringField;
tblCHGEmpresaTP_CRED: TWideStringField;
tblCHGEmpresaTP_DIN: TWideStringField;
tblHistoricoTX_PROVIDENCIA: TStringField;
tblAgendaDT_QUE_AGENDOU: TDateTimeField;
tblAgendaQUEM_AGENDOU: TIntegerField;
tblAgendaNOME_QUEM_AGENDOU: TStringField;
tblEmpresaPR_BANCO_DEBITO: TFloatField;
tblEmpresaPR_BANCO_CREDVISTA: TFloatField;
tblEmpresaPR_BANCO_CRED3: TFloatField;
tblEmpresaPR_BANCO_CRED6: TFloatField;
tblEmpresaPR_BANCO_CRED12: TFloatField;
tblReciboTX_CAIXA: TStringField;
tblReciboTP_CANCELADO: TWideStringField;
tblCobCampanhaQUEM_CAD: TIntegerField;
tblCampanhaCobID_ULTIMO_USUARIO: TIntegerField;
tblCampanhaCobDT_HORA_ULTIMA_ATT: TDateTimeField;
tblCampanhaDevedoresID_ULTIMO_USUARIO: TIntegerField;
tblCampanhaDevedoresDT_HORA_ULTIMA_ATT: TDateTimeField;
tblCHGEmpresaID_ULTIMO_USUARIO: TIntegerField;
tblCHGEmpresaDT_HORA_ULTIMA_ATT: TDateTimeField;
tblPoliticasID_ULTIMO_USUARIO: TIntegerField;
tblPoliticasDT_HORA_ULTIMA_ATT: TDateTimeField;
tblFaixasID_ULTIMO_USUARIO: TIntegerField;
tblFaixasDT_HORA_ULTIMA_ATT: TDateTimeField;
tblEmail: TZQuery;
dtsEmail: TDataSource;
tblEmailID_DEVEDOR: TIntegerField;
tblEmailTX_EMAIL: TWideStringField;
tblEmailID_ULTIMO_USUARIO: TIntegerField;
tblEmailDT_HORA_ULTIMA_ATT: TDateTimeField;
tblEmailTX_ULTIMO_USUARIO: TStringField;
dtsLogCampanhas: TDataSource;
tblLogCampanhas: TZQuery;
tblLogCampanhasID_ITEM: TIntegerField;
tblLogCampanhasID_CAMPANHA: TIntegerField;
tblLogCampanhasTX_NOME_CAMPANHA: TWideStringField;
tblLogCampanhasID_DEVEDOR: TIntegerField;
tblLogCampanhasID_USUARIO: TIntegerField;
tblLogCampanhasDT_TRANSF: TDateTimeField;
tblLogCampanhasTP_ACAO: TWideStringField;
tblEmailID_EMAIL: TIntegerField;
dtsAcordos: TDataSource;
tblAcordos: TZQuery;
tblAcordosID_ITEM: TIntegerField;
tblAcordosID_ACORDO: TIntegerField;
tblAcordosID_PARCELA: TIntegerField;
tblAcordosID_ORIGINAL: TIntegerField;
tblAcordosID_DEVEDOR: TIntegerField;
tblEmpresaTP_TLS: TWideStringField;
tblEmpresaTP_SSL: TWideStringField;
tblUsuariosTP_SSL: TWideStringField;
tblUsuariosConsultaTP_SSL: TWideStringField;
tblCobCampanhaTL_DESC: TWideMemoField;
tblUsuariosTP_TLS: TWideStringField;
tblUsuariosConsultaTP_TLS: TWideStringField;
tblFiltrosTL_CREDOR: TWideMemoField;
tblFiltrosTL_PROV: TWideMemoField;
tblTitulosID_IMPLANTACAO: TIntegerField;
tblTitulosTX_IMPLANTADO: TStringField;
tblTitulosDT_IMPLANTACAO: TDateTimeField;
tblTitulosQTDE_PARCELAS: TIntegerField;
tblTitulosVL_DESC_PRINCIPAL: TFloatField;
zroQryAcordos: TZReadOnlyQuery;
dtsQAcordos: TDataSource;
zroQryAcordosID_ITEM: TIntegerField;
zroQryAcordosID_ACORDO: TIntegerField;
zroQryAcordosID_PARCELA: TIntegerField;
zroQryAcordosID_ORIGINAL: TIntegerField;
zroQryAcordosID_DEVEDOR: TIntegerField;
zroQryAcordosTX_NOME: TStringField;
zroQryAcordosVL_TITULO: TCurrencyField;
zroQryAcordosDT_VENCIMENTO: TDateField;
tblFaixasDT_MIN: TDateTimeField;
tblFaixasDT_MAX: TDateTimeField;
tblTitulosDT_EMISSAO_RECIBO: TDateTimeField;
tblFaixasTP_FAIXA: TWideStringField;
tblRepasseFase: TZQuery;
tblRepasseFaseID_FASE: TIntegerField;
tblRepasseFasePR_PRINCIPAL: TFloatField;
tblRepasseFasePR_JUROS: TFloatField;
tblRepasseFasePR_MULTA: TFloatField;
tblRepasseFasePR_ENCARGOS: TFloatField;
tblRepasseFasePR_CORRIGIDO: TFloatField;
tblRepasseFaseMIN_ATRASO: TIntegerField;
tblRepasseFaseMAX_ATRASO: TIntegerField;
tblRepasseFaseID_REPASSE: TIntegerField;
dtsRepasseFase: TDataSource;
tblRepasseFaseID_ULTIMO_USUARIO: TIntegerField;
tblRepasseFaseDT_HORA_ULTIMA_ATT: TDateTimeField;
zroqryContatos: TZReadOnlyQuery;
dtsContatos: TDataSource;
zroqryContatosID_COBRADOR: TIntegerField;
zroqryContatosNOME: TWideStringField;
zroqryContatosQTDE_ACIONAMENTOS: TIntegerField;
tblProvidenciasTP_FORCAAGENDA: TWideStringField;
tblTelefonesTP_SMS: TWideStringField;
tblCHGEmpresaID_DEPARTAMENTO: TIntegerField;
dtsDepartamentos: TDataSource;
tblDepartamentos: TZQuery;
tblDepartamentosID_DEPARTAMENTOS: TIntegerField;
tblDepartamentosTX_NOME: TWideStringField;
dtsUsuariosConsulta: TDataSource;
dtsEmpresaRepasse: TDataSource;
tblEmpresaRepasse: TZQuery;
tblEmpresaRepasseID_ITEM: TIntegerField;
tblEmpresaRepasseID_EMPRESA: TIntegerField;
tblEmpresaRepassePR_PRINCIPAL: TFloatField;
tblEmpresaRepassePR_JUROS: TFloatField;
tblEmpresaRepassePR_MULTA: TFloatField;
tblEmpresaRepassePR_ENCARGOS: TFloatField;
tblEmpresaRepassePR_CORRIGIDO: TFloatField;
tblEmpresaRepasseTX_NOME: TWideStringField;
tblEmpresaRepasseID_MES: TIntegerField;
tblEmpresaRepasseID_ANO: TIntegerField;
tblLog: TZQuery;
tblLogID_LOG: TIntegerField;
tblLogTX_TABELA: TWideStringField;
tblLogID_REGISTRO: TIntegerField;
tblLogTX_ACAO: TWideStringField;
tblLogID_USUARIO: TIntegerField;
tblLogDT_LOG: TDateTimeField;
tblLogTL_ACAO: TWideMemoField;
ZSQLProcessorAcordos: TZSQLProcessor;
seqLogs: TZSequence;
seqHistoricos: TZSequence;
seqDevedores: TZSequence;
seqRecibos: TZSequence;
seqEnderecos: TZSequence;
seqTelefones: TZSequence;
tblCHGEmpresaTP_JUROS: TWideStringField;
tblCHGEmpresaNR_JUROS: TFloatField;
tblFaixasTP_JUROS: TWideStringField;
tblFaixasNR_JUROS: TFloatField;
tblTitulosVL_DESC_MULTA: TFloatField;
tblTitulosVL_DESC_JUROS: TFloatField;
tblTitulosVL_INDICADOR: TFloatField;
tblTitulosVL_DESC_INDICADOR: TFloatField;
tblTitulosVL_REPASSE_MULTA: TFloatField;
tblTitulosVL_REPASSE_JUROS: TFloatField;
tblTitulosVL_REPASSE_CORRIGIDO: TFloatField;
tblTitulosVL_REPASSE_PRIN: TFloatField;
tblTitulosTP_PRESTACAO: TWideStringField;
tblTitulosVL_REPASSE_ENCARGOS: TFloatField;
ImageList1: TImageList;
tblBoletos: TZQuery;
dtsBoletos: TDataSource;
seqBoletos: TZSequence;
seqBoletoTitulos: TZSequence;
tblBoletoTitulos: TZQuery;
dtsBoletoTitulos: TDataSource;
tblBoletoTitulosID_ITEM: TIntegerField;
tblBoletoTitulosID_DEVEDOR: TIntegerField;
tblBoletoTitulosID_TITULO: TIntegerField;
tblBoletoTitulosID_BOLETO: TIntegerField;
tblEmpresaTX_CNPJ_BOLETO: TWideStringField;
tblCidadesConsulta: TZReadOnlyQuery;
tblCidadesConsultaID_CIDADE: TIntegerField;
tblCidadesConsultaTX_NOME: TWideStringField;
tblCidadesConsultaID_ESTADO: TIntegerField;
tblCidadesConsultaCD_IBGE: TWideStringField;
dtsContas: TDataSource;
tblContas: TZQuery;
tblContasID_CONTA: TIntegerField;
tblContasTX_DESCRICAO: TWideStringField;
tblContasCD_AGENCIA: TWideStringField;
tblContasCD_AGENCIA_DV: TWideStringField;
tblContasCD_CEDENTE: TWideStringField;
tblContasCD_CEDENTE_DV: TWideStringField;
tblContasCD_CONVENIO: TWideStringField;
tblContasCD_CONVENIO_DV: TWideStringField;
tblContasCD_CONTA: TWideStringField;
tblContasCD_CONTA_DV: TWideStringField;
tblContasID_BANCO: TIntegerField;
tblContasTP_SITUACAO: TWideStringField;
tblContasCD_MODALIDADE: TWideStringField;
tblContasDT_REMESSA: TDateField;
tblContasNR_REMESSA: TIntegerField;
seqContas: TZSequence;
tblEmpresaCD_BENEFICIARIO: TWideStringField;
seqNrRecibo: TZSequence;
dtsPrCartao: TDataSource;
tblPrCartao: TZQuery;
tblPrCartaoID_ITEM: TIntegerField;
tblPrCartaoNR_PARCELA: TIntegerField;
tblPrCartaoPR_JUROS: TFloatField;
tblPrCartaoTX_DESCRICAO: TWideStringField;
tblPrCartaoPR_REPASSE: TFloatField;
tblEmpresaCLIENT_ID: TWideStringField;
tblEmpresaCLIENT_SECRET: TWideStringField;
tblEmpresaCONTA_CORRENTE: TWideStringField;
tblDevedoresCD_DOCUMENTO: TStringField;
tblEnderecosTX_UF: TStringField;
tblEmpresaTX_CIDADE: TStringField;
tblEmpresaTX_UF: TStringField;
tblEnderecosTX_ENDERECO_COMPLETO: TWideStringField;
tblDevedoresNR_DIA_VENCIMENTO: TIntegerField;
tblDevedoresNR_DIAS_AGENDA: TIntegerField;
tblDevedoresID_ENDERECO_BOLETO: TIntegerField;
tblDevedoresID_TELEFONE_BOLETO: TIntegerField;
tblDevedoresID_EMAIL_BOLETO: TIntegerField;
tblDevedoresTX_MENSAGEM_BOLETO_1: TWideStringField;
tblDevedoresTX_MENSAGEM_BOLETO_2: TWideStringField;
tblDevedoresTX_MENSAGEM_BOLETO_3: TWideStringField;
tblDevedoresTX_MENSAGEM_BOLETO_4: TWideStringField;
tblDevedoresTX_MENSAGEM_BOLETO_5: TWideStringField;
tblDevedoresVL_NOMINAL_BOLETO: TFloatField;
tblDevedoresTP_DESC_BOLETO_1: TWideStringField;
tblDevedoresTP_DESC_BOLETO_2: TWideStringField;
tblDevedoresTP_DESC_BOLETO_3: TWideStringField;
tblDevedoresNR_DIAS_DESC_BOLETO_1: TIntegerField;
tblDevedoresNR_DIAS_DESC_BOLETO_2: TIntegerField;
tblDevedoresNR_DIAS_DESC_BOLETO_3: TIntegerField;
tblDevedoresPR_DESC_BOLETO_1: TFloatField;
tblDevedoresPR_DESC_BOLETO_2: TFloatField;
tblDevedoresPR_DESC_BOLETO_3: TFloatField;
tblDevedoresVL_DESC_BOLETO_1: TFloatField;
tblDevedoresVL_DESC_BOLETO_2: TFloatField;
tblDevedoresVL_DESC_BOLETO_3: TFloatField;
tblDevedoresTP_MULTA_BOLETO: TWideStringField;
tblDevedoresNR_DIAS_MULTA_BOLETO: TIntegerField;
tblDevedoresPR_MULTA_BOLETO: TFloatField;
tblDevedoresVL_MULTA_BOLETO: TFloatField;
tblDevedoresTP_MORA_BOLETO: TWideStringField;
tblDevedoresNR_MORA_BOLETO: TIntegerField;
tblDevedoresPR_MORA_BOLETO: TFloatField;
tblDevedoresVL_MORA_BOLETO: TFloatField;
tblTelefonesTX_TELEFONE_COMPLETO: TWideStringField;
cdsDescBoleto: TClientDataSet;
cdsDescBoletoID_STATUS: TIntegerField;
cdsDescBoletoTX_VALOR: TStringField;
cdsDescBoletoTX_DESCRICAO: TStringField;
dtsDescBoleto: TDataSource;
dtsMoraBoleto: TDataSource;
cdsMoraBoleto: TClientDataSet;
IntegerField1: TIntegerField;
StringField1: TStringField;
StringField2: TStringField;
dtsMultaBoleto: TDataSource;
cdsMultaBoleto: TClientDataSet;
IntegerField2: TIntegerField;
StringField3: TStringField;
StringField4: TStringField;
tblDevedoresTX_SUFIXO_SEU_NUMERO: TWideStringField;
tblEmpresaPATH_CERT: TWideStringField;
tblEmpresaPATH_KEY: TWideStringField;
tblBoletosID_BOLETO: TIntegerField;
tblBoletosID_DEVEDOR: TIntegerField;
tblBoletosTX_NOSSO_NUMERO: TWideStringField;
tblBoletosTX_SEU_NUMERO: TWideStringField;
tblBoletosCD_BARRAS: TWideStringField;
tblBoletosCD_LINHA_DIGITAVEL: TWideStringField;
tblBoletosVL_NOMINAL: TFloatField;
tblBoletosDT_VENCIMENTO: TDateField;
tblBoletosNR_ADIAS_AGENDA: TIntegerField;
tblBoletosTX_DOCUMENTO: TWideStringField;
tblBoletosTP_PESSOA: TWideStringField;
tblBoletosTX_NOME: TWideStringField;
tblBoletosTX_ENDERECO: TWideStringField;
tblBoletosNR_ENDERECO: TIntegerField;
tblBoletosTX_COMPLEMENTO: TWideStringField;
tblBoletosTX_BAIRRO: TWideStringField;
tblBoletosTX_CIDADE: TWideStringField;
tblBoletosTX_UF: TWideStringField;
tblBoletosCD_CEP: TWideStringField;
tblBoletosTX_EMAIL: TWideStringField;
tblBoletosNR_DDD: TWideStringField;
tblBoletosNR_TELEFONE: TWideStringField;
tblBoletosTX_MENSAGEM_1: TWideStringField;
tblBoletosTX_MENSAGEM_2: TWideStringField;
tblBoletosTX_MENSAGEM_3: TWideStringField;
tblBoletosTX_MENSAGEM_4: TWideStringField;
tblBoletosTX_MENSAGEM_5: TWideStringField;
tblBoletosTP_DESCONTO_1: TWideStringField;
tblBoletosDT_DESCONTO_1: TDateField;
tblBoletosPR_DESCONTO_1: TFloatField;
tblBoletosVL_DESCONTO_1: TFloatField;
tblBoletosTP_DESCONTO_2: TWideStringField;
tblBoletosDT_DESCONTO_2: TDateField;
tblBoletosPR_DESCONTO_2: TFloatField;
tblBoletosVL_DESCONTO_2: TFloatField;
tblBoletosTP_DESCONTO_3: TWideStringField;
tblBoletosDT_DESCONTO_3: TDateField;
tblBoletosPR_DESCONTO_3: TFloatField;
tblBoletosVL_DESCONTO_3: TFloatField;
tblBoletosTP_MULTA: TWideStringField;
tblBoletosDT_MULTA: TDateField;
tblBoletosPR_MULTA: TFloatField;
tblBoletosVL_MULTA: TFloatField;
tblBoletosTP_MORA: TWideStringField;
tblBoletosDT_MORA: TDateField;
tblBoletosPR_MORA: TFloatField;
tblBoletosVL_MORA: TFloatField;
tblBoletosTX_NOME_BENEFICIARIO: TWideStringField;
tblBoletosTX_DOCUMENTO_BENEFICIARIO: TWideStringField;
tblBoletosTP_PESSOA_BENEFICIARIO: TWideStringField;
tblBoletosCD_CEP_BENEFICIARIO: TWideStringField;
tblBoletosTX_ENDERECO_BENEFICIARIO: TWideStringField;
tblBoletosTX_BAIRRO_BENEFICIARIO: TWideStringField;
tblBoletosTX_CIDADE_BENEFICIARIO: TWideStringField;
tblBoletosTX_UF_BENEFICIARIO: TWideStringField;
tblBoletosTX_MOTIVO_CANCELAMENTO: TWideStringField;
tblBoletosTX_SITUACAO: TWideStringField;
tblBoletosDT_SITUACAO: TDateTimeField;
tblBoletosVL_TOTAL_RECEBIDO: TFloatField;
tblBoletosDT_EMISSAO: TDateTimeField;
tblDevEmpBoletos: TZQuery;
tblDevEmpBoletosID_ITEM: TIntegerField;
tblDevEmpBoletosID_DEVEDOR: TIntegerField;
tblDevEmpBoletosID_EMPRESA: TIntegerField;
tblDevEmpBoletosTX_EMPRESA: TWideStringField;
dtsDevEmpBoletos: TDataSource;
seqDevEmpBoletos: TZSequence;
procedure tblUsuariosAfterInsert(DataSet: TDataSet);
procedure tblGruposAfterInsert(DataSet: TDataSet);
procedure tblGruposPermissoesAfterInsert(DataSet: TDataSet);
procedure DataModuleCreate(Sender: TObject);
procedure tblCidadesAfterInsert(DataSet: TDataSet);
procedure tblGruposPermissoesAfterPost(DataSet: TDataSet);
procedure AtribuirChavePrimaria(DataSet: TDataSet);
procedure RegistarLog(DataSet: TDataSet; table, action: string);
procedure tblGruposBeforePost(DataSet: TDataSet);
procedure tblLogBeforePost(DataSet: TDataSet);
procedure tblCHGEmpresaBeforePost(DataSet: TDataSet);
procedure tblPoliticasBeforePost(DataSet: TDataSet);
procedure tblFaixasBeforePost(DataSet: TDataSet);
procedure dtsGruposDataChange(Sender: TObject; Field: TField);
procedure tblGruposBeforeDelete(DataSet: TDataSet);
procedure tblEnderecosBeforePost(DataSet: TDataSet);
procedure tblTelefonesBeforePost(DataSet: TDataSet);
procedure tblTitulosBeforePost(DataSet: TDataSet);
procedure tblCHGEmpresaAfterDelete(DataSet: TDataSet);
procedure tblProvidenciasBeforePost(DataSet: TDataSet);
procedure tblInadimplenciasBeforePost(DataSet: TDataSet);
procedure tblCampanhaCobBeforePost(DataSet: TDataSet);
procedure tblCampanhaDevedoresBeforePost(DataSet: TDataSet);
procedure tblCobCampanhaBeforePost(DataSet: TDataSet);
procedure tblFaixasAfterInsert(DataSet: TDataSet);
procedure tblPoliticasAfterInsert(DataSet: TDataSet);
procedure tblPoliticasAfterPost(DataSet: TDataSet);
procedure tblHistoricoBeforePost(DataSet: TDataSet);
procedure tblProvidenciasBeforeDelete(DataSet: TDataSet);
procedure tblProvidenciasBeforeEdit(DataSet: TDataSet);
procedure tblAgendaBeforePost(DataSet: TDataSet);
procedure tblLayoutsBeforePost(DataSet: TDataSet);
procedure tblProtocoloBeforePost(DataSet: TDataSet);
procedure tblLogPostError(DataSet: TDataSet; E: EDatabaseError;
var action: TDataAction);
procedure tblLogEditError(DataSet: TDataSet; E: EDatabaseError;
var action: TDataAction);
procedure tblInadimplenciasDeleteError(DataSet: TDataSet; E: EDatabaseError;
var action: TDataAction);
procedure tblInadimplenciasEditError(DataSet: TDataSet; E: EDatabaseError;
var action: TDataAction);
procedure tblInadimplenciasPostError(DataSet: TDataSet; E: EDatabaseError;
var action: TDataAction);
procedure tblCHGEmpresaBeforeDelete(DataSet: TDataSet);
procedure tblIndicesBeforePost(DataSet: TDataSet);
procedure tblIndicesAfterPost(DataSet: TDataSet);
procedure tblReciboBeforePost(DataSet: TDataSet);
procedure tblConteudoReciboBeforePost(DataSet: TDataSet);
procedure tblUsuariosBeforePost(DataSet: TDataSet);
procedure tblDuplicadosBeforePost(DataSet: TDataSet);
procedure tblRepasseBeforePost(DataSet: TDataSet);
procedure tblRepasseBeforeDelete(DataSet: TDataSet);
procedure tblRepasseBeforeEdit(DataSet: TDataSet);
procedure tblLoginsBeforePost(DataSet: TDataSet);
procedure tblSessaoBeforePost(DataSet: TDataSet);
procedure tblDespesasTitulosBeforePost(DataSet: TDataSet);
procedure tblIndicadorFinanceiroBeforePost(DataSet: TDataSet);
procedure tblEmpresaBeforePost(DataSet: TDataSet);
procedure tblFiltrosBeforePost(DataSet: TDataSet);
procedure dtsDevedoresUpdateData(Sender: TObject);
procedure dtsCHGEmpresaUpdateData(Sender: TObject);
procedure dtsPoliticasUpdateData(Sender: TObject);
procedure dtsFaixasUpdateData(Sender: TObject);
procedure dtsCHGEnderecosUpdateData(Sender: TObject);
procedure dtsTelefonesUpdateData(Sender: TObject);
procedure dtsIndicadorFinanceiroUpdateData(Sender: TObject);
procedure tblTitulosAfterPost(DataSet: TDataSet);
procedure tblDevedoresAfterOpen(DataSet: TDataSet);
procedure dtsDevedoresDataChange(Sender: TObject; Field: TField);
procedure tblTitulosBeforeOpen(DataSet: TDataSet);
procedure tblUsuariosBeforeOpen(DataSet: TDataSet);
procedure tblGruposAfterOpen(DataSet: TDataSet);
procedure tblGruposPermissoesBeforeOpen(DataSet: TDataSet);
procedure tblCampanhaCobBeforeOpen(DataSet: TDataSet);
procedure tblCobCampanhaAfterOpen(DataSet: TDataSet);
procedure dtsCobCampanhaDataChange(Sender: TObject; Field: TField);
procedure tblCampanhaDevedoresBeforeOpen(DataSet: TDataSet);
procedure tblHistoricoBeforeOpen(DataSet: TDataSet);
procedure tblProtocoloBeforeOpen(DataSet: TDataSet);
procedure tblDespesasTitulosBeforeOpen(DataSet: TDataSet);
procedure tblTitulosAfterOpen(DataSet: TDataSet);
procedure dtsTitulosDataChange(Sender: TObject; Field: TField);
procedure tblIndicadorFinanceiroBeforeOpen(DataSet: TDataSet);
procedure tblCHGEmpresaAfterOpen(DataSet: TDataSet);
procedure dtsCHGEmpresaDataChange(Sender: TObject; Field: TField);
procedure tblTelefonesBeforeOpen(DataSet: TDataSet);
procedure tblEnderecosBeforeOpen(DataSet: TDataSet);
procedure tblDevedoresBeforePost(DataSet: TDataSet);
procedure tblTextoEmailBeforePost(DataSet: TDataSet);
procedure tblHistoricoPostError(DataSet: TDataSet; E: EDatabaseError;
var action: TDataAction);
procedure tblEstadosAfterOpen(DataSet: TDataSet);
procedure tblCidadesAfterOpen(DataSet: TDataSet);
procedure tblHistoricoAfterPost(DataSet: TDataSet);
procedure tblHistoricoBeforeDelete(DataSet: TDataSet);
procedure tblPermissoesBeforePost(DataSet: TDataSet);
procedure tblGruposPermissoesBeforePost(DataSet: TDataSet);
procedure tblDevedoresBeforeDelete(DataSet: TDataSet);
procedure tblEmailBeforeOpen(DataSet: TDataSet);
procedure tblEmailBeforePost(DataSet: TDataSet);
procedure tblLogCampanhasBeforePost(DataSet: TDataSet);
procedure tblAcordosBeforePost(DataSet: TDataSet);
procedure ZConnectionAfterDisconnect(Sender: TObject);
procedure tblRepasseFaseBeforePost(DataSet: TDataSet);
procedure tblRepasseFaseAfterOpen(DataSet: TDataSet);
procedure tblRepasseAfterOpen(DataSet: TDataSet);
procedure dtsRepasseDataChange(Sender: TObject; Field: TField);
procedure tblRepasseFaseBeforeOpen(DataSet: TDataSet);
procedure tblTitulosBeforeEdit(DataSet: TDataSet);
procedure tblTitulosBeforeDelete(DataSet: TDataSet);
procedure dtsRepasseFaseDataChange(Sender: TObject; Field: TField);
procedure tblDepartamentosBeforePost(DataSet: TDataSet);
procedure tblDevedoresBeforeEdit(DataSet: TDataSet);
procedure tblEmpresaBeforeDelete(DataSet: TDataSet);
procedure tblEmpresaBeforeEdit(DataSet: TDataSet);
procedure tblUsuariosBeforeDelete(DataSet: TDataSet);
procedure tblUsuariosBeforeEdit(DataSet: TDataSet);
procedure tblGruposBeforeEdit(DataSet: TDataSet);
procedure tblPermissoesBeforeDelete(DataSet: TDataSet);
procedure tblPermissoesBeforeEdit(DataSet: TDataSet);
procedure tblGruposPermissoesBeforeDelete(DataSet: TDataSet);
procedure tblGruposPermissoesBeforeEdit(DataSet: TDataSet);
procedure tblCHGEmpresaBeforeEdit(DataSet: TDataSet);
procedure tblPoliticasBeforeDelete(DataSet: TDataSet);
procedure tblPoliticasBeforeEdit(DataSet: TDataSet);
procedure tblFaixasBeforeDelete(DataSet: TDataSet);
procedure tblFaixasBeforeEdit(DataSet: TDataSet);
procedure tblHistoricoBeforeEdit(DataSet: TDataSet);
procedure tblDepartamentosBeforeDelete(DataSet: TDataSet);
procedure tblDepartamentosBeforeEdit(DataSet: TDataSet);
procedure tblEnderecosBeforeDelete(DataSet: TDataSet);
procedure tblEnderecosBeforeEdit(DataSet: TDataSet);
procedure tblTelefonesBeforeDelete(DataSet: TDataSet);
procedure tblTelefonesBeforeEdit(DataSet: TDataSet);
procedure tblCobCampanhaBeforeDelete(DataSet: TDataSet);
procedure tblCobCampanhaBeforeEdit(DataSet: TDataSet);
procedure tblCampanhaCobBeforeDelete(DataSet: TDataSet);
procedure tblCampanhaCobBeforeEdit(DataSet: TDataSet);
procedure tblCampanhaDevedoresBeforeDelete(DataSet: TDataSet);
procedure tblCampanhaDevedoresBeforeEdit(DataSet: TDataSet);
procedure tblAgendaBeforeDelete(DataSet: TDataSet);
procedure tblAgendaBeforeEdit(DataSet: TDataSet);
procedure tblLayoutsBeforeDelete(DataSet: TDataSet);
procedure tblLayoutsBeforeEdit(DataSet: TDataSet);
procedure tblProtocoloBeforeDelete(DataSet: TDataSet);
procedure tblProtocoloBeforeEdit(DataSet: TDataSet);
procedure tblIndicesBeforeDelete(DataSet: TDataSet);
procedure tblIndicesBeforeEdit(DataSet: TDataSet);
procedure tblReciboBeforeDelete(DataSet: TDataSet);
procedure tblReciboBeforeEdit(DataSet: TDataSet);
procedure tblIndicadorFinanceiroBeforeDelete(DataSet: TDataSet);
procedure tblIndicadorFinanceiroBeforeEdit(DataSet: TDataSet);
procedure tblFiltrosBeforeDelete(DataSet: TDataSet);
procedure tblFiltrosBeforeEdit(DataSet: TDataSet);
procedure tblTextoEmailBeforeDelete(DataSet: TDataSet);
procedure tblTextoEmailBeforeEdit(DataSet: TDataSet);
procedure tblEmailBeforeDelete(DataSet: TDataSet);
procedure tblEmailBeforeEdit(DataSet: TDataSet);
procedure tblAcordosBeforeDelete(DataSet: TDataSet);
procedure tblAcordosBeforeEdit(DataSet: TDataSet);
procedure tblEmpresaRepasseBeforeDelete(DataSet: TDataSet);
procedure tblEmpresaRepasseBeforeEdit(DataSet: TDataSet);
procedure tblEmpresaRepasseBeforePost(DataSet: TDataSet);
procedure tblEmpresaRepasseAfterOpen(DataSet: TDataSet);
procedure dtsEmpresaRepasseDataChange(Sender: TObject; Field: TField);
function MonthsBetween(dIni, dFim: TDate): integer;
procedure tblEmpresaRepasseAfterPost(DataSet: TDataSet);
procedure tblGrupoBoletosBeforeDelete(DataSet: TDataSet);
procedure tblGrupoBoletoEmpresasBeforeDelete(DataSet: TDataSet);
procedure tblGrupoBoletosBeforeEdit(DataSet: TDataSet);
procedure tblGrupoBoletoEmpresasBeforeEdit(DataSet: TDataSet);
procedure tblGrupoBoletosBeforePost(DataSet: TDataSet);
procedure tblGrupoBoletoEmpresasBeforePost(DataSet: TDataSet);
procedure tblGrupoBoletoEmpresasBeforeOpen(DataSet: TDataSet);
procedure tblBoletosBeforeDelete(DataSet: TDataSet);
procedure tblBoletoTitulosBeforeDelete(DataSet: TDataSet);
procedure tblBoletosBeforeEdit(DataSet: TDataSet);
procedure tblBoletoTitulosBeforeEdit(DataSet: TDataSet);
procedure tblBoletosBeforePost(DataSet: TDataSet);
procedure tblBoletoTitulosBeforePost(DataSet: TDataSet);
procedure tblPrCartaoAfterInsert(DataSet: TDataSet);
procedure tblDevedoresCalcFields(DataSet: TDataSet);
procedure tblEnderecosCalcFields(DataSet: TDataSet);
procedure tblTelefonesCalcFields(DataSet: TDataSet);
procedure tblBoletosBeforeOpen(DataSet: TDataSet);
procedure tblDevEmpBoletosBeforeOpen(DataSet: TDataSet);
private
{ Private declarations }
public
// variáveis usadas fora desta form
tx_formulario: String;
tx_usuario: String;
tx_caminho_versao: String;
tx_grupo: String;
fields_before: array of string;
fieldsTituloBefore: array of string;
// parametros das querys
id_devedor: integer;
id_grupoq: integer;
id_campanha: integer;
tx_campanha: string;
id_tit: integer;
id_credor: integer;
id_repasse: integer;
id_repasse_fase: integer;
id_usuario: integer;
id_grupo: integer;
acesso_manager: boolean;
add_user: boolean;
mostrar_senha: boolean;
att_banco: boolean;
log: TextFile;
CusFmt: TFormatSettings;
id_empimport: integer;
cod_liberapermissao: integer;
tent_perm: integer;
tit_state: string;
dt_pag: TDateTime;
dt_recibo: TDateTime;
path_executavel, path_att, exe: string;
version: string;
// permissoes
cd_value: TStringList;
cd_parent: TStringList;
perm_caddev: boolean;
perm_cobtel: boolean;
// certificados
public_key: string;
private_key: string;
certificate_key: string;
conta_corrente: string;
function NovoCodigo(Tabela, Campo: String): integer;
function MD5(Texto: String): String;
function MD5FILE(const fileName: string): String;
function VerificarPermissao(cd_permissao: string): boolean;
procedure AlterReadOnly(objeto: TPanel; DataSet: TDataSet);
procedure InserirPermissao(cd_permissao, tp_permissao,
tx_descricao: string);
procedure EscreveLog(acao: string; table: TZQuery);
procedure LogaDC(txt: string);
function VerificarVersao(): boolean;
function ComputerName(): string;
function GetAppVersionStr(): string;
function FormatTelefone(telefone: string): string;
procedure SetupHackedNavigator(const Navigator: TDBNavigator;
const Glyphs: TImageList; S: string);
procedure OrganizaPorColuna(Tabela: TObject; coluna: TColumn);
procedure JsonBuilder(table: TZTable; model: string; pk: string);
procedure JsonBuilderOnline(table: TZTable; model: string; pk: string;
url: string);
procedure MakePermissoes;
function CheckDiffFields(DataSet: TDataSet;
fields: array of string): boolean;
procedure LogDiffFields(DataSet: TDataSet; fields: array of string;
table: string; action: string);
procedure LogDelete(DataSet: TDataSet; table: string; action: string);
procedure LogPost(DataSet: TDataSet; table: string; action: string;
sequence: TZSequence = nil);
function gerarProtocolo(id_devedor: string): string;
procedure OpenOrRefresh(table: TZQuery);
procedure OpenOrRefreshRO(table: TZReadOnlyQuery);
{ Public declarations }
end;
var
dtmSystem: TdtmSystem;
implementation
{ %CLASSGROUP 'Vcl.Controls.TControl' }
uses ucadUsuarios, ufrmAtendimento, ShellApi;
{$R *.dfm}
procedure TdtmSystem.DataModuleCreate(Sender: TObject);
var
path_banco, layoutHelper: string;
banco, lista: TStringList;
i: integer;
begin
Application.UpdateFormatSettings := false;
CusFmt := TFormatSettings.Create(LOCALE_SYSTEM_DEFAULT);
CusFmt.CurrencyFormat := 2;
CusFmt.CurrencyString := 'R$';
ZConnection.Disconnect;
// abre o arquivo ini
with TMemIniFile.Create(ExtractFilePath(Application.ExeName) + 'sistema.ini',
TEncoding.UTF8) do
begin
path_banco := ReadString('Dados', 'Dir', '');
path_executavel := ReadString('Dados', 'path',
ExtractFilePath(Application.ExeName));
path_att := ReadString('Dados', 'att', path_executavel);
exe := ReadString('Dados', 'exe', '');
try
ZConnection.Database := ReadString('Dados', 'Dir', '');
ZConnection.Connect;
except
showmessage
('Não foi possível encontrar o banco de dados. O programa será fechado.');
Application.Terminate;
end;
end;
with TMemIniFile.Create(path_executavel + '\version_control.ini',
TEncoding.UTF8) do
begin
version := ReadString('Dados', 'version', '');
end;
if not ZConnection.Connected then
begin
ZConnection.Connect;
end;
tblLog.Open;
tblGrupos.Open;
{ Estou "removendo" partes desnecessárias do código para tentar otimizar o sistema
as linhas comentadas assim sempre terão {* no início
if tblGrupos.IsEmpty then // se não tem grupos, gera grupos predefinidos
begin
tblGrupos.Append;
tblGruposID_GRUPO.AsInteger := 1;
tblGruposTX_NOME.AsString := 'Administrador';
tblGruposTP_SU.AsString := 'S';
tblGrupos.Post;
tblGrupos.Append;
tblGruposID_GRUPO.AsInteger := 2;
tblGruposTX_NOME.AsString := 'Cobrador';
tblGruposTP_SU.AsString := 'N';
tblGrupos.Post;
tblGrupos.Append;
tblGruposID_GRUPO.AsInteger := 3;
tblGruposTX_NOME.AsString := 'Atendente';
tblGruposTP_SU.AsString := 'N';
tblGrupos.Post;
end; }
tblUsuarios.Open;
{ *if tblUsuarios.IsEmpty then // se não tiver usuários, gera um predefinido
begin
tblUsuarios.Append;
tblUsuariosTX_NOME.AsString := 'Master';
tblUsuariosTX_USUARIO.AsString := 'master';
// tblUsuariosTX_SENHA.AsString := MD5('master');
tblUsuariosTX_SENHA.AsString := 'master';
tblUsuariosID_GRUPO.AsInteger := 1;
tblUsuarios.Post;
end; }
tblGruposPermissoes.Open;
tblPermDisponiveis.Open; // se descomentar o código a baixo tira esta linha
{ *cadUsuarios := TcadUsuarios.Create(self);
with cadUsuarios do // gera e atualiza as permissões
begin
AcessoCobranca;
AcessoFerramentas;
AcessoCobrancaTel;
AcessoAtendimento;
AcessoCadastros;
AcessoDevedores;
AcessoCredores;
AcessoUsuarios;
AcessoRelatorios;
AcessoOpcoes;
// InserirIDnaPerm;
AtualizarPermissoesGrupos;
tblPermDisponiveis.Open;
tblGruposPermissoes.First;
tblGrupos.Open;
while not tblGruposPermissoes.Eof do
begin
if tblGruposPermissoesID_GRUPO.AsInteger = 1 then
begin
tblGruposPermissoes.Edit;
tblGruposPermissoesTP_ACESSO.AsString := 'S';
tblGruposPermissoes.Post;
end;
tblGruposPermissoes.Next;
end;
end; }
tblProvidencias.Open;
{ if tblProvidencias.IsEmpty then
// gera as providências padrões caso não tenha nenhuma
begin
tblProvidencias.Append;
tblProvidenciasTX_NOME.AsString := 'Agend-Cob';
tblProvidenciasTX_DESCRICAO.AsString :=
'Cobrança agendada para outro cobrador.';
tblProvidencias.Post;
tblProvidencias.Append;
tblProvidenciasTX_NOME.AsString := 'Quit-Local';
tblProvidenciasTX_DESCRICAO.AsString :=
'Título quitado com a empresa de cobrança.';
tblProvidencias.Post;
tblProvidencias.Append;
tblProvidenciasTX_NOME.AsString := 'Acordo-Local';
tblProvidenciasTX_DESCRICAO.AsString :=
'Título acordado com a empresa de cobrança.';
tblProvidencias.Post;
tblProvidencias.Append;
tblProvidenciasTX_NOME.AsString := 'Rel-M';
tblProvidenciasTX_DESCRICAO.AsString := 'Religar na manhã seguinte.';
tblProvidencias.Post;
tblProvidencias.Append;
tblProvidenciasTX_NOME.AsString := 'Rel-T';
tblProvidenciasTX_DESCRICAO.AsString := 'Religar na tarde seguinte.';
tblProvidencias.Post;
tblProvidencias.Append;
tblProvidenciasTX_NOME.AsString := 'Cob-Feita';
tblProvidenciasTX_DESCRICAO.AsString :=
'Cobrança telefônica realizada com sucesso.';
tblProvidencias.Post;
end;
tblProvidencias.Close; }
tblRepasse.Open;
tblRepasseFase.Open;
tblPrCartao.Open;
{ if tblRepasse.IsEmpty then // gera o repasse "padrão" caso não tenha
begin
tblRepasse.Append;
tblRepasseID_REPASSE.AsInteger := 1;
tblRepassePR_PRINCIPAL.AsFloat := 0;
tblRepassePR_JUROS.AsFloat := 0;
tblRepassePR_MULTA.AsFloat := 0;
tblRepassePR_ENCARGOS.AsFloat := 0;
tblRepassePR_CORRIGIDO.AsFloat := 100;
tblRepasseTX_NOME.AsString := 'Sem Repasse';
tblRepasse.Post;
end;
tblRepasse.Close; }
tent_perm := 0;
perm_caddev := true;
perm_cobtel := true;
tblEstados.Open;
tblCidades.Open;
tblEmpresa.Open;
SetLength(fieldsTituloBefore, tblTitulos.FieldCount);
// tblLayouts.Open;
// tblLayouts.First;
//
// try
// lista := TStringList.Create;
// while not tblLayouts.Eof do
// begin
// lista.Clear;
// lista.Delimiter := ';';
// layoutHelper := tblLayoutsSTR_CAMPOS.AsString;
// lista.DelimitedText := tblLayoutsSTR_CAMPOS.AsString;
// while lista.Count <= 32 do
// // menor ou igual pq o vazio depois do último ';' conta como uma posição também
// begin
// layoutHelper := layoutHelper + '0;';
// lista.DelimitedText := layoutHelper;
// end;
// if layoutHelper <> tblLayoutsSTR_CAMPOS.AsString then
// begin
// tblLayouts.Edit;
// tblLayoutsSTR_CAMPOS.AsString := layoutHelper;
// tblLayouts.Post;
// end;
// tblLayouts.Next;
// end;
// finally
// lista.Free;
// end;
// tblLayouts.Close;
// cdsHist.CreateDataSet;
with cdsDescBoleto do
begin
CreateDataSet;
AppendRecord([1, 'NAOTEMDESCONTO', 'Sem Desconto']);
AppendRecord([2, 'VALORFIXODATAINFORMADA',
'Valor Fixo até Data Informada']);
AppendRecord([3, 'PERCENTUALDATAINFORMADA',
'Percentual Descontado até Data Informada']);
end;
with cdsMultaBoleto do
begin
CreateDataSet;
AppendRecord([1, 'NAOTEMMULTA', 'Sem Multa']);
AppendRecord([2, 'VALORFIXO', 'Vaor Fixo']);
AppendRecord([3, 'PERCENTUAL', 'Porcentagem']);
end;
with cdsMoraBoleto do
begin
CreateDataSet;
AppendRecord([1, 'VALORDIA', 'Valor Por Dia']);
AppendRecord([2, 'TAXAMENSAL', 'Taxa Mensal']);
AppendRecord([3, 'ISENTO', 'Isento']);
end;
end;
procedure TdtmSystem.dtsCHGEmpresaDataChange(Sender: TObject; Field: TField);
begin
if id_credor <> tblCHGEmpresaID_EMPRESA.AsInteger then
begin
id_credor := tblCHGEmpresaID_EMPRESA.AsInteger;
if tblIndicadorFinanceiro.Active then
begin
tblIndicadorFinanceiro.SQL.Clear;
tblIndicadorFinanceiro.SQL.Add
('select * from CHG_INDICADORES_FINANCEIROS where ID_CHG_EMPRESA =' +
inttostr(id_credor));
tblIndicadorFinanceiro.Open;
end;
if tblEmpresaRepasse.Active then
begin
tblEmpresaRepasse.SQL.Clear;
tblEmpresaRepasse.SQL.Add
('SELECT * FROM CHG_EMPRESA_REPASSE WHERE ID_EMPRESA =' +
inttostr(id_credor) + ' order by ID_ANO, ID_MES');
tblEmpresaRepasse.Open;
end;
end;
end;
procedure TdtmSystem.dtsCHGEmpresaUpdateData(Sender: TObject);
begin
// try
// JsonBuilder(tblCHGEmpresa, 'empresa', 'ID_EMPRESA');
// except
//
// end;
end;
procedure TdtmSystem.dtsCHGEnderecosUpdateData(Sender: TObject);
begin
// try
// JsonBuilder(tblEnderecos, 'endereco', 'ID_ENDERECO');
// except
//
// end;
end;
procedure TdtmSystem.dtsCobCampanhaDataChange(Sender: TObject; Field: TField);
begin
if id_campanha <> tblCobCampanhaID_CAMPANHA.AsInteger then
begin
id_campanha := tblCobCampanhaID_CAMPANHA.AsInteger;
tx_campanha := tblCobCampanhaTX_NOME.AsString;
if tblCampanhaCob.Active then
begin
tblCampanhaCob.SQL.Clear;
tblCampanhaCob.SQL.Add
('select * from CHG_CAMPANHAS_COBRADORES where id_campanha =' +
inttostr(id_campanha));
tblCampanhaCob.Open;
end;
if tblCampanhaDevedores.Active then
begin
tblCampanhaDevedores.SQL.Clear;
tblCampanhaDevedores.SQL.Add
('select * from CHG_CAMPANHAS_DEVEDORES where id_campanha =' +
inttostr(id_campanha));
tblCampanhaDevedores.Open;
end;
end;
end;
procedure TdtmSystem.dtsDevedoresDataChange(Sender: TObject; Field: TField);
begin
if id_devedor <> tblDevedoresID_DEVEDOR.AsInteger then
begin
id_devedor := tblDevedoresID_DEVEDOR.AsInteger;
if tblTitulos.Active then
begin
tblTitulos.SQL.Clear;
tblTitulos.SQL.Add('select * from chg_titulos where id_devedor =' +
inttostr(id_devedor));
tblTitulos.SQL.Add('order by DT_VENCIMENTO, VL_TITULO');
tblTitulos.Open;
end;
if tblHistorico.Active then
begin
tblHistorico.SQL.Clear;
tblHistorico.SQL.Add('select * from CHG_HISTORICO where id_devedor =' +
inttostr(id_devedor) + ' order by DT_CONTATO DESC');
tblHistorico.Open;
end;
if tblTelefones.Active then
begin
tblTelefones.SQL.Clear;
tblTelefones.SQL.Add('select * from CHG_TELEFONES where id_devedor =' +
inttostr(id_devedor));
tblTelefones.Open;
end;
if tblEnderecos.Active then
begin
tblEnderecos.SQL.Clear;
tblEnderecos.SQL.Add('select * from CHG_ENDERECOS where id_devedor =' +
inttostr(id_devedor));
tblEnderecos.Open;
end;
// if tblProtocolo.Active then
// begin
// tblProtocolo.SQL.Clear;
// tblProtocolo.SQL.Add
// ('select * from CHG_COBRANCA_TITULOS where id_devedor =' +
// inttostr(id_devedor));
// tblProtocolo.Open;
// end;
if tblEmail.Active then
begin
tblEmail.SQL.Clear;
tblEmail.SQL.Add('select * from CHG_EMAILS where id_devedor =' +
inttostr(id_devedor));
tblEmail.Open;
end;
if tblBoletos.Active then
begin
tblBoletos.SQL.Clear;
tblBoletos.SQL.Add('select * from CHG_BOLETOS where id_devedor =' +
inttostr(id_devedor));
tblBoletos.Open;
end;
if not tblDevEmpBoletos.Active then
begin
tblDevEmpBoletos.SQL.Clear;
tblDevEmpBoletos.SQL.Add
('select * from CHG_DEV_EMP_BOLETOS where id_devedor =' +
inttostr(id_devedor));;
tblDevEmpBoletos.Open;
end;
end;
end;
procedure TdtmSystem.dtsDevedoresUpdateData(Sender: TObject);
begin
// try
// JsonBuilder(tblDevedores, 'devedor', 'ID_DEVEDOR');
// except
//
// end;
end;
procedure TdtmSystem.dtsEmpresaRepasseDataChange(Sender: TObject;
Field: TField);
begin
if id_repasse <> tblEmpresaRepasseID_ITEM.AsInteger then
begin
id_repasse := tblEmpresaRepasseID_ITEM.AsInteger;
end;
if tblRepasseFase.Active then
begin
tblRepasseFase.SQL.Clear;
tblRepasseFase.SQL.Add
('select * from sys_repasses_fases where id_repasse = ' +
inttostr(id_repasse));
tblRepasseFase.Open;
end;
end;
procedure TdtmSystem.dtsFaixasUpdateData(Sender: TObject);
begin
// JsonBuilder(tblFaixas, 'faixa', 'ID_FAIXA');
end;
procedure TdtmSystem.dtsGruposDataChange(Sender: TObject; Field: TField);
begin
if dtmSystem.tblUsuarios.Active then
begin
dtmSystem.tblUsuarios.First;
end;
if id_grupoq <> tblGruposID_GRUPO.AsInteger then
begin
id_grupoq := tblGruposID_GRUPO.AsInteger;
if tblUsuarios.Active then
begin
tblUsuarios.SQL.Clear;
tblUsuarios.SQL.Add('select * from SYS_USUARIOS where id_grupo =' +
inttostr(id_grupo));
tblUsuarios.Open;
end;
if tblGruposPermissoes.Active then
begin
tblGruposPermissoes.SQL.Clear;
tblGruposPermissoes.SQL.Add
('select * from SYS_GRUPOS_PERMISSOES where id_grupo =' +
inttostr(id_grupo));
tblGruposPermissoes.Open;
end;
end;
end;
procedure TdtmSystem.dtsIndicadorFinanceiroUpdateData(Sender: TObject);
begin
// try
// JsonBuilder(tblIndicadorFinanceiro, 'indicadorfinanceiro', 'ID_INDICADOR');
// except
//
// end;
end;
procedure TdtmSystem.dtsPoliticasUpdateData(Sender: TObject);
begin
// try
// JsonBuilder(tblPoliticas, 'politica', 'ID_POLITICA');
// except
//
// end;
end;
procedure TdtmSystem.dtsRepasseDataChange(Sender: TObject; Field: TField);
begin
// if id_repasse <> tblRepasseID_REPASSE.AsInteger then
// begin
// id_repasse := tblRepasseID_REPASSE.AsInteger;
// if tblRepasseFase.Active then
// begin
// tblRepasseFase.SQL.Clear;
// tblRepasseFase.SQL.Text :=
// 'select * from sys_repasses_fases where id_repasse = ' +
// inttostr(id_repasse);
// tblRepasseFase.Open;
// end;
// end;
end;
procedure TdtmSystem.dtsRepasseFaseDataChange(Sender: TObject; Field: TField);
begin
if id_repasse_fase <> tblRepasseFaseID_FASE.AsInteger then
begin
id_repasse_fase := tblRepasseFaseID_FASE.AsInteger;
end;
end;
procedure TdtmSystem.dtsTelefonesUpdateData(Sender: TObject);
begin
// try
// JsonBuilder(tblTelefones, 'telefone', 'ID_TELEFONE');
// except
//
// end;
end;
procedure TdtmSystem.dtsTitulosDataChange(Sender: TObject; Field: TField);
begin
if id_tit <> tblTitulosID_TITULO.AsInteger then
begin
id_tit := tblTitulosID_TITULO.AsInteger;
if tblDespesasTitulos.Active then
begin
tblDespesasTitulos.SQL.Clear;
tblDespesasTitulos.SQL.Add
('select * from CHG_DESPESAS_TITULOS where id_titulo =' +
inttostr(id_tit));
tblDespesasTitulos.Open;
end;
if (dtsTitulos.State in [dsBrowse]) and (tblTitulosID_TITULO.AsString <> '')
then
begin
zroQryAcordos.SQL.Clear;
zroQryAcordos.SQL.Add('select * from sys_acordos where id_original = ' +
tblTitulosID_TITULO.AsString);
zroQryAcordosTX_NOME.KeyFields := 'ID_PARCELA';
zroQryAcordosVL_TITULO.KeyFields := 'ID_PARCELA';
zroQryAcordosDT_VENCIMENTO.KeyFields := 'ID_PARCELA';
zroQryAcordos.Open;
if zroQryAcordos.RecordCount = 0 then
begin
zroQryAcordos.SQL.Clear;
zroQryAcordos.SQL.Add('select * from sys_acordos where id_parcela = ' +
tblTitulosID_TITULO.AsString);
zroQryAcordosTX_NOME.KeyFields := 'ID_ORIGINAL';
zroQryAcordosVL_TITULO.KeyFields := 'ID_ORIGINAL';
zroQryAcordosDT_VENCIMENTO.KeyFields := 'ID_ORIGINAL';
zroQryAcordos.Open;
end;
end
else
begin
zroQryAcordos.Close;
end;
end;
end;
procedure TdtmSystem.EscreveLog(acao: string; table: TZQuery);
var
path: string;
begin
path := ExtractFilePath(Application.ExeName);
path := path + 'log';
if not DirectoryExists(path) then
begin
CreateDir(path);
end;
AssignFile(log, path + '\errorLog.txt');
if FileExists(path + '\errorLog.txt') then
begin
Append(log);
Writeln(log, DateTimeToStr(Now));
Writeln(log, '');
Writeln(log, '');
Writeln(log, 'Erro na tabela: ' + table.Name + '. Ação que gerou o erro: ' +
acao + '.');
Writeln(log, '');
Writeln(log, '');
end
else
begin
Rewrite(log);
Writeln(log, DateTimeToStr(Now));
Writeln(log, '');
Writeln(log, '');
Writeln(log, 'Erro na tabela: ' + table.Name + '. Ação que gerou o erro: ' +
acao + '.');
Writeln(log, '');
Writeln(log, '');
end;
CloseFile(log);
end;
function TdtmSystem.FormatTelefone(telefone: string): string;
var
digito: integer;
erro: boolean;
begin
telefone := StringReplace(telefone, '(', '', [rfReplaceAll, rfIgnoreCase]);
telefone := StringReplace(telefone, ')', '', [rfReplaceAll, rfIgnoreCase]);
telefone := StringReplace(telefone, '-', '', [rfReplaceAll, rfIgnoreCase]);
telefone := StringReplace(telefone, ' ', '', [rfReplaceAll, rfIgnoreCase]);
erro := false;
if Length(telefone) = 8 then
begin
digito := strtoint(copy(telefone, 1, 1));
case digito of
2, 3, 4, 5:
begin
telefone := copy(telefone, 1, 4) + '-' + copy(telefone, 5, 4);
end;
6, 7, 8, 9:
begin
telefone := '9' + copy(telefone, 1, 4) + '-' + copy(telefone, 5, 4);
end;
1:
begin
telefone := telefone;
erro := true;
end;
end;
end
else
begin
if strtoint(copy(telefone, 1, 1)) = 9 then
begin
telefone := copy(telefone, 1, 5) + '-' + copy(telefone, 6, 4);
end
else
begin
telefone := telefone;
erro := true;
end;
end;
if not erro then
begin
Result := telefone;
end
else
begin
Result := telefone;
raise Exception.Create('Número de telefone inválido.');
end;
end;
function TdtmSystem.gerarProtocolo(id_devedor: string): string;
var
tamanho, i: integer;
cd_devedor, dia, tempo: string;
begin
tempo := FormatDateTime('hhmm', Time);
dia := FormatDateTime('yyyymmdd', Date);
cd_devedor := id_devedor;
tamanho := Length(id_devedor);
for i := 0 to 7 - tamanho do
begin
cd_devedor := '0' + cd_devedor;
end;
Result := tempo + dia + cd_devedor;
end;
function TdtmSystem.GetAppVersionStr: string; // pega a versão do aplicativo
var
exe: string;
Size, Handle: DWORD;
Buffer: TBytes;
FixedPtr: PVSFixedFileInfo;
begin
exe := ParamStr(0);
Size := GetFileVersionInfoSize(PChar(exe), Handle);
if Size = 0 then
RaiseLastOSError;
SetLength(Buffer, Size);
if not GetFileVersionInfo(PChar(exe), Handle, Size, Buffer) then
RaiseLastOSError;
if not VerQueryValue(Buffer, '\', Pointer(FixedPtr), Size) then
RaiseLastOSError;
Result := Format('%d.%d.%d.%d', [LongRec(FixedPtr.dwFileVersionMS).Hi,
// major
LongRec(FixedPtr.dwFileVersionMS).Lo, // minor
LongRec(FixedPtr.dwFileVersionLS).Hi, // release
LongRec(FixedPtr.dwFileVersionLS).Lo]) // build
end;
function TdtmSystem.NovoCodigo(Tabela, Campo: String): integer;
begin
// função criada para simular o auto increment que não existe no firebird
with qryConsulta do
begin
SQL.Text := Format('SELECT MAX(%s) FROM %s', [Campo, Tabela]);
Open;
Result := FieldByName('MAX').AsInteger + 1;
Close;
end;
end;
procedure TdtmSystem.OpenOrRefresh(table: TZQuery);
begin
if not table.Active then
begin
table.Open;
end
else
begin
table.Refresh;
end;
end;
procedure TdtmSystem.OpenOrRefreshRO(table: TZReadOnlyQuery);
begin
if not table.Active then
begin
table.Open;
end
else
begin
table.Refresh;
end;
end;
procedure TdtmSystem.OrganizaPorColuna(Tabela: TObject; coluna: TColumn);
begin
if Tabela is TZTable then
begin
with (Tabela as TZTable) do
begin
if coluna.Title.Caption <> '' then
begin
if Pos(coluna.Field.FieldName, SortedFields) = 1 then
begin
if SortType = stAscending then
begin
SortType := stDescending;
end
else
begin
SortType := stAscending;
end;
end
else
begin
SortedFields := coluna.Field.FieldName;
if SortType = stAscending then
begin
SortType := stDescending;
end
else
begin
SortType := stAscending;
end;
end;
end;
First;
end;
end;
if Tabela is TZQuery then
begin
with (Tabela as TZQuery) do
begin
if coluna.Title.Caption <> '' then
begin
if Pos(coluna.Field.FieldName, SortedFields) = 1 then
begin
if SortType = stAscending then
begin
SortType := stDescending;
end
else
begin
SortType := stAscending;
end;
end
else
begin
SortedFields := coluna.Field.FieldName;
if SortType = stAscending then
begin
SortType := stDescending;
end
else
begin
SortType := stAscending;
end;
end;
end;
First;
end;
end;
if Tabela is TZReadOnlyQuery then
begin
with (Tabela as TZReadOnlyQuery) do
begin
if coluna.Title.Caption <> '' then
begin
if Pos(coluna.Field.FieldName, SortedFields) = 1 then
begin
if SortType = stAscending then
begin
SortType := stDescending;
end
else
begin
SortType := stAscending;
end;
end
else
begin
SortedFields := coluna.Field.FieldName;
if SortType = stAscending then
begin
SortType := stDescending;
end
else
begin
SortType := stAscending;
end;
end;
end;
First;
end;
end;
end;
procedure TdtmSystem.MakePermissoes;
begin
if cd_value <> nil then
begin
cd_value.Free;
end;
cd_value := TStringList.Create;
if not tblGruposPermissoes.Active then
begin
tblGruposPermissoes.Open;
end
else
begin
tblGruposPermissoes.Refresh;
end;
if not tblPermissoes.Active then
begin
tblPermissoes.Open;
end
else
begin
tblPermissoes.Refresh;
end;
tblGruposPermissoes.Filtered := false;
tblGruposPermissoes.Filter := 'ID_GRUPO = ' + inttostr(id_grupo);
tblGruposPermissoes.Filtered := true;
tblGruposPermissoes.First;
while not tblGruposPermissoes.Eof do
begin
tblPermissoes.Locate('ID_PERMISSAO',
tblGruposPermissoesID_PERMISSAO.AsInteger, []);
cd_value.Values[tblPermissoesCD_PERMISSAO.AsString] :=
tblGruposPermissoesTP_ACESSO.AsString;
tblGruposPermissoes.Next;
end;
tblGruposPermissoes.Filtered := false;
if cd_parent <> nil then
begin
cd_parent.Free;
end;
cd_parent := TStringList.Create;
tblPermissoes.First;
while not tblPermissoes.Eof do
begin
cd_parent.Values[tblPermissoesCD_PERMISSAO.AsString] :=
tblPermissoesID_PARENT.AsString;
tblPermissoes.Next;
end;
end;
function TdtmSystem.MD5(Texto: String): String;
begin
with TIdHashMessageDigest5.Create do
try
Result := HashStringAsHex(Texto);
finally
Free;
end;
end;
function TdtmSystem.MD5FILE(const fileName: string): String;
var
// idmd5: TIdHashMessageDigest5;
fs: TFileStream;
begin
fs := TFileStream.Create(fileName, fmOpenRead OR fmShareDenyWrite);
with TIdHashMessageDigest5.Create do
try
Result := HashStreamAsHex(fs);
finally
fs.Free;
Free;
end;
end;
function TdtmSystem.MonthsBetween(dIni, dFim: TDate): integer;
var
D1, M1, Y1: Word;
D2, M2, Y2, DiasNoMes: Word;
Temp: TDate;
begin
if dIni > dFim then
begin
Temp := dIni;
dIni := dFim;
dFim := Temp;
end;
DecodeDate(dIni, Y1, M1, D1);
DecodeDate(dFim, Y2, M2, D2);
DiasNoMes := MonthDays[IsLeapYear(Y1)][M1]; // qtde de dias no mês
if (Y1 = Y2) and (M1 = M2) then // se entrou e saiu no mesmo mês
begin
if (D2 - D1 + 1) >= DiasNoMes / 2 then
// se trabalhou ao menos metade do mês
Result := 1
else
Result := 0;
end
else
begin
if (DiasNoMes - D1 + 1) >= DiasNoMes / 2 then
// se entrou metade do mês pra traz
Result := 0
else
Result := -1;
DiasNoMes := MonthDays[IsLeapYear(Y2)][M2];
if D2 >= DiasNoMes / 2 then // se saiu metade do mes pra frente
Inc(Result);
Result := Result + 12 * (Y2 - Y1) + M2 - M1;
end;
end;
procedure TdtmSystem.tblAcordosBeforeDelete(DataSet: TDataSet);
begin
LogDelete(DataSet, 'SYS_ACORDOS', 'delete');
end;
procedure TdtmSystem.tblAcordosBeforeEdit(DataSet: TDataSet);
var
i: integer;
begin
SetLength(fields_before, DataSet.FieldCount);
for i := 0 to DataSet.FieldCount - 1 do
begin
fields_before[i] := DataSet.fields[i].AsString;
end;
end;
procedure TdtmSystem.tblAcordosBeforePost(DataSet: TDataSet);
begin
if DataSet.State = dsInsert then
begin
tblAcordosID_ITEM.AsInteger := NovoCodigo('SYS_ACORDOS', 'ID_ITEM');
end;
if DataSet.State <> dsInsert then
begin
if CheckDiffFields(DataSet, fields_before) then
begin
LogDiffFields(DataSet, fields_before, 'SYS_ACORDOS', 'edit');
end
else
begin
RegistarLog(DataSet, 'SYS_ACORDOS', 'post');
end;
end
else
begin
LogPost(DataSet, 'SYS_ACORDOS', 'insert');
end;
end;
procedure TdtmSystem.tblAgendaBeforeDelete(DataSet: TDataSet);
begin
LogDelete(DataSet, 'CHG_AGENDA', 'delete');
end;
procedure TdtmSystem.tblAgendaBeforeEdit(DataSet: TDataSet);
var
i: integer;
begin
SetLength(fields_before, DataSet.FieldCount);
for i := 0 to DataSet.FieldCount - 1 do
begin
fields_before[i] := DataSet.fields[i].AsString;
end;
end;
procedure TdtmSystem.tblAgendaBeforePost(DataSet: TDataSet);
begin
if DataSet.State = dsInsert then
begin
tblAgendaID_AGENDA.AsInteger := NovoCodigo('CHG_AGENDA', 'ID_AGENDA');
tblAgendaTP_SITUACAO.AsString := 'A'; // A = agendado;
end;
if DataSet.State <> dsInsert then
begin
if CheckDiffFields(DataSet, fields_before) then
begin
LogDiffFields(DataSet, fields_before, 'CHG_AGENDA', 'edit');
end
else
begin
RegistarLog(DataSet, 'CHG_AGENDA', 'post');
end;
end
else
begin
LogPost(DataSet, 'CHG_AGENDA', 'insert');
end;
end;
procedure TdtmSystem.tblBoletosBeforeDelete(DataSet: TDataSet);
begin
LogDelete(DataSet, 'CHG_BOLETOS', 'delete');
end;
procedure TdtmSystem.tblBoletosBeforeEdit(DataSet: TDataSet);
var
i: integer;
begin
SetLength(fields_before, DataSet.FieldCount);
for i := 0 to DataSet.FieldCount - 1 do
begin
fields_before[i] := DataSet.fields[i].AsString;
end;
end;
procedure TdtmSystem.tblBoletosBeforeOpen(DataSet: TDataSet);
begin
if not tblDevedores.Active then
begin
tblBoletos.SQL.Clear;
tblBoletos.SQL.Add('select * from CHG_BOLETOS');
end
else
begin
tblBoletos.SQL.Clear;
tblBoletos.SQL.Add('select * from CHG_BOLETOS where id_devedor =' +
inttostr(id_devedor));
end;
end;
procedure TdtmSystem.tblBoletosBeforePost(DataSet: TDataSet);
begin
if DataSet.State <> dsInsert then
begin
if CheckDiffFields(DataSet, fields_before) then
begin
LogDiffFields(DataSet, fields_before, 'CHG_BOLETOS', 'edit');
end
else
begin
RegistarLog(DataSet, 'CHG_BOLETOS', 'post');
end;
end
else
begin
LogPost(DataSet, 'CHG_BOLETOS', 'insert', seqBoletos);
end;
end;
procedure TdtmSystem.tblBoletoTitulosBeforeDelete(DataSet: TDataSet);
begin
LogDelete(DataSet, 'CHG_BOLETO_TITULOS', 'delete');
end;
procedure TdtmSystem.tblBoletoTitulosBeforeEdit(DataSet: TDataSet);
var
i: integer;
begin
SetLength(fields_before, DataSet.FieldCount);
for i := 0 to DataSet.FieldCount - 1 do
begin
fields_before[i] := DataSet.fields[i].AsString;
end;
end;
procedure TdtmSystem.tblBoletoTitulosBeforePost(DataSet: TDataSet);
begin
if DataSet.State <> dsInsert then
begin
if CheckDiffFields(DataSet, fields_before) then
begin
LogDiffFields(DataSet, fields_before, 'CHG_BOLETO_TITULOS', 'edit');
end
else
begin
RegistarLog(DataSet, 'CHG_BOLETO_TITULOS', 'post');
end;
end
else
begin
LogPost(DataSet, 'CHG_BOLETO_TITULOS', 'insert', seqBoletoTitulos);
end;
end;
procedure TdtmSystem.tblCampanhaCobBeforeDelete(DataSet: TDataSet);
begin
LogDelete(DataSet, 'CHG_CAMPANHAS_COBRADORES', 'delete');
end;
procedure TdtmSystem.tblCampanhaCobBeforeEdit(DataSet: TDataSet);
var
i: integer;
begin
SetLength(fields_before, DataSet.FieldCount);
for i := 0 to DataSet.FieldCount - 1 do
begin
fields_before[i] := DataSet.fields[i].AsString;
end;
end;
procedure TdtmSystem.tblCampanhaCobBeforeOpen(DataSet: TDataSet);
begin
if not tblCobCampanha.Active then
begin
tblCampanhaCob.SQL.Clear;
tblCampanhaCob.SQL.Add('select * from CHG_CAMPANHAS_COBRADORES;');
end
else
begin
tblCampanhaCob.SQL.Clear;
tblCampanhaCob.SQL.Add
('select * from CHG_CAMPANHAS_COBRADORES where id_campanha =' +
inttostr(id_campanha));
end;
end;
procedure TdtmSystem.tblCampanhaCobBeforePost(DataSet: TDataSet);
begin
if DataSet.State = dsInsert then
begin
tblCampanhaCobID_ITEM.AsInteger := NovoCodigo('CHG_CAMPANHAS_COBRADORES',
'ID_ITEM');
end;
if DataSet.State <> dsInsert then
begin
if CheckDiffFields(DataSet, fields_before) then
begin
LogDiffFields(DataSet, fields_before, 'CHG_CAMPANHAS_COBRADORES', 'edit');
end
else
begin
RegistarLog(DataSet, 'CHG_CAMPANHAS_COBRADORES', 'post');
end;
end
else
begin
LogPost(DataSet, 'CHG_CAMPANHAS_COBRADORES', 'insert');
end;
end;
procedure TdtmSystem.tblCampanhaDevedoresBeforeDelete(DataSet: TDataSet);
begin
// LogDelete(DataSet, 'CHG_CAMPANHAS_DEVEDORES', 'delete');
end;
procedure TdtmSystem.tblCampanhaDevedoresBeforeEdit(DataSet: TDataSet);
begin
// SetLength(fields_before, DataSet.FieldCount);
// for i := 0 to DataSet.FieldCount - 1 do
// begin
// fields_before[i] := DataSet.fields[i].AsString;
// end;
end;
procedure TdtmSystem.tblCampanhaDevedoresBeforeOpen(DataSet: TDataSet);
begin
if not tblCobCampanha.Active then
begin
tblCampanhaDevedores.SQL.Clear;
tblCampanhaDevedores.SQL.Add('select * from CHG_CAMPANHAS_DEVEDORES;');
end
else
begin
tblCampanhaDevedores.SQL.Clear;
tblCampanhaDevedores.SQL.Add
('select * from CHG_CAMPANHAS_DEVEDORES where id_campanha =' +
inttostr(id_campanha));
end;
end;
procedure TdtmSystem.tblCampanhaDevedoresBeforePost(DataSet: TDataSet);
begin
if DataSet.State = dsInsert then
begin
tblCampanhaDevedoresID_ITEM.AsInteger :=
NovoCodigo('CHG_CAMPANHAS_DEVEDORES', 'ID_ITEM');
end;
tblCampanhaDevedoresID_ULTIMO_USUARIO.AsInteger := id_usuario;
tblCampanhaDevedoresDT_HORA_ULTIMA_ATT.AsDateTime := Now;
// if DataSet.State <> dsInsert then
// begin
// if CheckDiffFields(DataSet, fields_before) then
// begin
// LogDiffFields(DataSet, fields_before, 'CHG_CAMPANHAS_DEVEDORES', 'edit');
// end
// else
// begin
// RegistarLog(DataSet, 'CHG_CAMPANHAS_DEVEDORES', 'post');
// end;
// end
// else
// begin
// LogPost(DataSet, 'CHG_CAMPANHAS_DEVEDORES', 'insert');
// end;
end;
procedure TdtmSystem.tblCHGEmpresaAfterDelete(DataSet: TDataSet);
begin
tblPoliticas.Refresh;
tblFaixas.Refresh;
end;
procedure TdtmSystem.tblCHGEmpresaAfterOpen(DataSet: TDataSet);
begin
id_credor := tblCHGEmpresaID_EMPRESA.AsInteger;
end;
procedure TdtmSystem.tblCHGEmpresaBeforeDelete(DataSet: TDataSet);
begin
if (tblCHGEmpresaID_EMPRESA.AsInteger = 1) or
(tblCHGEmpresaID_EMPRESA.AsInteger = 265) then
begin
MessageDlg('Esta empresa é utilizada pelo sistema e não pode ser apagada.',
mtWarning, [mbOK], 0);
Abort;
end;
LogDelete(DataSet, 'CHG_EMPRESAS', 'delete');
end;
procedure TdtmSystem.tblCHGEmpresaBeforeEdit(DataSet: TDataSet);
var
i: integer;
begin
SetLength(fields_before, DataSet.FieldCount);
for i := 0 to DataSet.FieldCount - 1 do
begin
fields_before[i] := DataSet.fields[i].AsString;
end;
end;
procedure TdtmSystem.tblCHGEmpresaBeforePost(DataSet: TDataSet);
begin
if DataSet.State = dsInsert then
begin
tblCHGEmpresaID_EMPRESA.AsInteger := NovoCodigo('CHG_EMPRESAS',
'ID_EMPRESA');
qryConsulta.SQL.Clear;
qryConsulta.SQL.Text :=
'select tx_nome from chg_empresas where lower(tx_nome) = ' +
QuotedStr(LowerCase(tblCHGEmpresaTX_NOME.AsString));
qryConsulta.Open;
if qryConsulta.RecordCount <> 0 then
begin
MessageDlg('Já existe uma empresa com esta Razão Social.', mtWarning,
[mbOK], 0);
tblCHGEmpresaTX_NOME.AsString := '';
Abort;
end;
end;
tblCHGEmpresaID_ULTIMO_USUARIO.AsInteger := id_usuario;
tblCHGEmpresaDT_HORA_ULTIMA_ATT.AsDateTime := Now;
if DataSet.State <> dsInsert then
begin
if CheckDiffFields(DataSet, fields_before) then
begin
LogDiffFields(DataSet, fields_before, 'CHG_EMPRESAS', 'edit');
end
else
begin
RegistarLog(DataSet, 'CHG_EMPRESAS', 'post');
end;
end
else
begin
LogPost(DataSet, 'CHG_EMPRESAS', 'insert');
end;
end;
procedure TdtmSystem.tblCidadesAfterInsert(DataSet: TDataSet);
begin
tblCidadesID_ESTADO.AsInteger := tblEstadosID_ESTADO.AsInteger;
end;
procedure TdtmSystem.tblCidadesAfterOpen(DataSet: TDataSet);
begin
// tblCidades.DisableControls;
end;
procedure TdtmSystem.tblCobCampanhaAfterOpen(DataSet: TDataSet);
begin
id_campanha := tblCobCampanhaID_CAMPANHA.AsInteger;
tx_campanha := tblCobCampanhaTX_NOME.AsString;
end;
procedure TdtmSystem.tblCobCampanhaBeforeDelete(DataSet: TDataSet);
begin
LogDelete(DataSet, 'CHG_CAMPANHAS', 'delete');
end;
procedure TdtmSystem.tblCobCampanhaBeforeEdit(DataSet: TDataSet);
var
i: integer;
begin
SetLength(fields_before, DataSet.FieldCount);
for i := 0 to DataSet.FieldCount - 1 do
begin
fields_before[i] := DataSet.fields[i].AsString;
end;
end;
procedure TdtmSystem.tblCobCampanhaBeforePost(DataSet: TDataSet);
begin
if DataSet.State = dsInsert then
begin
tblCobCampanhaID_CAMPANHA.AsInteger := NovoCodigo('CHG_CAMPANHAS',
'ID_CAMPANHA');
end;
if DataSet.State <> dsInsert then
begin
if CheckDiffFields(DataSet, fields_before) then
begin
LogDiffFields(DataSet, fields_before, 'CHG_CAMPANHAS', 'edit');
end
else
begin
RegistarLog(DataSet, 'CHG_CAMPANHAS', 'post');
end;
end
else
begin
LogPost(DataSet, 'CHG_CAMPANHAS', 'insert');
end;
end;
procedure TdtmSystem.tblConteudoReciboBeforePost(DataSet: TDataSet);
begin
if DataSet.State = dsInsert then
begin
tblConteudoReciboID_CONTEUDO.AsInteger := NovoCodigo('SYS_CONTEUDO_RECIBO',
'ID_CONTEUDO');
end;
end;
procedure TdtmSystem.tblDepartamentosBeforeDelete(DataSet: TDataSet);
begin
LogDelete(DataSet, 'CHG_DEPARTAMENTOS', 'delete');
end;
procedure TdtmSystem.tblDepartamentosBeforeEdit(DataSet: TDataSet);
var
i: integer;
begin
SetLength(fields_before, DataSet.FieldCount);
for i := 0 to DataSet.FieldCount - 1 do
begin
fields_before[i] := DataSet.fields[i].AsString;
end;
end;
procedure TdtmSystem.tblDepartamentosBeforePost(DataSet: TDataSet);
begin
if DataSet.State = dsInsert then
begin
tblDepartamentosID_DEPARTAMENTOS.AsInteger :=
NovoCodigo('CHG_DEPARTAMENTOS', 'ID_DEPARTAMENTOS');
end;
if DataSet.State <> dsInsert then
begin
if CheckDiffFields(DataSet, fields_before) then
begin
LogDiffFields(DataSet, fields_before, 'CHG_DEPARTAMENTOS', 'edit');
end
else
begin
RegistarLog(DataSet, 'CHG_DEPARTAMENTOS', 'post');
end;
end
else
begin
LogPost(DataSet, 'CHG_DEPARTAMENTOS', 'insert');
end;
end;
procedure TdtmSystem.tblDespesasTitulosBeforeOpen(DataSet: TDataSet);
begin
if not tblDevedores.Active then
begin
tblDespesasTitulos.SQL.Clear;
tblDespesasTitulos.SQL.Add('select * from CHG_DESPESAS_TITULOS;');
end
else
begin
tblDespesasTitulos.SQL.Clear;
tblDespesasTitulos.SQL.Add
('select * from CHG_DESPESAS_TITULOS where id_titulo =' +
inttostr(id_tit));
end;
end;
procedure TdtmSystem.tblDespesasTitulosBeforePost(DataSet: TDataSet);
begin
if tblDespesasTitulosTX_DESCRICAO.AsString = '' then
begin
MessageDlg('Por favor insira uma descrição para a despesa.', mtWarning,
[mbOK], 0);
Abort;
end;
if tblDespesasTitulosVL_DESPESA.AsString = '' then
begin
MessageDlg('Por favor insira um valor para a despesa.', mtWarning,
[mbOK], 0);
Abort;
end;
if tblDespesasTitulosTP_DESPESA.AsString = '' then
begin
MessageDlg('Por favor escolha o tipo da despesa.', mtWarning, [mbOK], 0);
Abort;
end;
if DataSet.State = dsInsert then
begin
tblDespesasTitulosID_DESPESA.AsInteger := NovoCodigo('CHG_DESPESAS_TITULOS',
'ID_DESPESA');
tblDespesasTitulosID_TITULO.AsInteger := tblTitulosID_TITULO.AsInteger;
end;
end;
procedure TdtmSystem.tblDevedoresAfterOpen(DataSet: TDataSet);
begin
id_devedor := tblDevedoresID_DEVEDOR.AsInteger;
// tblTitulos.ParamByName('pIdDevedor').AsInteger := id_devedor;
end;
procedure TdtmSystem.tblDevedoresBeforeDelete(DataSet: TDataSet);
begin
// RegistarLog(DataSet, 'CHG_DEVEDORES', 'delete');
LogDelete(DataSet, 'CHG_DEVEDORES', 'delete');
ZSQLProcessor1.Script.Text := 'delete from chg_agenda where id_devedor = ' +
tblDevedoresID_DEVEDOR.AsString;
end;
procedure TdtmSystem.tblDevedoresBeforeEdit(DataSet: TDataSet);
var
i: integer;
begin
SetLength(fields_before, DataSet.FieldCount);
for i := 0 to DataSet.FieldCount - 1 do
begin
fields_before[i] := DataSet.fields[i].AsString;
end;
end;
procedure TdtmSystem.tblDevedoresBeforePost(DataSet: TDataSet);
begin
if DataSet.State = dsInsert then
begin
// tblDevedoresID_DEVEDOR.AsInteger := NovoCodigo('CHG_DEVEDORES',
// 'ID_DEVEDOR');
tblDevedoresID_ULTIMO_USUARIO.AsInteger := id_usuario;
tblDevedoresDT_HORA_ULTIMA_ATT.AsDateTime := Now;
end;
if DataSet.State = dsEdit then
begin
tblDevedoresID_ULTIMO_USUARIO.AsInteger := id_usuario;
tblDevedoresDT_HORA_ULTIMA_ATT.AsDateTime := Now;
end;
if tblDevedoresTP_CLIENTE.AsString = '' then
begin
MessageDlg('Por favor escolha o tipo de devedor.', mtWarning, [mbOK], 0);
Abort;
end;
if tblDevedoresCD_CPF.AsString <> '' then
begin
if Length(tblDevedoresCD_CPF.AsString) < 14 then
begin
MessageDlg('Por favor insira o CPF com pontos e traços.', mtWarning,
[mbOK], 0);
Abort;
end;
qryConsulta.SQL.Clear;
qryConsulta.SQL.Text := 'select CD_CPF from chg_devedores where CD_CPF = ' +
QuotedStr(LowerCase(tblDevedoresCD_CPF.AsString));
qryConsulta.Open;
if (qryConsulta.RecordCount <> 0) and not(dtsDevedores.State in [dsEdit])
then
begin
MessageDlg('Já existe um Devedor com este CPF.', mtWarning, [mbOK], 0);
tblDevedoresTX_NOME.AsString := '';
Abort;
end;
end;
if tblDevedoresCD_CNPJ.AsString <> '' then
begin
if Length(tblDevedoresCD_CNPJ.AsString) < 18 then
begin
MessageDlg('Por favor insira o CNPJ com pontos, barras e traços.',
mtWarning, [mbOK], 0);
Abort;
end;
qryConsulta.SQL.Clear;
qryConsulta.SQL.Text := 'select CD_CNPJ from chg_devedores where CD_CNPJ = '
+ QuotedStr(LowerCase(tblDevedoresCD_CNPJ.AsString));
qryConsulta.Open;
if (qryConsulta.RecordCount <> 0) and not(dtsDevedores.State in [dsEdit])
then
begin
MessageDlg('Já existe um Devedor com este CNPJ.', mtWarning, [mbOK], 0);
tblDevedoresTX_NOME.AsString := '';
Abort;
end;
end;
if DataSet.State <> dsInsert then
begin
if CheckDiffFields(DataSet, fields_before) then
begin
LogDiffFields(DataSet, fields_before, 'CHG_DEVEDORES', 'edit');
end
else
begin
RegistarLog(DataSet, 'CHG_DEVEDORES', 'post');
end;
end
else
begin
LogPost(DataSet, 'CHG_DEVEDORES', 'insert', seqDevedores);
end;
end;
procedure TdtmSystem.tblDevedoresCalcFields(DataSet: TDataSet);
begin
if tblDevedoresTP_CLIENTE.AsString = 'F' then
begin
tblDevedoresCD_DOCUMENTO.AsString := tblDevedoresCD_CPF.AsString;
end
else
begin
tblDevedoresCD_DOCUMENTO.AsString := tblDevedoresCD_CNPJ.AsString;
end;
end;
procedure TdtmSystem.tblDevEmpBoletosBeforeOpen(DataSet: TDataSet);
begin
if not tblDevedores.Active then
begin
tblDevEmpBoletos.SQL.Clear;
tblDevEmpBoletos.SQL.Add('select * from CHG_DEV_EMP_BOLETOS');
end
else
begin
tblDevEmpBoletos.SQL.Clear;
tblDevEmpBoletos.SQL.Add
('select * from CHG_DEV_EMP_BOLETOS where id_devedor =' +
inttostr(id_devedor));
end;
end;
procedure TdtmSystem.tblDuplicadosBeforePost(DataSet: TDataSet);
begin
if DataSet.State = dsInsert then
begin
tblDuplicadosID_DUPLICADO.AsInteger := NovoCodigo('SYS_DUPLICADOS',
'ID_DUPLICADO');
end;
end;
procedure TdtmSystem.tblEmailBeforeDelete(DataSet: TDataSet);
begin
LogDelete(DataSet, 'CHG_EMAILS', 'delete');
end;
procedure TdtmSystem.tblEmailBeforeEdit(DataSet: TDataSet);
var
i: integer;
begin
SetLength(fields_before, DataSet.FieldCount);
for i := 0 to DataSet.FieldCount - 1 do
begin
fields_before[i] := DataSet.fields[i].AsString;
end;
end;
procedure TdtmSystem.tblEmailBeforeOpen(DataSet: TDataSet);
begin
if not tblDevedores.Active then
begin
tblEmail.SQL.Clear;
tblEmail.SQL.Add('select * from CHG_EMAILS');
end
else
begin
tblEmail.SQL.Clear;
tblEmail.SQL.Add('select * from CHG_EMAILS where id_devedor = ' +
inttostr(id_devedor));
end;
end;
procedure TdtmSystem.tblEmailBeforePost(DataSet: TDataSet);
begin
if DataSet.State = dsInsert then
begin
tblEmailID_EMAIL.AsInteger := NovoCodigo('CHG_EMAILS', 'ID_EMAIL');
tblEmailID_DEVEDOR.AsInteger := tblDevedoresID_DEVEDOR.AsInteger;
tblEmailID_ULTIMO_USUARIO.AsInteger := id_usuario;
tblEmailDT_HORA_ULTIMA_ATT.AsDateTime := Now;
end;
if DataSet.State = dsEdit then
begin
tblEmailID_ULTIMO_USUARIO.AsInteger := id_usuario;
tblEmailDT_HORA_ULTIMA_ATT.AsDateTime := Now;
end;
if DataSet.State <> dsInsert then
begin
if CheckDiffFields(DataSet, fields_before) then
begin
LogDiffFields(DataSet, fields_before, 'CHG_EMAILS', 'edit');
end
else
begin
RegistarLog(DataSet, 'CHG_EMAILS', 'post');
end;
end
else
begin
LogPost(DataSet, 'CHG_EMAILS', 'insert');
end;
end;
procedure TdtmSystem.tblEmpresaBeforeDelete(DataSet: TDataSet);
begin
LogDelete(DataSet, 'SYS_EMPRESA', 'delete');
end;
procedure TdtmSystem.tblEmpresaBeforeEdit(DataSet: TDataSet);
var
i: integer;
begin
SetLength(fields_before, DataSet.FieldCount);
for i := 0 to DataSet.FieldCount - 1 do
begin
fields_before[i] := DataSet.fields[i].AsString;
end;
end;
procedure TdtmSystem.tblEmpresaBeforePost(DataSet: TDataSet);
begin
if DataSet.State = dsInsert then
begin
tblEmpresaID_EMPRESA.AsInteger := NovoCodigo('SYS_EMPRESA', 'ID_EMPRESA');
end;
if DataSet.State <> dsInsert then
begin
if CheckDiffFields(DataSet, fields_before) then
begin
LogDiffFields(DataSet, fields_before, 'SYS_EMPRESA', 'edit');
end
else
begin
RegistarLog(DataSet, 'SYS_EMPRESA', 'post');
end;
end
else
begin
LogPost(DataSet, 'SYS_EMPRESA', 'insert');
end;
end;
procedure TdtmSystem.tblEmpresaRepasseAfterOpen(DataSet: TDataSet);
begin
id_repasse := tblEmpresaRepasseID_ITEM.AsInteger;
end;
procedure TdtmSystem.tblEmpresaRepasseAfterPost(DataSet: TDataSet);
begin
tblEmpresaRepasse.Refresh;
end;
procedure TdtmSystem.tblEmpresaRepasseBeforeDelete(DataSet: TDataSet);
begin
LogDelete(DataSet, 'CHG_EMPRESA_REPASSE', 'delete');
end;
procedure TdtmSystem.tblEmpresaRepasseBeforeEdit(DataSet: TDataSet);
var
i: integer;
begin
SetLength(fields_before, DataSet.FieldCount);
for i := 0 to DataSet.FieldCount - 1 do
begin
fields_before[i] := DataSet.fields[i].AsString;
end;
end;
procedure TdtmSystem.tblEmpresaRepasseBeforePost(DataSet: TDataSet);
begin
if DataSet.State = dsInsert then
begin
tblEmpresaRepasseID_ITEM.AsInteger := NovoCodigo('CHG_EMPRESA_REPASSE',
'ID_ITEM');
tblEmpresaRepasseID_EMPRESA.AsInteger := id_credor;
end;
// if tblProvidenciasTP_FORCAAGENDA.AsString = '' then
// begin
// tblProvidencias.Cancel;
// end;
if DataSet.State <> dsInsert then
begin
if CheckDiffFields(DataSet, fields_before) then
begin
LogDiffFields(DataSet, fields_before, 'CHG_EMPRESA_REPASSE', 'edit');
end
else
begin
RegistarLog(DataSet, 'CHG_EMPRESA_REPASSE', 'post');
end;
end
else
begin
LogPost(DataSet, 'CHG_EMPRESA_REPASSE', 'insert');
end;
end;
procedure TdtmSystem.tblEnderecosBeforeDelete(DataSet: TDataSet);
begin
LogDelete(DataSet, 'CHG_ENDERECOS', 'delete');
end;
procedure TdtmSystem.tblEnderecosBeforeEdit(DataSet: TDataSet);
var
i: integer;
begin
SetLength(fields_before, DataSet.FieldCount);
for i := 0 to DataSet.FieldCount - 1 do
begin
fields_before[i] := DataSet.fields[i].AsString;
end;
end;
procedure TdtmSystem.tblEnderecosBeforeOpen(DataSet: TDataSet);
begin
if not tblDevedores.Active then
begin
tblEnderecos.SQL.Clear;
tblEnderecos.SQL.Add('select * from CHG_ENDERECOS;');
end
else
begin
tblEnderecos.SQL.Clear;
tblEnderecos.SQL.Add('select * from CHG_ENDERECOS where id_devedor =' +
inttostr(id_devedor));
end;
end;
procedure TdtmSystem.tblEnderecosBeforePost(DataSet: TDataSet);
begin
if DataSet.State = dsInsert then
begin
// tblEnderecosID_ENDERECO.AsInteger := NovoCodigo('CHG_ENDERECOS',
// 'ID_ENDERECO');
tblEnderecosID_DEVEDOR.AsInteger := tblDevedoresID_DEVEDOR.AsInteger;
tblEnderecosID_ULTIMO_USUARIO.AsInteger := id_usuario;
tblEnderecosDT_HORA_ULTIMA_ATT.AsDateTime := Now;
end;
if DataSet.State = dsEdit then
begin
tblEnderecosID_ULTIMO_USUARIO.AsInteger := id_usuario;
tblEnderecosDT_HORA_ULTIMA_ATT.AsDateTime := Now;
end;
if DataSet.State <> dsInsert then
begin
if CheckDiffFields(DataSet, fields_before) then
begin
LogDiffFields(DataSet, fields_before, 'CHG_ENDERECOS', 'edit');
end
else
begin
RegistarLog(DataSet, 'CHG_ENDERECOS', 'post');
end;
end
else
begin
LogPost(DataSet, 'CHG_ENDERECOS', 'insert', seqEnderecos);
end;
end;
procedure TdtmSystem.tblEnderecosCalcFields(DataSet: TDataSet);
begin
tblEnderecosTX_ENDERECO_COMPLETO.AsString := Format('%s, %s, %s, %s, %s/%s',
[tblEnderecosTX_LOGRADOURO.AsString, tblEnderecosNR_NUMERO.AsString,
tblEnderecosTX_COMPLEMENTO.AsString, tblEnderecosTX_BAIRRO.AsString,
tblEnderecosTX_CIDADE.AsString, tblEnderecosTX_UF.AsString]);
end;
procedure TdtmSystem.tblEstadosAfterOpen(DataSet: TDataSet);
begin
// tblEstados.DisableControls;
end;
procedure TdtmSystem.tblFaixasAfterInsert(DataSet: TDataSet);
begin
tblFaixasID_POLITICA.AsInteger := tblPoliticasID_POLITICA.AsInteger;
end;
procedure TdtmSystem.tblFaixasBeforeDelete(DataSet: TDataSet);
begin
LogDelete(DataSet, 'CHG_FAIXAS', 'delete');
end;
procedure TdtmSystem.tblFaixasBeforeEdit(DataSet: TDataSet);
var
i: integer;
begin
SetLength(fields_before, DataSet.FieldCount);
for i := 0 to DataSet.FieldCount - 1 do
begin
fields_before[i] := DataSet.fields[i].AsString;
end;
end;
procedure TdtmSystem.tblFaixasBeforePost(DataSet: TDataSet);
// var
// inicio, fim: integer;
begin
if DataSet.State = dsInsert then
begin
tblFaixasID_FAIXA.AsInteger := NovoCodigo('CHG_FAIXAS', 'ID_FAIXA');
end;
tblFaixasID_ULTIMO_USUARIO.AsInteger := id_usuario;
tblFaixasDT_HORA_ULTIMA_ATT.AsDateTime := Now;
if tblFaixasTP_FAIXA.AsString = 'D' then
begin
tblFaixasATRASO_MIN.Clear;
tblFaixasATRASO_MAX.Clear;
end;
if tblFaixasTP_FAIXA.AsString = 'A' then
begin
tblFaixasDT_MIN.Clear;
tblFaixasDT_MAX.Clear;
end;
if DataSet.State <> dsInsert then
begin
if CheckDiffFields(DataSet, fields_before) then
begin
LogDiffFields(DataSet, fields_before, 'CHG_FAIXAS', 'edit');
end
else
begin
RegistarLog(DataSet, 'CHG_FAIXAS', 'post');
end;
end
else
begin
LogPost(DataSet, 'CHG_FAIXAS', 'insert');
end;
end;
procedure TdtmSystem.tblFiltrosBeforeDelete(DataSet: TDataSet);
begin
LogDelete(DataSet, 'CHG_FILTRO', 'delete');
end;
procedure TdtmSystem.tblFiltrosBeforeEdit(DataSet: TDataSet);
var
i: integer;
begin
SetLength(fields_before, DataSet.FieldCount);
for i := 0 to DataSet.FieldCount - 1 do
begin
fields_before[i] := DataSet.fields[i].AsString;
end;
end;
procedure TdtmSystem.tblFiltrosBeforePost(DataSet: TDataSet);
begin
if DataSet.State = dsInsert then
begin
tblFiltrosID_FILTRO.AsInteger := NovoCodigo('CHG_FILTRO', 'ID_FILTRO');
end;
if DataSet.State <> dsInsert then
begin
if CheckDiffFields(DataSet, fields_before) then
begin
LogDiffFields(DataSet, fields_before, 'CHG_FILTRO', 'edit');
end
else
begin
RegistarLog(DataSet, 'CHG_FILTRO', 'post');
end;
end
else
begin
LogPost(DataSet, 'CHG_FILTRO', 'insert');
end;
end;
procedure TdtmSystem.tblGrupoBoletoEmpresasBeforeDelete(DataSet: TDataSet);
begin
LogDelete(DataSet, 'CHG_GRUPO_BOLETO_EMPRESAS', 'delete');
end;
procedure TdtmSystem.tblGrupoBoletoEmpresasBeforeEdit(DataSet: TDataSet);
var
i: integer;
begin
SetLength(fields_before, DataSet.FieldCount);
for i := 0 to DataSet.FieldCount - 1 do
begin
fields_before[i] := DataSet.fields[i].AsString;
end;
end;
procedure TdtmSystem.tblGrupoBoletoEmpresasBeforeOpen(DataSet: TDataSet);
begin
// if not tblGrupoBoletos.Active then
// begin
// tblGrupoBoletoEmpresas.SQL.Clear;
// tblGrupoBoletoEmpresas.SQL.Add('select * from chg_grupo_boleto_empresas;');
// end
// else
// begin
// tblGrupoBoletoEmpresas.SQL.Clear;
// tblGrupoBoletoEmpresas.SQL.Add('select * from chg_grupo_boleto_empresas where ID_GRUPO_BOLETO =' +
// tblGrupoBoletosID_GRUPO.AsString);
// end;
end;
procedure TdtmSystem.tblGrupoBoletoEmpresasBeforePost(DataSet: TDataSet);
begin
if DataSet.State <> dsInsert then
begin
if CheckDiffFields(DataSet, fields_before) then
begin
LogDiffFields(DataSet, fields_before,
'CHG_GRUPO_BOLETO_EMPRESAS', 'edit');
end
else
begin
RegistarLog(DataSet, 'CHG_GRUPO_BOLETO_EMPRESAS', 'post');
end;
end
else
begin
LogPost(DataSet, 'CHG_GRUPO_BOLETO_EMPRESAS', 'insert');
end;
end;
procedure TdtmSystem.tblGrupoBoletosBeforeDelete(DataSet: TDataSet);
begin
LogDelete(DataSet, 'CHG_GRUPO_BOLETOS', 'delete');
end;
procedure TdtmSystem.tblGrupoBoletosBeforeEdit(DataSet: TDataSet);
var
i: integer;
begin
SetLength(fields_before, DataSet.FieldCount);
for i := 0 to DataSet.FieldCount - 1 do
begin
fields_before[i] := DataSet.fields[i].AsString;
end;
end;
procedure TdtmSystem.tblGrupoBoletosBeforePost(DataSet: TDataSet);
begin
if DataSet.State <> dsInsert then
begin
if CheckDiffFields(DataSet, fields_before) then
begin
LogDiffFields(DataSet, fields_before, 'CHG_GRUPO_BOLETOS', 'edit');
end
else
begin
RegistarLog(DataSet, 'CHG_GRUPO_BOLETOS', 'post');
end;
end
else
begin
LogPost(DataSet, 'CHG_GRUPO_BOLETOS', 'insert');
end;
end;
procedure TdtmSystem.tblGruposAfterInsert(DataSet: TDataSet);
begin
tblGruposTP_SU.AsString := 'N';
end;
procedure TdtmSystem.tblGruposAfterOpen(DataSet: TDataSet);
begin
id_grupoq := tblGruposID_GRUPO.AsInteger;
end;
procedure TdtmSystem.tblGruposBeforeDelete(DataSet: TDataSet);
begin
if not tblUsuarios.IsEmpty then
begin
MessageDlg('Não é possível remover um grupo que contenha usuários.',
mtWarning, [mbOK], 0);
Abort;
end
else
begin
LogDelete(DataSet, 'SYS_GRUPOS', 'delete');
while tblGruposPermissoes.RecordCount > 0 do
begin
tblGruposPermissoes.Delete;
end;
end;
end;
procedure TdtmSystem.tblGruposBeforeEdit(DataSet: TDataSet);
var
i: integer;
begin
SetLength(fields_before, DataSet.FieldCount);
for i := 0 to DataSet.FieldCount - 1 do
begin
fields_before[i] := DataSet.fields[i].AsString;
end;
end;
procedure TdtmSystem.tblGruposBeforePost(DataSet: TDataSet);
begin
if DataSet.State = dsInsert then
begin
tblGruposID_GRUPO.AsInteger := NovoCodigo('SYS_GRUPOS', 'ID_GRUPO');
end;
qryConsulta.SQL.Text := 'Select * from SYS_GRUPOS WHERE TX_NOME = ' +
QuotedStr(tblGruposTX_NOME.AsString);
qryConsulta.Open;
if qryConsulta.RecordCount <> 0 then
begin
tblGrupos.Cancel;
MessageDlg('Já existe um grupo com esse nome.', mtWarning, [mbOK], 0);
Abort;
end;
if DataSet.State <> dsInsert then
begin
if CheckDiffFields(DataSet, fields_before) then
begin
LogDiffFields(DataSet, fields_before, 'SYS_GRUPOS', 'edit');
end
else
begin
RegistarLog(DataSet, 'SYS_GRUPOS', 'post');
end;
end
else
begin
LogPost(DataSet, 'SYS_GRUPOS', 'insert');
end;
end;
procedure TdtmSystem.tblGruposPermissoesAfterInsert(DataSet: TDataSet);
begin
tblGruposPermissoesID_GRUPO.AsInteger := tblGruposID_GRUPO.AsInteger;
tblGruposPermissoesID_PERMISSAO.AsInteger :=
tblPermDisponiveisID_PERMISSAO.AsInteger;
end;
procedure TdtmSystem.tblGruposPermissoesAfterPost(DataSet: TDataSet);
begin
tblPermDisponiveis.Refresh;
end;
procedure TdtmSystem.tblGruposPermissoesBeforeDelete(DataSet: TDataSet);
begin
LogDelete(DataSet, 'SYS_GRUPOS_PERMISSOES', 'delete');
end;
procedure TdtmSystem.tblGruposPermissoesBeforeEdit(DataSet: TDataSet);
var
i: integer;
begin
SetLength(fields_before, DataSet.FieldCount);
for i := 0 to DataSet.FieldCount - 1 do
begin
fields_before[i] := DataSet.fields[i].AsString;
end;
end;
procedure TdtmSystem.tblGruposPermissoesBeforeOpen(DataSet: TDataSet);
begin
if not tblGrupos.Active then
begin
tblGruposPermissoes.SQL.Clear;
tblGruposPermissoes.SQL.Add('select * from SYS_GRUPOS_PERMISSOES;');
end
else
begin
tblGruposPermissoes.SQL.Clear;
tblGruposPermissoes.SQL.Add
('select * from SYS_GRUPOS_PERMISSOES where id_grupo =' +
inttostr(id_grupoq));
end;
end;
procedure TdtmSystem.tblGruposPermissoesBeforePost(DataSet: TDataSet);
begin
if DataSet.State = dsInsert then
begin
tblGruposPermissoesID_ITEM.AsInteger := NovoCodigo('SYS_GRUPOS_PERMISSOES',
'ID_ITEM');
end;
end;
procedure TdtmSystem.tblHistoricoAfterPost(DataSet: TDataSet);
begin
zroqryContatos.Refresh;
end;
procedure TdtmSystem.tblHistoricoBeforeDelete(DataSet: TDataSet);
begin
LogDelete(DataSet, 'CHG_HISTORICO', 'delete');
end;
procedure TdtmSystem.tblHistoricoBeforeEdit(DataSet: TDataSet);
var
i: integer;
begin
SetLength(fields_before, DataSet.FieldCount);
for i := 0 to DataSet.FieldCount - 1 do
begin
fields_before[i] := DataSet.fields[i].AsString;
end;
end;
procedure TdtmSystem.tblHistoricoBeforeOpen(DataSet: TDataSet);
begin
if not tblProvidencias.Active then
begin
tblProvidencias.Open;
end;
if not tblDevedores.Active then
begin
tblHistorico.SQL.Clear;
tblHistorico.SQL.Add
('select * from CHG_HISTORICO order by DT_CONTATO DESC;');
end
else
begin
tblHistorico.SQL.Clear;
tblHistorico.SQL.Add('select * from CHG_HISTORICO where id_devedor =' +
inttostr(id_devedor) + ' order by DT_CONTATO DESC');
end;
end;
procedure TdtmSystem.tblHistoricoBeforePost(DataSet: TDataSet);
begin
if DataSet.State = dsInsert then
begin
// tblHistoricoID_HISTORICO.AsInteger := NovoCodigo('CHG_HISTORICO',
// 'ID_HISTORICO');
tblHistoricoID_COBRADOR.AsInteger := id_usuario;
tblHistoricoID_ULTIMO_USUARIO.AsInteger := id_usuario;
tblHistoricoDT_HORA_ULTIMA_ATT.AsDateTime := Now;
// if tblHistoricoCD_PROTOCOLO.AsString = '' then
// begin
// tblHistoricoCD_PROTOCOLO.AsString :=
// gerarProtocolo(tblHistoricoID_DEVEDOR.AsString);
// end;
end;
if DataSet.State = dsEdit then
begin
tblHistoricoID_ULTIMO_USUARIO.AsInteger := id_usuario;
tblHistoricoDT_HORA_ULTIMA_ATT.AsDateTime := Now;
end;
if DataSet.State <> dsInsert then
begin
if CheckDiffFields(DataSet, fields_before) then
begin
LogDiffFields(DataSet, fields_before, 'CHG_HISTORICO', 'edit');
end
else
begin
RegistarLog(DataSet, 'CHG_HISTORICO', 'post');
end;
end
else
begin
LogPost(DataSet, 'CHG_HISTORICO', 'insert', seqHistoricos);
end;
end;
procedure TdtmSystem.tblHistoricoPostError(DataSet: TDataSet; E: EDatabaseError;
var action: TDataAction);
begin
if Pos(E.Message, 'PRYMARY OR UNIQUE') > 0 then
begin
DataSet.Post;
end;
try
seqHistoricos.GetNextValue;
DataSet.Post;
finally
end;
end;
procedure TdtmSystem.tblInadimplenciasBeforePost(DataSet: TDataSet);
begin
if DataSet.State = dsInsert then
begin
tblInadimplenciasID_INADIMPLENCIA.AsInteger :=
NovoCodigo('CHG_INADIMPLENCIAS', 'ID_INADIMPLENCIA');
end;
end;
procedure TdtmSystem.tblInadimplenciasDeleteError(DataSet: TDataSet;
E: EDatabaseError; var action: TDataAction);
begin
// EscreveLog('deletar', tblInadimplencias);
end;
procedure TdtmSystem.tblInadimplenciasEditError(DataSet: TDataSet;
E: EDatabaseError; var action: TDataAction);
begin
// EscreveLog('editar', tblInadimplencias);
end;
procedure TdtmSystem.tblInadimplenciasPostError(DataSet: TDataSet;
E: EDatabaseError; var action: TDataAction);
begin
// EscreveLog('postar', tblInadimplencias);
end;
procedure TdtmSystem.tblIndicadorFinanceiroBeforeDelete(DataSet: TDataSet);
begin
LogDelete(DataSet, 'CHG_INDICADORES_FINANCEIROS', 'delete');
end;
procedure TdtmSystem.tblIndicadorFinanceiroBeforeEdit(DataSet: TDataSet);
var
i: integer;
begin
SetLength(fields_before, DataSet.FieldCount);
for i := 0 to DataSet.FieldCount - 1 do
begin
fields_before[i] := DataSet.fields[i].AsString;
end;
end;
procedure TdtmSystem.tblIndicadorFinanceiroBeforeOpen(DataSet: TDataSet);
begin
if not tblCHGEmpresa.Active then
begin
tblIndicadorFinanceiro.SQL.Clear;
tblIndicadorFinanceiro.SQL.Add
('select * from CHG_INDICADORES_FINANCEIROS;');
end
else
begin
tblIndicadorFinanceiro.SQL.Clear;
tblIndicadorFinanceiro.SQL.Add
('select * from CHG_INDICADORES_FINANCEIROS where ID_CHG_EMPRESA =' +
inttostr(id_credor));
end;
end;
procedure TdtmSystem.tblIndicadorFinanceiroBeforePost(DataSet: TDataSet);
begin
if DataSet.State = dsInsert then
begin
tblIndicadorFinanceiroID_INDICADOR.AsInteger :=
NovoCodigo('CHG_INDICADORES_FINANCEIROS', 'ID_INDICADOR');
tblIndicadorFinanceiroID_CHG_EMPRESA.AsInteger :=
tblCHGEmpresaID_EMPRESA.AsInteger;
end;
if DataSet.State <> dsInsert then
begin
if CheckDiffFields(DataSet, fields_before) then
begin
LogDiffFields(DataSet, fields_before,
'CHG_INDICADORES_FINANCEIROS', 'edit');
end
else
begin
RegistarLog(DataSet, 'CHG_INDICADORES_FINANCEIROS', 'post');
end;
end
else
begin
LogPost(DataSet, 'CHG_INDICADORES_FINANCEIROS', 'insert');
end;
end;
procedure TdtmSystem.tblIndicesAfterPost(DataSet: TDataSet);
begin
if Assigned(frmAtendimento) then
begin
with frmAtendimento do
begin
clb_indices.Clear;
tblIndices.First;
while not tblIndices.Eof do
begin
clb_indices.Items.Add(tblIndicesTX_NOME.AsString);
tblIndices.Next;
end;
end;
end;
// RegistarLog(DataSet);
end;
procedure TdtmSystem.tblIndicesBeforeDelete(DataSet: TDataSet);
begin
LogDelete(DataSet, 'SYS_INDICES', 'delete');
end;
procedure TdtmSystem.tblIndicesBeforeEdit(DataSet: TDataSet);
var
i: integer;
begin
SetLength(fields_before, DataSet.FieldCount);
for i := 0 to DataSet.FieldCount - 1 do
begin
fields_before[i] := DataSet.fields[i].AsString;
end;
end;
procedure TdtmSystem.tblIndicesBeforePost(DataSet: TDataSet);
begin
if DataSet.State = dsInsert then
begin
tblIndicesID_INDICE.AsInteger := NovoCodigo('SYS_INDICES', 'ID_INDICE');
end;
if DataSet.State <> dsInsert then
begin
if CheckDiffFields(DataSet, fields_before) then
begin
LogDiffFields(DataSet, fields_before, 'SYS_INDICES', 'edit');
end
else
begin
RegistarLog(DataSet, 'SYS_INDICES', 'post');
end;
end
else
begin
LogPost(DataSet, 'SYS_INDICES', 'insert');
end;
end;
procedure TdtmSystem.tblLayoutsBeforeDelete(DataSet: TDataSet);
begin
LogDelete(DataSet, 'SYS_LAYOUTS', 'delete');
end;
procedure TdtmSystem.tblLayoutsBeforeEdit(DataSet: TDataSet);
var
i: integer;
begin
SetLength(fields_before, DataSet.FieldCount);
for i := 0 to DataSet.FieldCount - 1 do
begin
fields_before[i] := DataSet.fields[i].AsString;
end;
end;
procedure TdtmSystem.tblLayoutsBeforePost(DataSet: TDataSet);
begin
if DataSet.State = dsInsert then
begin
tblLayoutsID_LAYOUT.AsInteger := NovoCodigo('SYS_LAYOUTS', 'ID_LAYOUT');
end;
if DataSet.State <> dsInsert then
begin
if CheckDiffFields(DataSet, fields_before) then
begin
LogDiffFields(DataSet, fields_before, 'SYS_LAYOUTS', 'edit');
end
else
begin
RegistarLog(DataSet, 'SYS_LAYOUTS', 'post');
end;
end
else
begin
LogPost(DataSet, 'SYS_LAYOUTS', 'insert');
end;
end;
procedure TdtmSystem.tblLogBeforePost(DataSet: TDataSet);
begin
if DataSet.State = dsInsert then
begin
// tblLogID_LOG.AsInteger := NovoCodigo('SYS_LOG', 'ID_LOG');
tblLogID_USUARIO.AsInteger := id_usuario;
tblLogDT_LOG.AsDateTime := Now;
end;
end;
procedure TdtmSystem.tblLogCampanhasBeforePost(DataSet: TDataSet);
begin
if DataSet.State = dsInsert then
begin
tblLogCampanhasID_ITEM.AsInteger := NovoCodigo('SYS_CAMPANHAS_OLD',
'ID_ITEM');
end;
end;
procedure TdtmSystem.tblLoginsBeforePost(DataSet: TDataSet);
begin
if DataSet.State = dsInsert then
begin
tblLoginsID_LOGIN.AsInteger := NovoCodigo('SYS_LOGINS', 'ID_LOGIN');
end;
end;
procedure TdtmSystem.tblLogPostError(DataSet: TDataSet; E: EDatabaseError;
var action: TDataAction);
begin
if Pos(E.Message, 'PRYMARY OR UNIQUE') > 0 then
begin
if DataSet.State = dsInsert then
begin
tblLogID_LOG.AsInteger := tblLogID_LOG.AsInteger + 1;
tblLogID_USUARIO.AsInteger := id_usuario;
end;
DataSet.Post;
end;
end;
procedure TdtmSystem.tblLogEditError(DataSet: TDataSet; E: EDatabaseError;
var action: TDataAction);
begin
if Pos(E.Message, 'PRYMARY OR UNIQUE') > 0 then
begin
DataSet.Post;
end;
end;
procedure TdtmSystem.tblPermissoesBeforeDelete(DataSet: TDataSet);
begin
LogDelete(DataSet, 'SYS_PERMISSOES', 'delete');
end;
procedure TdtmSystem.tblPermissoesBeforeEdit(DataSet: TDataSet);
var
i: integer;
begin
SetLength(fields_before, DataSet.FieldCount);
for i := 0 to DataSet.FieldCount - 1 do
begin
fields_before[i] := DataSet.fields[i].AsString;
end;
end;
procedure TdtmSystem.tblPermissoesBeforePost(DataSet: TDataSet);
begin
if DataSet.State = dsInsert then
begin
tblPermissoesID_PERMISSAO.AsInteger := NovoCodigo('SYS_PERMISSOES',
'ID_PERMISSAO');
end;
end;
procedure TdtmSystem.tblPoliticasAfterInsert(DataSet: TDataSet);
begin
// tblPoliticasTP_PARCELA.AsString := '2';
// tblPoliticasTP_JUROS.AsString := 'S';
// tblPoliticasDT_INICIO.AsDateTime := Date;
// tblPoliticasNR_PARCELA_MAXIMO.AsInteger := 1;
end;
procedure TdtmSystem.tblPoliticasAfterPost(DataSet: TDataSet);
begin
{ with ROQueryFaixa.SQL do
begin
Clear;
Add('select * from chg_faixas where id_politica in (');
Add('select id_politica from chg_politicas where id_empresa = ' +
tblCHGEmpresaID_EMPRESA.AsString + ')');
end;
ROQueryFaixa.Open;
if ROQueryFaixa.IsEmpty = true then
begin
tblFaixas.Append;
tblFaixasID_POLITICA.AsInteger := tblPoliticasID_POLITICA.AsInteger;
tblFaixasTX_DESCRICAO.AsString := 'Títulos a vencer';
tblFaixasDT_INICIO.AsInteger := -9999;
tblFaixasDT_FINAL.AsInteger := 0;
tblFaixas.Post;
end; }
// RegistarLog(DataSet);
end;
procedure TdtmSystem.tblPoliticasBeforeDelete(DataSet: TDataSet);
begin
LogDelete(DataSet, 'CHG_POLITICAS', 'delete');
end;
procedure TdtmSystem.tblPoliticasBeforeEdit(DataSet: TDataSet);
var
i: integer;
begin
SetLength(fields_before, DataSet.FieldCount);
for i := 0 to DataSet.FieldCount - 1 do
begin
fields_before[i] := DataSet.fields[i].AsString;
end;
end;
procedure TdtmSystem.tblPoliticasBeforePost(DataSet: TDataSet);
begin
if DataSet.State = dsInsert then
begin
tblPoliticasID_POLITICA.AsInteger := NovoCodigo('CHG_POLITICAS',
'ID_POLITICA');
with ROquerypesquisas do
begin
SQL.Clear;
SQL.Text := 'select * from chg_politicas where id_empresa = ' +
tblCHGEmpresaID_EMPRESA.AsString + ' and lower(tx_descricao) = ' +
QuotedStr(LowerCase(tblPoliticasTX_DESCRICAO.AsString)) + '';
end;
ROquerypesquisas.Open;
if ROquerypesquisas.RecordCount <> 0 then
begin
MessageDlg('Já existe uma política com esse nome.', mtWarning, [mbOK], 0);
tblPoliticasTX_DESCRICAO.AsString := '';
Abort;
end;
end;
if DataSet.State = dsEdit then
begin
qryConsulta.SQL.Clear;
qryConsulta.SQL.Add
('select * from chg_politicas where lower(tx_descricao) not in (select lower(tx_descricao) from chg_politicas where lower(tx_descricao) = '
+ QuotedStr(LowerCase(tblPoliticasTX_DESCRICAO.AsString)) +
') and id_empresa = ' + tblCHGEmpresaID_EMPRESA.AsString + '');
qryConsulta.Open;
qryConsulta.First;
while not qryConsulta.Eof do
begin
if LowerCase(qryConsulta.FieldByName('TX_DESCRICAO').AsString)
= LowerCase(tblPoliticasTX_DESCRICAO.AsString) then
begin
MessageDlg('Já existe uma política com esse nome.', mtWarning,
[mbOK], 0);
tblPoliticasTX_DESCRICAO.AsString := '';
Abort;
end;
qryConsulta.Next;
end;
end;
tblPoliticasID_ULTIMO_USUARIO.AsInteger := id_usuario;
tblPoliticasDT_HORA_ULTIMA_ATT.AsDateTime := Now;
if DataSet.State <> dsInsert then
begin
if CheckDiffFields(DataSet, fields_before) then
begin
LogDiffFields(DataSet, fields_before, 'CHG_POLITICAS', 'edit');
end
else
begin
RegistarLog(DataSet, 'CHG_POLITICAS', 'post');
end;
end
else
begin
LogPost(DataSet, 'CHG_POLITICAS', 'insert');
end;
end;
procedure TdtmSystem.tblPrCartaoAfterInsert(DataSet: TDataSet);
begin
tblPrCartaoID_ITEM.AsInteger := NovoCodigo('SYS_PORCENTAGENS_CARTOES',
'ID_ITEM');
end;
procedure TdtmSystem.tblProtocoloBeforeDelete(DataSet: TDataSet);
begin
LogDelete(DataSet, 'CHG_COBRANCA_TITULOS', 'delete');
end;
procedure TdtmSystem.tblProtocoloBeforeEdit(DataSet: TDataSet);
var
i: integer;
begin
SetLength(fields_before, DataSet.FieldCount);
for i := 0 to DataSet.FieldCount - 1 do
begin
fields_before[i] := DataSet.fields[i].AsString;
end;
end;
procedure TdtmSystem.tblProtocoloBeforeOpen(DataSet: TDataSet);
begin
if not tblDevedores.Active then
begin
tblProtocolo.SQL.Clear;
tblProtocolo.SQL.Add('select * from CHG_COBRANCA_TITULOS;');
end
else
begin
tblProtocolo.SQL.Clear;
tblProtocolo.SQL.Add('select * from CHG_COBRANCA_TITULOS where id_devedor ='
+ inttostr(id_devedor));
end;
end;
procedure TdtmSystem.tblProtocoloBeforePost(DataSet: TDataSet);
begin
if DataSet.State = dsInsert then
begin
tblProtocoloID_PROTOCOLO.AsInteger := NovoCodigo('CHG_COBRANCA_TITULOS',
'ID_PROTOCOLO');
end;
if DataSet.State <> dsInsert then
begin
if CheckDiffFields(DataSet, fields_before) then
begin
LogDiffFields(DataSet, fields_before, 'CHG_COBRANCA_TITULOS', 'edit');
end
else
begin
RegistarLog(DataSet, 'CHG_COBRANCA_TITULOS', 'post');
end;
end
else
begin
LogPost(DataSet, 'CHG_COBRANCA_TITULOS', 'insert');
end;
end;
procedure TdtmSystem.tblProvidenciasBeforeDelete(DataSet: TDataSet);
begin
LogDelete(DataSet, 'CHG_PROVIDENCIAS', 'delete');
end;
procedure TdtmSystem.tblProvidenciasBeforeEdit(DataSet: TDataSet);
var
i: integer;
begin
SetLength(fields_before, DataSet.FieldCount);
for i := 0 to DataSet.FieldCount - 1 do
begin
fields_before[i] := DataSet.fields[i].AsString;
end;
end;
procedure TdtmSystem.tblProvidenciasBeforePost(DataSet: TDataSet);
begin
if DataSet.State = dsInsert then
begin
tblProvidenciasID_PROVIDENCIA.AsInteger := NovoCodigo('CHG_PROVIDENCIAS',
'ID_PROVIDENCIA');
end;
if tblProvidenciasTP_FORCAAGENDA.AsString = '' then
begin
tblProvidencias.Cancel;
end;
if DataSet.State <> dsInsert then
begin
if CheckDiffFields(DataSet, fields_before) then
begin
LogDiffFields(DataSet, fields_before, 'CHG_PROVIDENCIAS', 'edit');
end
else
begin
RegistarLog(DataSet, 'CHG_PROVIDENCIAS', 'post');
end;
end
else
begin
LogPost(DataSet, 'CHG_PROVIDENCIAS', 'insert');
end;
end;
procedure TdtmSystem.tblReciboBeforeDelete(DataSet: TDataSet);
begin
LogDelete(DataSet, 'SYS_RECIBOS', 'delete');
end;
procedure TdtmSystem.tblReciboBeforeEdit(DataSet: TDataSet);
var
i: integer;
begin
SetLength(fields_before, DataSet.FieldCount);
for i := 0 to DataSet.FieldCount - 1 do
begin
fields_before[i] := DataSet.fields[i].AsString;
end;
end;
procedure TdtmSystem.tblReciboBeforePost(DataSet: TDataSet);
begin
if DataSet.State = dsInsert then
begin
// tblReciboID_RECIBO.AsInteger := NovoCodigo('SYS_RECIBOS', 'ID_RECIBO');
tblReciboTP_CANCELADO.AsString := 'N';
end;
if DataSet.State <> dsInsert then
begin
if CheckDiffFields(DataSet, fields_before) then
begin
LogDiffFields(DataSet, fields_before, 'SYS_RECIBOS', 'edit');
end
else
begin
RegistarLog(DataSet, 'SYS_RECIBOS', 'post');
end;
end
else
begin
LogPost(DataSet, 'SYS_RECIBOS', 'insert', seqRecibos);
end;
end;
procedure TdtmSystem.tblRepasseAfterOpen(DataSet: TDataSet);
begin
// id_repasse := tblRepasseID_REPASSE.AsInteger;
end;
procedure TdtmSystem.tblRepasseBeforeDelete(DataSet: TDataSet);
begin
if tblRepasseID_REPASSE.AsInteger = 1 then
begin
Abort;
end;
LogDelete(DataSet, 'SYS_REPASSES', 'delete');
end;
procedure TdtmSystem.tblRepasseBeforeEdit(DataSet: TDataSet);
var
i: integer;
begin
SetLength(fields_before, DataSet.FieldCount);
for i := 0 to DataSet.FieldCount - 1 do
begin
fields_before[i] := DataSet.fields[i].AsString;
end;
if tblRepasseID_REPASSE.AsInteger = 1 then
begin
MessageDlg('Este modelo é utilizado pelo sistema e não pode ser editado.',
mtWarning, [mbOK], 0);
Abort;
end;
end;
procedure TdtmSystem.tblRepasseBeforePost(DataSet: TDataSet);
begin
if DataSet.State = dsInsert then
begin
tblRepasseID_REPASSE.AsInteger := NovoCodigo('SYS_REPASSES', 'ID_REPASSE');
end;
if DataSet.State <> dsInsert then
begin
if CheckDiffFields(DataSet, fields_before) then
begin
LogDiffFields(DataSet, fields_before, 'SYS_REPASSES', 'edit');
end
else
begin
RegistarLog(DataSet, 'SYS_REPASSES', 'post');
end;
end
else
begin
LogPost(DataSet, 'SYS_REPASSES', 'insert');
end;
end;
procedure TdtmSystem.tblRepasseFaseAfterOpen(DataSet: TDataSet);
begin
id_repasse_fase := tblRepasseFaseID_FASE.AsInteger;
end;
procedure TdtmSystem.tblRepasseFaseBeforeOpen(DataSet: TDataSet);
begin
if tblRepasse.Active then
begin
tblRepasseFase.SQL.Clear;
tblRepasseFase.SQL.Text :=
'select * from sys_repasses_fases where id_repasse = ' +
inttostr(id_repasse);
end
else
begin
tblRepasseFase.SQL.Clear;
tblRepasseFase.SQL.Text := 'select * from sys_repasses_fases';
end;
end;
procedure TdtmSystem.tblRepasseFaseBeforePost(DataSet: TDataSet);
begin
if tblRepasseFase.RecordCount > 1 then
begin
ROQueryFaixa.SQL.Clear;
with ROQueryFaixa.SQL do
begin
Add('select MIN_ATRASO, MAX_ATRASO from sys_repasses_fases where id_repasse = '
+ inttostr(id_repasse));
Add('and (');
Add('((MIN_ATRASO <= ' + tblRepasseFaseMIN_ATRASO.AsString +
') and (MAX_ATRASO >= ' + tblRepasseFaseMIN_ATRASO.AsString +
')) or ((MIN_ATRASO <= ' + tblRepasseFaseMAX_ATRASO.AsString +
') and (MAX_ATRASO >= ' + tblRepasseFaseMAX_ATRASO.AsString + '))');
Add(') and ID_FASE <> ' + inttostr(id_repasse_fase));
end;
ROQueryFaixa.Open;
if not ROQueryFaixa.IsEmpty then
begin
MessageDlg
('Já existe uma faixa com esse período de atraso dentro das políticas desta empresa.',
mtWarning, [mbOK], 0);
tblRepasseFaseMIN_ATRASO.AsString := '';
tblRepasseFaseMAX_ATRASO.AsString := '';
Abort;
end;
end;
if DataSet.State = dsInsert then
begin
tblRepasseFaseID_FASE.AsInteger := NovoCodigo('SYS_REPASSES_FASES',
'ID_FASE');
tblRepasseFaseID_REPASSE.AsInteger := id_repasse;
tblRepasseFaseID_ULTIMO_USUARIO.AsInteger := id_usuario;
tblRepasseFaseDT_HORA_ULTIMA_ATT.AsDateTime := Now;
end;
if DataSet.State = dsEdit then
begin
tblRepasseFaseID_ULTIMO_USUARIO.AsInteger := id_usuario;
tblRepasseFaseDT_HORA_ULTIMA_ATT.AsDateTime := Now;
end;
end;
procedure TdtmSystem.tblSessaoBeforePost(DataSet: TDataSet);
begin
if DataSet.State = dsInsert then
begin
tblSessaoID_SESSAO.AsInteger := NovoCodigo('SYS_SESSAO', 'ID_SESSAO');
end;
end;
procedure TdtmSystem.tblTelefonesBeforeDelete(DataSet: TDataSet);
begin
LogDelete(DataSet, 'CHG_TELEFONES', 'delete');
end;
procedure TdtmSystem.tblTelefonesBeforeEdit(DataSet: TDataSet);
var
i: integer;
begin
SetLength(fields_before, DataSet.FieldCount);
for i := 0 to DataSet.FieldCount - 1 do
begin
fields_before[i] := DataSet.fields[i].AsString;
end;
end;
procedure TdtmSystem.tblTelefonesBeforeOpen(DataSet: TDataSet);
begin
if not tblDevedores.Active then
begin
tblTelefones.SQL.Clear;
tblTelefones.SQL.Add('select * from CHG_TELEFONES;');
end
else
begin
tblTelefones.SQL.Clear;
tblTelefones.SQL.Add('select * from CHG_TELEFONES where id_devedor =' +
inttostr(id_devedor));
end;
end;
procedure TdtmSystem.tblTelefonesBeforePost(DataSet: TDataSet);
begin
if DataSet.State = dsInsert then
begin
// tblTelefonesID_TELEFONE.AsInteger := NovoCodigo('CHG_TELEFONES',
// 'ID_TELEFONE');
tblTelefonesID_DEVEDOR.AsInteger := tblDevedoresID_DEVEDOR.AsInteger;
tblTelefonesID_ULTIMO_USUARIO.AsInteger := id_usuario;
tblTelefonesDT_HORA_ULTIMA_ATT.AsDateTime := Now;
end;
if DataSet.State = dsEdit then
begin
tblTelefonesID_ULTIMO_USUARIO.AsInteger := id_usuario;
tblTelefonesDT_HORA_ULTIMA_ATT.AsDateTime := Now;
end;
qryConsulta.SQL.Clear;
qryConsulta.SQL.Text :=
'select nr_numero from chg_telefones where nr_numero = ' +
QuotedStr(tblTelefonesNR_NUMERO.AsString) + 'and id_devedor = ' +
inttostr(id_devedor) + 'and nr_ddd = ' +
QuotedStr(tblTelefonesNR_DDD.AsString);
qryConsulta.Open;
if (qryConsulta.RecordCount <> 0) and not(dtsTelefones.State in [dsEdit]) then
begin
MessageDlg('Esse número já está cadastrado.', mtWarning, [mbOK], 0);
tblTelefonesNR_NUMERO.AsString := '';
Abort;
end;
if DataSet.State <> dsInsert then
begin
if CheckDiffFields(DataSet, fields_before) then
begin
LogDiffFields(DataSet, fields_before, 'CHG_TELEFONES', 'edit');
end
else
begin
RegistarLog(DataSet, 'CHG_TELEFONES', 'post');
end;
end
else
begin
LogPost(DataSet, 'CHG_TELEFONES', 'insert', seqTelefones);
end;
end;
procedure TdtmSystem.tblTelefonesCalcFields(DataSet: TDataSet);
begin
tblTelefonesTX_TELEFONE_COMPLETO.AsString :=
Format('(%s) %s', [tblTelefonesNR_DDD.AsString,
tblTelefonesNR_NUMERO.AsString]);
end;
procedure TdtmSystem.tblTextoEmailBeforeDelete(DataSet: TDataSet);
begin
LogDelete(DataSet, 'SYS_TEXTO_EMAIL', 'delete');
end;
procedure TdtmSystem.tblTextoEmailBeforeEdit(DataSet: TDataSet);
var
i: integer;
begin
SetLength(fields_before, DataSet.FieldCount);
for i := 0 to DataSet.FieldCount - 1 do
begin
fields_before[i] := DataSet.fields[i].AsString;
end;
end;
procedure TdtmSystem.tblTextoEmailBeforePost(DataSet: TDataSet);
begin
if DataSet.State = dsInsert then
begin
tblTextoEmailID_TEXTO.AsInteger := NovoCodigo('SYS_TEXTO_EMAIL',
'ID_TEXTO');
end;
if DataSet.State <> dsInsert then
begin
if CheckDiffFields(DataSet, fields_before) then
begin
LogDiffFields(DataSet, fields_before, 'SYS_TEXTO_EMAIL', 'edit');
end
else
begin
RegistarLog(DataSet, 'SYS_TEXTO_EMAIL', 'post');
end;
end
else
begin
LogPost(DataSet, 'SYS_TEXTO_EMAIL', 'insert');
end;
end;
procedure TdtmSystem.tblTitulosAfterOpen(DataSet: TDataSet);
begin
id_tit := tblTitulosID_TITULO.AsInteger;
end;
procedure TdtmSystem.tblTitulosAfterPost(DataSet: TDataSet);
begin
// RegistarLog(tblTitulos);
// if tit_state = 'dsInsert' then
// begin
// if not(tblHistorico.Active) then
// begin
// tblHistorico.Open;
// end;
// tblHistorico.Append;
// tblHistoricoID_DEVEDOR.AsInteger := tblDevedoresID_DEVEDOR.AsInteger;
// tblHistoricoID_COBRADOR.AsInteger := id_usuario;
// tblHistoricoID_TITULOS.AsString := tblTitulosID_TITULO.AsString;
// tblHistoricoID_PROVIDENCIA.AsInteger := 52;
// tblHistoricoDT_CONTATO.AsDateTime := Date;
// tblHistorico.Post;
// if (tblHistorico.Active) then
// begin
// tblHistorico.Close;
// end;
// end;
end;
procedure TdtmSystem.tblTitulosBeforeDelete(DataSet: TDataSet);
begin
// RegistarLog(DataSet, 'CHG_TITULOS', 'apagou' + tblTitulosID_DEVEDOR.AsString +
// '-' + tblTitulosID_EMPRESA.AsString + '-' + tblTitulosVL_TITULO.AsString +
// '-' + tblTitulosDT_VENCIMENTO.AsString + '-' +
// tblTitulosTP_SITUACAO.AsString);
with ROquerypesquisas.SQL do
begin
Clear;
Add('select * from sys_acordos where id_original = ' +
// tblTitulosID_TITULO.AsString);
inttostr(id_tit));
end;
if not tblAcordos.Active then
begin
tblAcordos.Open;
end;
ROquerypesquisas.Open;
if ROquerypesquisas.RecordCount > 0 then
begin
ROquerypesquisas.First;
while not ROquerypesquisas.Eof do
begin
tblAcordos.Locate('ID_ITEM', ROquerypesquisas.FieldByName('ID_ITEM')
.AsInteger, []);
tblAcordos.Delete;
ROquerypesquisas.Next;
end;
end;
with ROquerypesquisas.SQL do
begin
Clear;
Add('select * from sys_acordos where id_parcela = ' +
// tblTitulosID_TITULO.AsString);
inttostr(id_tit));
end;
ROquerypesquisas.Open;
if ROquerypesquisas.RecordCount > 0 then
begin
ROquerypesquisas.First;
while not ROquerypesquisas.Eof do
begin
tblAcordos.Locate('ID_ITEM', ROquerypesquisas.FieldByName('ID_ITEM')
.AsInteger, []);
tblAcordos.Delete;
ROquerypesquisas.Next;
end;
end;
LogDelete(DataSet, 'CHG_TITULOS', 'delete');
end;
procedure TdtmSystem.tblTitulosBeforeEdit(DataSet: TDataSet);
var
i: integer;
begin
// SetLength(fields_before, DataSet.FieldCount);
for i := 0 to DataSet.FieldCount - 1 do
begin
// fields_before[i] := DataSet.fields[i].AsString;
fieldsTituloBefore[i] := DataSet.fields[i].AsString;
end;
dt_pag := tblTitulosDT_PAGAMENTO.AsDateTime;
dt_recibo := tblTitulosDT_EMISSAO_RECIBO.AsDateTime;
end;
procedure TdtmSystem.tblTitulosBeforeOpen(DataSet: TDataSet);
begin
if not tblDevedores.Active then
begin
tblTitulos.SQL.Clear;
tblTitulos.SQL.Add('select * from chg_titulos');
tblTitulos.SQL.Add('order by DT_VENCIMENTO, VL_TITULO');
end
else
begin
tblTitulos.SQL.Clear;
tblTitulos.SQL.Add('select * from chg_titulos where id_devedor =' +
inttostr(id_devedor));
tblTitulos.SQL.Add('order by DT_VENCIMENTO, VL_TITULO');
end;
end;
procedure TdtmSystem.tblTitulosBeforePost(DataSet: TDataSet);
var
acao: string;
begin
if tblTitulosDT_VENCIMENTO.AsDateTime < StrToDateTime('01/01/1900 0') then
begin
showmessage('Data inválida para vencimento.');
Abort;
end;
if DataSet.State = dsInsert then
begin
tblTitulosID_TITULO.AsInteger := NovoCodigo('CHG_TITULOS', 'ID_TITULO');
tblTitulosID_DEVEDOR.AsInteger := tblDevedoresID_DEVEDOR.AsInteger;
if tblTitulosDT_ENTRADA.AsString = '' then
begin
tblTitulosDT_ENTRADA.AsDateTime := Date;
end;
if tblTitulosTP_SITUACAO.AsString = '' then
begin
tblTitulosTP_SITUACAO.AsString := 'A';
end;
tblTitulosID_ULTIMO_USUARIO.AsInteger := id_usuario;
tblTitulosDT_HORA_ULTIMA_ATT.AsDateTime := Now;
tblTitulosID_IMPLANTACAO.AsInteger := id_usuario;
tblTitulosDT_IMPLANTACAO.AsDateTime := Now;
tit_state := 'dsInsert';
if (tblTitulosDT_PAGAMENTO.AsString = '') and
((tblTitulosTP_SITUACAO.AsString = 'B') or
(tblTitulosTP_SITUACAO.AsString = 'QC')) then
begin
tblTitulosDT_PAGAMENTO.AsDateTime := Date;
end;
// RegistarLog(DataSet, 'CHG_TITULOS', 'inserir');
end;
if DataSet.State = dsEdit then
begin
acao := '';
if tblTitulosTP_SITUACAO.AsString = 'A' then
begin
if MessageDlg
('Você está prestes a abrir um título. Deseja zerar multa, juros, encargos e repasses?',
mtWarning, [mbyes, mbno], 0) = mrYes then
begin
tblTitulosVL_MULTA.Clear;
tblTitulosVL_JUROS.Clear;
tblTitulosVL_ENCARGOS.Clear;
tblTitulosVL_INDICADOR.Clear;
tblTitulosVL_CORRIGIDO.Clear;
tblTitulosVL_DESC_PRINCIPAL.Clear;
tblTitulosVL_DESC_MULTA.Clear;
tblTitulosVL_DESC_JUROS.Clear;
tblTitulosVL_DESC_INDICADOR.Clear;
tblTitulosVL_REPASSE_MULTA.Clear;
tblTitulosVL_REPASSE_JUROS.Clear;
tblTitulosVL_REPASSE_CORRIGIDO.Clear;
tblTitulosVL_REPASSE_PRIN.Clear;
tblTitulosVL_REPASSE_ENCARGOS.Clear;
end;
end;
tblTitulosID_ULTIMO_USUARIO.AsInteger := id_usuario;
tblTitulosDT_HORA_ULTIMA_ATT.AsDateTime := Now;
tit_state := 'dsEdit';
if (tblTitulosDT_PAGAMENTO.AsString = '') and
((tblTitulosTP_SITUACAO.AsString = 'B') or
(tblTitulosTP_SITUACAO.AsString = 'QC')) then
begin
tblTitulosDT_PAGAMENTO.AsDateTime := Date;
end;
if (tblTitulosTP_SITUACAO.AsString = 'A') or
(tblTitulosTP_SITUACAO.AsString = 'AC') then
begin
tblTitulosDT_PAGAMENTO.Clear;
tblTitulosDT_EMISSAO_RECIBO.Clear;
end;
if tblTitulosDT_PAGAMENTO.AsDateTime <> dt_pag then
begin
acao := acao + 'P:' + tblTitulosDT_PAGAMENTO.AsString + '-' +
DateToStr(dt_pag);
end;
if tblTitulosDT_EMISSAO_RECIBO.AsDateTime <> dt_recibo then
begin
acao := acao + 'R: ' + tblTitulosDT_EMISSAO_RECIBO.AsString + '-' +
DateToStr(dt_recibo);
end;
// RegistarLog(DataSet, 'CHG_TITULOS', 'editou ' + acao);
end;
if DataSet.State <> dsInsert then
begin
if CheckDiffFields(DataSet, fieldsTituloBefore) then
begin
LogDiffFields(DataSet, fieldsTituloBefore, 'CHG_TITULOS', 'edit');
end
else
begin
RegistarLog(DataSet, 'CHG_TITULOS', 'post');
end;
end
else
begin
LogPost(DataSet, 'CHG_TITULOS', 'insert');
end;
end;
procedure TdtmSystem.tblUsuariosAfterInsert(DataSet: TDataSet);
begin
tblUsuariosTP_ATIVO.AsString := 'S';
tblUsuariosTP_TROCAPASS.AsString := 'N';
end;
procedure TdtmSystem.tblUsuariosBeforeDelete(DataSet: TDataSet);
begin
LogDelete(DataSet, 'SYS_USUARIOS', 'delete');
end;
procedure TdtmSystem.tblUsuariosBeforeEdit(DataSet: TDataSet);
var
i: integer;
begin
SetLength(fields_before, DataSet.FieldCount);
for i := 0 to DataSet.FieldCount - 1 do
begin
fields_before[i] := DataSet.fields[i].AsString;
end;
end;
procedure TdtmSystem.tblUsuariosBeforeOpen(DataSet: TDataSet);
begin
if not tblGrupos.Active then
begin
tblUsuarios.SQL.Clear;
tblUsuarios.SQL.Add('select * from SYS_USUARIOS;');
end
else
begin
tblUsuarios.SQL.Clear;
tblUsuarios.SQL.Add('select * from SYS_USUARIOS where id_grupo =' +
inttostr(id_grupoq));
end;
end;
procedure TdtmSystem.tblUsuariosBeforePost(DataSet: TDataSet);
begin
if DataSet.State = dsInsert then
begin
tblUsuariosID_USUARIO.AsInteger := NovoCodigo('SYS_USUARIOS', 'ID_USUARIO');
end;
qryConsulta.SQL.Clear;
qryConsulta.SQL.Text :=
'select tx_nome from sys_usuarios where lower(tx_nome) = ' +
QuotedStr(LowerCase(tblUsuariosTX_NOME.AsString));
qryConsulta.Open;
if (qryConsulta.RecordCount <> 0) and not(dtsUsuarios.State in [dsEdit]) then
begin
MessageDlg('Já existe um Usuário com este nome.', mtWarning, [mbOK], 0);
tblUsuariosTX_NOME.AsString := '';
Abort;
end;
if DataSet.State <> dsInsert then
begin
if CheckDiffFields(DataSet, fields_before) then
begin
LogDiffFields(DataSet, fields_before, 'SYS_USUARIOS', 'edit');
end
else
begin
RegistarLog(DataSet, 'SYS_USUARIOS', 'post');
end;
end
else
begin
LogPost(DataSet, 'SYS_USUARIOS', 'insert');
end;
end;
procedure TdtmSystem.AtribuirChavePrimaria(DataSet: TDataSet);
begin
if DataSet.State = dsInsert then
begin
DataSet.fields[0].AsInteger := NovoCodigo((DataSet as TZTable).TableName,
DataSet.fields[0].FieldName);
end;
end;
function TdtmSystem.CheckDiffFields(DataSet: TDataSet;
fields: array of string): boolean;
var
i: integer;
diff: boolean;
begin
diff := false;
for i := 0 to DataSet.FieldCount - 1 do
begin
if fields[i] <> DataSet.fields[i].AsString then
begin
diff := true;
break
end;
end;
Result := diff;
end;
function TdtmSystem.ComputerName: string;
var
Buffer: array [0 .. MAX_COMPUTERNAME_LENGTH + 1] of Char;
Size: DWORD;
begin
Size := MAX_COMPUTERNAME_LENGTH + 1;
if GetComputerName(@Buffer, Size) then
begin
Result := StrPas(Buffer);
end
else
begin
Result := '';
end;
end;
procedure TdtmSystem.RegistarLog(DataSet: TDataSet; table, action: string);
begin
tblLog.Append;
tblLogTX_TABELA.AsString := table;
tblLogID_REGISTRO.AsInteger := DataSet.fields[0].AsInteger;
tblLogTX_ACAO.AsString := action;
tblLog.Post;
end;
procedure TdtmSystem.SetupHackedNavigator(const Navigator: TDBNavigator;
const Glyphs: TImageList; S: string);
const
Captions: array [TNavigateBtn] of string = ('Primeiro', 'Anterior', 'Próximo',
'Último', 'Adicionar', 'Excluir', 'Alterar', 'Confirmar', 'Cancelar',
'Atualizar', 'Aplicar Atualizações', 'Cancelar Atualizãções');
(* Captions : array[TNavigateBtn] of string =
('First', 'Prior', 'Next', 'Last', 'Insert',
'Delete', 'Edit', 'Post', 'Cancel', 'Refresh'); *)
Hints: array [TNavigateBtn] of string = ('Primeiro', 'Anterior', 'Próximo',
'Último', 'Adicionar', 'Apagar', 'Modificar', 'Confirmar', 'Cancelar',
'Atualizar', 'Aplicar Atualizações', 'Cancelar Atualizãções');
var
btn: TNavigateBtn;
begin
// função propriamente dita para "hackear" o navigator
for btn := Low(TNavigateBtn) to High(TNavigateBtn) do
with THackDBNavigator(Navigator).Buttons[btn] do
begin
// from the Captions const array
Hint := Hints[btn];
if LowerCase(S) = 's' then
begin
Caption := Captions[btn];
end;
// the number of images in the Glyph property
NumGlyphs := 1;
// Remove the old glyph.
Glyph := nil;
// Assign the custom one
Glyphs.GetBitmap(integer(btn), Glyph);
// gylph above text
Layout := blGlyphTop;
Font.Style := Font.Style - [fsbold];
end;
end;
// procedimento para adicionar uma permissão a tabela de permissões
procedure TdtmSystem.InserirPermissao(cd_permissao, tp_permissao,
tx_descricao: string);
var
id_parent: integer;
begin
with dtmSystem do
// com as tabelas do dtmSystem...
begin
// Procura se a entrada possui um pai
if tblPermissoes.Locate('CD_PERMISSAO',
copy(cd_permissao, 1, Length(cd_permissao) - 3), []) then
begin
id_parent := tblPermissoesID_PERMISSAO.AsInteger;
end
else
begin
id_parent := 0;
// se não ela é um pai
end;
// procura se a entrada existe ou não
if not tblPermissoes.Locate('CD_PERMISSAO', cd_permissao, []) then
begin
tblPermissoes.Append; // se não, adiciona
end
else
begin
tblPermissoes.Edit; // se sim, edita
end;
// atualiza os dados da permissão
tblPermissoesID_PARENT.AsInteger := id_parent;
tblPermissoesCD_PERMISSAO.AsString := cd_permissao;
tblPermissoesTP_ACESSO.AsString := tp_permissao;
tblPermissoesTX_DESCRICAO.AsString := tx_descricao;
tblPermissoes.Post;
Application.ProcessMessages;
end;
end;
procedure TdtmSystem.JsonBuilder(table: TZTable; model: string; pk: string);
var
i: integer;
str_helper: string;
str_list: TStringList;
begin
str_helper := '';
with table do
begin
str_list := TStringList.Create;
str_list.Add('model=' + 'cobranca.' + model);
str_list.Add('pk=' + FieldByName(pk).AsString);
str_list.Add('fields=');
for i := 0 to FieldCount - 1 do
begin
if fields[i].FieldName <> pk then
begin
str_list.Add(fields[i].FieldName + '=' + fields[i].AsString);
end;
end;
end;
// indyHTTP.Post('http://192.168.0.154:8000/api/cobranca/devedores', str_list);
end;
procedure TdtmSystem.JsonBuilderOnline(table: TZTable; model, pk: string;
url: string);
var
Modelo: TJSONObject;
dados, dadoshelp: TJSONObject;
modarray { , dadosarray } : TJSONArray;
estava_aberta: boolean;
recno: integer;
jsondatehelper: TDateTime;
jsonfloathelper: double;
jsoninthelper: integer;
i: integer;
begin
if not(table.Active) then
begin
table.Open;
estava_aberta := false;
end
else
begin
estava_aberta := true;
recno := table.recno;
end;
table.First;
Modelo := TJSONObject.Create;
try
modarray := TJSONArray.Create;
while not table.Eof do
begin
try
dados := TJSONObject.Create;
with dados do
begin
AddPair('model', TJSONString.Create(model));
AddPair('pk', TJSONNumber.Create(table.FieldByName(pk).AsInteger));
// dadosarray := TJSONArray.Create;
dadoshelp := TJSONObject.Create;
with dadoshelp do
begin
for i := 0 to table.FieldCount - 1 do
begin
if table.fields[i].FieldName <> table.FieldByName(pk).FieldName
then
begin
if table.fields[i].IsNull then
begin
AddPair(TJSONString.Create(table.fields[i].FieldName),
TJSONNull.Create);
end
else
begin
if TryStrToDateTime(table.fields[i].AsString, jsondatehelper)
= true then
begin
AddPair(TJSONString.Create(table.fields[i].FieldName),
TJSONString.Create(FormatDateTime('YYYY-MM-DD',
table.fields[i].AsDateTime)));
end
else if (TryStrToInt(table.fields[i].AsString, jsoninthelper)
= true) or
(TryStrToFloat(table.fields[i].AsString, jsonfloathelper)
= true) then
begin
AddPair(TJSONString.Create(table.fields[i].FieldName),
TJSONNumber.Create(table.fields[i].AsInteger));
end
else
begin
AddPair(TJSONString.Create(table.fields[i].FieldName),
TJSONString.Create(table.fields[i].AsString));
end;
end;
end;
end;
end;
AddPair('fields', dadoshelp);
end;
modarray.AddElement(dados);
finally
table.Next;
Application.ProcessMessages;
end;
end;
Modelo.AddPair(model + '-title', modarray);
if estava_aberta = true then
begin
table.recno := recno;
end
else
begin
table.Close;
end;
finally
// indyHTTP.Post(url, Modelo.ToString);
Modelo.Free;
Screen.Cursor := crDefault;
end;
end;
procedure TdtmSystem.LogaDC(txt: string);
var
path: string;
begin
path := ExtractFilePath(Application.ExeName);
path := path + 'log';
if not DirectoryExists(path) then
begin
CreateDir(path);
end;
AssignFile(log, path + '\errorLog.txt');
if FileExists(path + '\errorLog.txt') then
begin
Append(log);
Writeln(log, DateTimeToStr(Now));
Writeln(log, '');
Writeln(log, '');
Writeln(log, txt);
Writeln(log, '');
Writeln(log, '');
end
else
begin
Rewrite(log);
Writeln(log, DateTimeToStr(Now));
Writeln(log, '');
Writeln(log, '');
Writeln(log, txt);
Writeln(log, '');
Writeln(log, '');
end;
CloseFile(log);
end;
procedure TdtmSystem.LogDelete(DataSet: TDataSet; table, action: string);
var
i: integer;
str_help: string;
fields: array of string;
begin
// SetLength(fields, DataSet.FieldCount);
// for i := 0 to DataSet.FieldCount - 1 do
// begin
// fields[i] := DataSet.fields[i].AsString;
// end;
str_help := 'Antes de deletar:' + sLineBreak;
for i := 0 to DataSet.FieldCount - 1 do
begin
str_help := str_help + DataSet.fields[i].FieldName + ': ' + DataSet.fields
[i].AsString + sLineBreak;
end;
tblLog.Append;
tblLogTX_TABELA.AsString := table;
tblLogID_REGISTRO.AsInteger := DataSet.fields[0].AsInteger;
tblLogTX_ACAO.AsString := action;
tblLogTL_ACAO.AsString := str_help;
tblLog.Post;
end;
procedure TdtmSystem.LogDiffFields(DataSet: TDataSet; fields: array of string;
table: string; action: string);
var
i: integer;
str_help: string;
strAntes, strDepois: string;
begin
// str_help := 'Antes de editar:' + sLineBreak;
strAntes := Format('%s%s', ['Antes de editar:', sLineBreak]);
strDepois := Format('%s%s', ['Depois de editar:', sLineBreak]);
for i := 0 to Length(fields) - 1 do
begin
// str_help := str_help + DataSet.fields[i].FieldName + ': ' + fields[i] +
// sLineBreak;
if DataSet.fields[i].AsString <> fields[i] then
begin
strAntes := Format('%s%s: %s%s', [strAntes, DataSet.fields[i].FieldName,
fields[i], sLineBreak]);
strDepois := Format('%s%s: %s%s', [strDepois, DataSet.fields[i].FieldName,
DataSet.fields[i].AsString, sLineBreak]);
end;
end;
str_help := strAntes + sLineBreak + strDepois;
// str_help := str_help + sLineBreak + 'Depois de editar:' + sLineBreak;
// for i := 0 to DataSet.FieldCount - 1 do
// begin
// str_help := str_help + DataSet.fields[i].FieldName + ': ' + DataSet.fields
// [i].AsString + sLineBreak;
// end;
tblLog.Append;
tblLogTX_TABELA.AsString := table;
tblLogID_REGISTRO.AsInteger := DataSet.fields[0].AsInteger;
tblLogTX_ACAO.AsString := action;
tblLogTL_ACAO.AsString := str_help;
tblLog.Post;
end;
procedure TdtmSystem.LogPost(DataSet: TDataSet; table, action: string;
sequence: TZSequence = nil);
var
i: integer;
str_help: string;
// fields: array of string;
begin
str_help := 'Valores Iniciais:' + sLineBreak;
for i := 0 to DataSet.FieldCount - 1 do
begin
str_help := str_help + DataSet.fields[i].FieldName + ': ' + DataSet.fields
[i].AsString + sLineBreak;
end;
tblLog.Append;
tblLogTX_TABELA.AsString := table;
if Assigned(sequence) then
begin
// tblLogID_REGISTRO.AsInteger := DataSet.fields[i].AsInteger;
tblLogID_REGISTRO.AsInteger := sequence.GetCurrentValue + 1;
end
else
begin
tblLogID_REGISTRO.AsInteger := DataSet.fields[0].AsInteger;
end;
tblLogTX_ACAO.AsString := action;
tblLogTL_ACAO.AsString := str_help;
tblLog.Post;
end;
function TdtmSystem.VerificarPermissao(cd_permissao: string): boolean;
begin
{ if not tblGrupos.Active then
begin
tblGrupos.Open;
end;
Result := true;
// posiciona no grupo ativo
tblGrupos.Locate('ID_GRUPO', dtmSystem.id_grupo, []);
// procura a opção
if not(tblPermissoes.Active) then
begin
tblPermissoes.Open;
end;
if not(tblGruposPermissoes.Active) then
begin
tblGruposPermissoes.Open;
end;
if tblPermissoes.Locate('CD_PERMISSAO', cd_permissao, []) then
begin
// Retorna o acesso
if tblGruposPermissoes.Locate('ID_PERMISSAO',
tblPermissoesID_PERMISSAO.AsString, []) then
begin
if tblGruposPermissoesTP_ACESSO.Value = 'S' then
begin
Result := true;
while tblPermissoesID_PARENT.AsString <> '0' do
begin
tblPermissoes.Locate('ID_PERMISSAO',
tblPermissoesID_PARENT.AsString, []);
tblGruposPermissoes.Locate('ID_PERMISSAO',
tblPermissoesID_PERMISSAO.AsString, []);
if tblGruposPermissoesTP_ACESSO.Value = 'S' then
begin
Result := true;
end
else
begin
Result := false;
Break;
end;
end;
end
else
begin
Result := false;
end;
end;
end
else
begin
Result := false;
end; }
if cd_value.Values[cd_permissao] = 'S' then
begin
Result := true;
while cd_parent.Values[cd_permissao] <> '0' do
begin
cd_permissao := cd_parent.Names
[strtoint(cd_parent.Values[cd_permissao]) - 1];
if cd_value.Values[cd_permissao] = 'S' then
begin
Result := true;
end
else
begin
Result := false;
break;
end;
end;
end
else
begin
Result := false;
end;
end;
function TdtmSystem.VerificarVersao: boolean;
var
prog_version, update_version: TStringList;
res: boolean;
begin
// DELPHI_DEV-PC
// showmessage(dtmSystem.GetAppVersionStr + ' - ' + dtmSystem.version);
res := false;
prog_version := TStringList.Create;
try
prog_version.Clear;
prog_version.Delimiter := '.';
prog_version.DelimitedText := dtmSystem.GetAppVersionStr;
finally
end;
update_version := TStringList.Create;
try
update_version.Clear;
update_version.Delimiter := '.';
update_version.DelimitedText := version;
finally
end;
if prog_version[0] <> update_version[0] then
begin
res := true;
end
else if prog_version[1] <> update_version[1] then
begin
res := true;
end
else if prog_version[2] <> update_version[2] then
begin
res := true;
end
else if prog_version[3] <> update_version[3] then
begin
res := true;
end;
Result := res;
end;
procedure TdtmSystem.ZConnectionAfterDisconnect(Sender: TObject);
begin
// LogaDC('desconectou' + inttostr(dtmSystem.id_usuario))
end;
procedure TdtmSystem.AlterReadOnly;
var
i: integer;
begin
if DataSet.State in [dsBrowse] then
begin
for i := 0 to objeto.ControlCount - 1 do
begin
if objeto.Controls[i] is TDBEdit then
begin
(objeto.Controls[i] as TDBEdit).ReadOnly := true;
end;
if objeto.Controls[i] is TDBGrid then
begin
(objeto.Controls[i] as TDBGrid).ReadOnly := true;
end;
if objeto.Controls[i] is TPanel then
begin
(objeto.Controls[i] as TPanel).Enabled := false;
end;
if objeto.Controls[i] is TCheckListBox then
begin
(objeto.Controls[i] as TCheckListBox).Enabled := false;
end;
if objeto.Controls[i] is TDBLookupComboBox then
begin
(objeto.Controls[i] as TDBLookupComboBox).ReadOnly := true;
end;
if objeto.Controls[i] is TDBLookupComboBox then
begin
(objeto.Controls[i] as TDBLookupComboBox).ReadOnly := true;
end;
if objeto.Controls[i] is TrDBDateTimePicker then
begin
(objeto.Controls[i] as TrDBDateTimePicker).ReadOnly := true;
end;
end;
end
else
begin
for i := 0 to objeto.ControlCount - 1 do
begin
if objeto.Controls[i] is TDBEdit then
begin
(objeto.Controls[i] as TDBEdit).ReadOnly := false;
end;
if objeto.Controls[i] is TDBGrid then
begin
(objeto.Controls[i] as TDBGrid).ReadOnly := false;
end;
if objeto.Controls[i] is TPanel then
begin
(objeto.Controls[i] as TPanel).Enabled := true;
end;
if objeto.Controls[i] is TCheckListBox then
begin
(objeto.Controls[i] as TCheckListBox).Enabled := true;
end;
if objeto.Controls[i] is TDBLookupComboBox then
begin
(objeto.Controls[i] as TDBLookupComboBox).ReadOnly := false;
end;
if objeto.Controls[i] is TrDBDateTimePicker then
begin
(objeto.Controls[i] as TrDBDateTimePicker).ReadOnly := false;
end;
end;
end;
end;
end.