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
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.
|