diff --git a/Cobrança.dpr b/Cobrança.dpr index 5f76abd..6b49698 100644 --- a/Cobrança.dpr +++ b/Cobrança.dpr @@ -54,7 +54,6 @@ uses ufrmFechamentoAtendimento in 'ufrmFechamentoAtendimento.pas' {frmFechamentoAtendimento}, ufrmFechamentoDevedor in 'ufrmFechamentoDevedor.pas' {frmFechamentoDevedor}, ufrmFichaTitulos in 'ufrmFichaTitulos.pas' {frmFichaTitulos}, - ufrmGrupoBoletoEmpresas in 'ufrmGrupoBoletoEmpresas.pas' {frmGrupoBoletoEmpresas}, ufrmImpTCC in 'ufrmImpTCC.pas' {frmImpTCC}, ufrmLiberaPermissao in 'ufrmLiberaPermissao.pas' {frmLiberaPermissao}, ufrmLogActions in 'ufrmLogActions.pas' {frmLogActions}, @@ -82,7 +81,8 @@ uses urelRecibosEmitidos in 'urelRecibosEmitidos.pas' {relRecibosEmitidos}, urelRelacaoAcordo in 'urelRelacaoAcordo.pas' {relRelacaoAcordo}, urelTeste in 'urelTeste.pas' {relTeste}, - ufrmRemessa in 'ufrmRemessa.pas' {frmRemessa}; + ufrmRemessa in 'ufrmRemessa.pas' {frmRemessa}, + uHelperFunctions in 'uHelperFunctions.pas'; {$R *.res} @@ -92,6 +92,5 @@ begin Application.Title := 'Nexverse - Cobrança Multi-Empresas'; Application.CreateForm(TdtmSystem, dtmSystem); Application.CreateForm(TfrmCobranca, frmCobranca); - Application.CreateForm(TfrmLogin, frmLogin); Application.Run; end. diff --git a/Cobrança.dproj b/Cobrança.dproj index 05147a6..5874520 100644 --- a/Cobrança.dproj +++ b/Cobrança.dproj @@ -72,9 +72,9 @@ Cobrança_Icon1.ico - CompanyName=;FileDescription=;FileVersion=1.1.4.28;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.1.4.26;Comments= + CompanyName=;FileDescription=;FileVersion=1.1.4.32;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.1.4.26;Comments= 1 - 28 + 32 4 1033 true @@ -296,10 +296,6 @@
frmFichaTitulos
dfm - -
frmGrupoBoletoEmpresas
- dfm -
frmImpTCC
dfm @@ -412,6 +408,7 @@
frmRemessa
dfm
+ Cfg_2 Base @@ -823,13 +820,13 @@ 1 - + - - + + True diff --git a/Cobrança.res b/Cobrança.res index 241d641..292dfa9 100644 Binary files a/Cobrança.res and b/Cobrança.res differ diff --git a/Win32/Debug/CHARGE.FDB b/Win32/Debug/CHARGE.FDB index 5b0d988..10c6a8c 100644 Binary files a/Win32/Debug/CHARGE.FDB and b/Win32/Debug/CHARGE.FDB differ diff --git a/Win32/Debug/certificado/Inter API_Certificado.crt b/Win32/Debug/certificado/Inter API_Certificado.crt new file mode 100644 index 0000000..939515f --- /dev/null +++ b/Win32/Debug/certificado/Inter API_Certificado.crt @@ -0,0 +1,27 @@ +-----BEGIN CERTIFICATE----- +MIIEhTCCA22gAwIBAgIRALXCoTnuHLR/wI9k1WECVxQwDQYJKoZIhvcNAQELBQAw +gYoxCzAJBgNVBAYTAkJSMRUwEwYDVQQIDAxNaW5hcyBHZXJhaXMxFzAVBgNVBAcM +DkJlbG8gSG9yaXpvbnRlMQwwCgYDVQQKDANBUEkxCzAJBgNVBAsMAklUMTAwLgYD +VQQDDCdBUEkgSW50ZXJtZWRpYXRlIENlcnRpZmljYXRlIEF1dGhvcml0eQkwHhcN +MjMwNTA0MTMxMTI1WhcNMjQwNTAzMTQxMTI1WjCBmTELMAkGA1UEBhMCQlIxCzAJ +BgNVBAgTAlJKMRMwEQYDVQQHEwpQRVRST1BPTElTMS0wKwYDVQQLEyRkNjVjODg0 +Mi01MDMyLTQzYTEtODRlOC1mMDU5Y2M1MWVhNjgxDTALBgNVBAoTBG51bGwxKjAo +BgNVBAMTIUNPQkVTIEFTU0VTU09SSUEgREUgU0VSVklDT1MgTFREQTCCASIwDQYJ +KoZIhvcNAQEBBQADggEPADCCAQoCggEBAI9uu3LZhShBbcvHk0AYeLa5OX5xvm1l +0ypiJ+kykhPX++k258oxWLhdi0VRZjO4X/LxO/t+OZf1MzUUEXWmgwrvURqg6kr7 +UZWEbthjty866yrP2snFo55OverzWDA6YOAPkKek3ZhpKqZoCDM73HZxCAgI34km +Goi4+yH6gt45AWOdPt5+ri4xGjhffoc0xcQek7I9wnNWFSoIJ7c9YGKNj2hZrOCJ +LSGVg2iNYcRAr4VNe0NDrZJ/5YRE2taAWLDsCn8jLe6ff6uAZQyCGH9wn9E9AlaZ +NoqtmgTXffUXZs7E5Z0FIIAh//igmQUzF7d3mlzzYfXQEmUvoJnZ1OECAwEAAaOB +1DCB0TAJBgNVHRMEAjAAMB8GA1UdIwQYMBaAFBQVaf009BEI/1m7ThnMlZciiuA8 +MB0GA1UdDgQWBBT4PuzZYWscbSRt/SacBDd3jkfT1TAOBgNVHQ8BAf8EBAMCBaAw +HQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMFUGA1UdHwROMEwwSqBIoEaG +RGh0dHA6Ly9jcmwtYXBpLmJpLmxvY2FsL2NybC8xOTM2NGU3Ni1jNGJlLTQwYjYt +OWM3MS1hM2E3YjQwNDc0YTQuY3JsMA0GCSqGSIb3DQEBCwUAA4IBAQC9S4gCYFyc +7CIWRj1zJd2NRppXeYdA0MmnYgA2D+VfUP+cv8m5+uAYHJl5Zm6qbEuGBZBJmIEx +xhlvPZWPO/AeVle6QFGOWqOq3Q2zetrmH0HAVSOA0f/5jwRGkkLEY5BeF1lMtMsb +/nljW2GtX91davRZENbsFEHYvqt+fxVQsvyAwMg+b5Y6y6h75haYWQIJsMgCZ/Hn +av7OWQMdBwhcwWNmGwUH/bL5xFDI5Vh0i0HjWsAyXjMs+fiI3D0bz2c6LhnDNKw9 +nSzwrfPKJw/UbSQ7AKSwl03Y+jdYFeUAdReYSDNGI2Tjj3/XHmj+aOSSBfBC82oF +WYsrpDPaBvfg +-----END CERTIFICATE----- \ No newline at end of file diff --git a/Win32/Debug/certificado/Inter API_Chave.key b/Win32/Debug/certificado/Inter API_Chave.key new file mode 100644 index 0000000..21aac39 --- /dev/null +++ b/Win32/Debug/certificado/Inter API_Chave.key @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCPbrty2YUoQW3L +x5NAGHi2uTl+cb5tZdMqYifpMpIT1/vpNufKMVi4XYtFUWYzuF/y8Tv7fjmX9TM1 +FBF1poMK71EaoOpK+1GVhG7YY7cvOusqz9rJxaOeTr3q81gwOmDgD5CnpN2YaSqm +aAgzO9x2cQgICN+JJhqIuPsh+oLeOQFjnT7efq4uMRo4X36HNMXEHpOyPcJzVhUq +CCe3PWBijY9oWazgiS0hlYNojWHEQK+FTXtDQ62Sf+WERNrWgFiw7Ap/Iy3un3+r +gGUMghh/cJ/RPQJWmTaKrZoE1331F2bOxOWdBSCAIf/4oJkFMxe3d5pc82H10BJl +L6CZ2dThAgMBAAECggEAFtpjz3bM+o8COXfBBHNhuGtmt7jTyIZy0Mv24/cEw1ik +cJIo+FRIeIefCxpfGFqGHyVEk1uXPZj54bki1wYC1xkuaPm+mtfUNeh16NBqfYH7 +ukSH7aIp4a1WITtIj9adXNXeDHf+Pqxy+TSWKeOdytlTmEQhqa6Ch8pBaTaK53Ec +c7wTicTbDT/HKI/06aQ7Aet5YMEfYuoKi3DicOc0MJ8fJgc004/rPAJg90RqohLT +buoRRSnx7aQQ0uW5bU34VA4yHkj7rLkbyoF/v/bljGVN6wvIoVc4aDNvy67fkq3G +6Nb+aT9CbZnrYpqB+Le5i0RIzXUNHY8/0UaD17nW4QKBgQDRa7A3WVWTHyiK5k3e +VtETBepu9pzBxnZRsFXN3jkbJsevSWu73NUBrKEKuOFVrZiW05cj80LlsyYh2hyR +37iZztaMZHIZ5omiabwIojsYrI91/D2LAkC+s+WE4ak99KmZal3CLg1b2lkA49H5 +yhrL8+yyMd4Egxen9pEAZO4QbQKBgQCvVbZsukDd0HKCdzVVnrvw9jx/C6/nt3qr +2rKMzEbhEFjIggQVVDKB88/rCg3303IsKqOnsi+Ui5pUPRhXZ0azT4+tjmHLE/st +iHDNi/77bZsjDpHWOrSCP4T08cnM1bAz55FfvOOTGnl9eZJx2HLN0svGicTv8Wl9 +AK4Xvh9VxQKBgH0sJNOwbdnWEeGT7o8qzSTVsF5KwT+BZE9HWsIGRZPZBhnbhK1x +PVAW4tsJzoXrkPz1060FRcMN5YjuWY1Hb4tfehXII/sfNL0C/gUbEr+YxNb8wbxI +yHI0DMf0KbiCeKzeStQ5unpgdDp38ZWgG4w0bBHGhLGluYoHcnwN182xAoGAI6xW +v2xtwjOk+LJ0YYU4S+BtkpO4KHcGOGz4ovj0+tmulq0NU6Gb3SDUDsgu61tUAXRz +c60nTRvSPI1ppG7YzabEXtV3RDA+jJcUDF4NdO5qAAn41hN/onh1/rgrDMf1X7of +s9DkpItgaI0RpKQbR5E58J0bOo5tngdDZIVELtkCgYAXHoeVL2AAU/V+vgLt5Ev3 +viqktu3iY1Z9RQiyStzyL+hF7Rqqy9LdMGqEqPAf/haq8WvAoxqTCJZcEiUxdAS2 +sTTo5xPB9cfXadxQhRYAmGtM4DJcgF44V8BVW5w/w7j4HjE4Lytwt+lshcICXUWy +lT3KjYdjwtBDeUUB2eq/1g== +-----END PRIVATE KEY----- diff --git a/Win32/Debug/sistema.ini b/Win32/Debug/sistema.ini index 16c11f6..60693f1 100644 --- a/Win32/Debug/sistema.ini +++ b/Win32/Debug/sistema.ini @@ -1,9 +1,11 @@ [dados] -dir=localhost:E:\Programa_Cobranca\Win32\Debug\CHARGE.FDB +dir=localhost:E:\Programa_Cobranca\Win32\Debug\CHARGE.GDB ; dir=COB-SERVER/3051:C:\Nexverse\Banco de Dados\CHARGE.GDB path=E:\Programa_Cobranca\Win32\Debug ;path=\\COB-SERVER\Nexverse\Banco de Testes -bkp=E:\Programa_Cobranca\Win32\Debug\BKP_EXE +att=\\COB-SERVER\Nexverse\Banco de Dados +bkp=\BKP_EXE +exe=Cobrança [Backup] path_db=E:\Programa_Cobranca\Win32\Debug\ path_bkp=E:\Programa_Cobranca\Win32\Debug\BACKUP_BANCO @@ -11,7 +13,7 @@ host=localhost [DEVELOPER] admin=sim [cert] -pub-key=C:\Certificado\nexverse-pub.pem -priv-key=C:\Certificado\nexverse-private.pem -cert-key=C:\Certificado\certificado.crt -cc=80971431 +pub-key=\\COB-SERVER\Nexverse\Banco de Dados\certificado\Inter API_Certificado.crt +priv-key=\\COB-SERVER\Nexverse\Banco de Dados\certificado\Inter API_Chave.key +cert-key=\\COB-SERVER\Nexverse\Banco de Dados\certificado\Inter API_Certificado.crt +;E:\Programa_Cobranca\Win32\Debug\certificado\ \ No newline at end of file diff --git a/Win32/Debug/version_control.ini b/Win32/Debug/version_control.ini index d50353e..d1cf215 100644 --- a/Win32/Debug/version_control.ini +++ b/Win32/Debug/version_control.ini @@ -1,2 +1,2 @@ [Dados] -version=1.1.4.28 \ No newline at end of file +version=1.1.4.32 \ No newline at end of file diff --git a/ucadCampanha.dfm b/ucadCampanha.dfm index 53ff826..995a8f9 100644 --- a/ucadCampanha.dfm +++ b/ucadCampanha.dfm @@ -8,7 +8,7 @@ OnMouseWheel = FormMouseWheel OnShow = FormShow ExplicitWidth = 866 - ExplicitHeight = 721 + ExplicitHeight = 722 PixelsPerInch = 96 TextHeight = 13 object Label1: TLabel [0] diff --git a/ucadCampanha.pas b/ucadCampanha.pas index 83c6247..c2bd2f1 100644 --- a/ucadCampanha.pas +++ b/ucadCampanha.pas @@ -2190,3 +2190,6 @@ begin end; end. + + + diff --git a/ucadCredor.dfm b/ucadCredor.dfm index 03f40da..01f4c30 100644 --- a/ucadCredor.dfm +++ b/ucadCredor.dfm @@ -9,9 +9,9 @@ inherited cadCredor: TcadCredor PopupMenu = PopupMenu1 Scaled = False ShowHint = True - ExplicitTop = -37 + ExplicitTop = -118 ExplicitWidth = 1066 - ExplicitHeight = 634 + ExplicitHeight = 635 PixelsPerInch = 96 TextHeight = 13 object spdbtn_pesquisa: TSpeedButton [0] @@ -406,7 +406,7 @@ inherited cadCredor: TcadCredor Top = 3 Width = 720 Height = 380 - ActivePage = tabRepasses + ActivePage = tabPolitica TabOrder = 0 object tabBasico: TTabSheet Caption = '&B'#225'sico' @@ -2625,7 +2625,7 @@ inherited cadCredor: TcadCredor Left = 784 Top = 56 Bitmap = { - 494C01010C001800500210001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 + 494C01010C001800540210001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 0000000000003600000028000000400000004000000001002000000000000040 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 diff --git a/ucadDevedores.dfm b/ucadDevedores.dfm index d932ccb..632e844 100644 --- a/ucadDevedores.dfm +++ b/ucadDevedores.dfm @@ -6,7 +6,7 @@ inherited cadDevedores: TcadDevedores Menu = MainMenu1 PopupMenu = PopupMenu1 Scaled = False - ExplicitTop = -177 + ExplicitTop = -198 ExplicitWidth = 1121 ExplicitHeight = 736 PixelsPerInch = 96 @@ -52,7 +52,7 @@ inherited cadDevedores: TcadDevedores Top = 13 Width = 1084 Height = 525 - ActivePage = tabTitulos + ActivePage = tabBoletos Font.Name = 'MS Sans Serif' TabStop = False TabWidth = 120 @@ -357,8 +357,8 @@ inherited cadDevedores: TcadDevedores Top = 25 Width = 121 Height = 21 - Date = 43171.000000000000000000 - Time = 43171.000000000000000000 + Date = 43445.000000000000000000 + Time = 43445.000000000000000000 TabOrder = 2 Caption = '' DataField = 'DT_CADASTRO' @@ -369,8 +369,8 @@ inherited cadDevedores: TcadDevedores Top = 71 Width = 121 Height = 21 - Date = 43171.000000000000000000 - Time = 43171.000000000000000000 + Date = 43445.000000000000000000 + Time = 43445.000000000000000000 TabOrder = 6 Caption = '' DataField = 'DT_NASC' @@ -3503,6 +3503,665 @@ inherited cadDevedores: TcadDevedores OnClick = btn_cancelarClick end end + object tabBoletos: TTabSheet + Caption = 'Boletos' + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + ImageIndex = 7 + ParentFont = False + object Label13: TLabel + Left = 16 + Top = 16 + Width = 49 + Height = 13 + Caption = 'Endere'#231'o:' + end + object Label14: TLabel + Left = 428 + Top = 16 + Width = 45 + Height = 13 + Caption = 'Telefone:' + end + object Label17: TLabel + Left = 588 + Top = 16 + Width = 28 + Height = 13 + Caption = 'Email:' + end + object Label25: TLabel + Left = 16 + Top = 368 + Width = 157 + Height = 13 + Caption = 'Dias p/ Cancelamento do Boleto:' + end + object Label26: TLabel + Left = 190 + Top = 368 + Width = 129 + Height = 13 + Caption = 'Dia do m'#234's p/ Vencimento:' + end + object Label27: TLabel + Left = 353 + Top = 368 + Width = 116 + Height = 13 + Caption = 'Valor Nominal do Boleto:' + end + object Label28: TLabel + Left = 475 + Top = 368 + Width = 83 + Height = 13 + Caption = 'Sufixo p/ Seu N'#186':' + end + object DBLookupComboBox2: TDBLookupComboBox + Left = 16 + Top = 35 + Width = 406 + Height = 21 + DataField = 'ID_ENDERECO_BOLETO' + DataSource = dtsDB + KeyField = 'ID_ENDERECO' + ListField = 'TX_ENDERECO_COMPLETO' + ListSource = dtsEnderecos + TabOrder = 0 + end + object DBLookupComboBox3: TDBLookupComboBox + Left = 428 + Top = 35 + Width = 140 + Height = 21 + DataField = 'ID_TELEFONE_BOLETO' + DataSource = dtsDB + KeyField = 'ID_TELEFONE' + ListField = 'TX_TELEFONE_COMPLETO' + ListSource = dtsTelefones + TabOrder = 1 + end + object DBLookupComboBox4: TDBLookupComboBox + Left = 588 + Top = 35 + Width = 280 + Height = 21 + DataField = 'ID_EMAIL_BOLETO' + DataSource = dtsDB + KeyField = 'ID_EMAIL' + ListField = 'TX_EMAIL' + ListSource = dtsEmail + TabOrder = 2 + end + object gbMensagemBoleto: TGroupBox + Left = 16 + Top = 62 + Width = 552 + Height = 155 + Caption = 'Mensagem:' + TabOrder = 3 + object Label49: TLabel + Left = 8 + Top = 20 + Width = 38 + Height = 13 + Caption = 'Linha 1:' + end + object Label50: TLabel + Left = 8 + Top = 47 + Width = 38 + Height = 13 + Caption = 'Linha 2:' + end + object Label51: TLabel + Left = 8 + Top = 74 + Width = 38 + Height = 13 + Caption = 'Linha 3:' + end + object Label52: TLabel + Left = 8 + Top = 101 + Width = 38 + Height = 13 + Caption = 'Linha 4:' + end + object Label57: TLabel + Left = 8 + Top = 128 + Width = 38 + Height = 13 + Caption = 'Linha 5:' + end + object dbEdtLinha1Boleto: TDBEdit + Left = 52 + Top = 17 + Width = 493 + Height = 21 + DataField = 'TX_MENSAGEM_BOLETO_1' + DataSource = dtsDB + TabOrder = 0 + end + object dbEdtLinha2Boleto: TDBEdit + Left = 52 + Top = 44 + Width = 493 + Height = 21 + DataField = 'TX_MENSAGEM_BOLETO_2' + DataSource = dtsDB + TabOrder = 1 + end + object dbEdtLinha3Boleto: TDBEdit + Left = 52 + Top = 71 + Width = 493 + Height = 21 + DataField = 'TX_MENSAGEM_BOLETO_3' + DataSource = dtsDB + TabOrder = 2 + end + object dbEdtLinha4Boleto: TDBEdit + Left = 52 + Top = 98 + Width = 493 + Height = 21 + DataField = 'TX_MENSAGEM_BOLETO_4' + DataSource = dtsDB + TabOrder = 3 + end + object dbEdtLinha5Boleto: TDBEdit + Left = 52 + Top = 125 + Width = 493 + Height = 21 + DataField = 'TX_MENSAGEM_BOLETO_5' + DataSource = dtsDB + TabOrder = 4 + end + end + object GroupBox3: TGroupBox + Left = 16 + Top = 248 + Width = 280 + Height = 105 + Caption = 'Desconto 1:' + TabOrder = 4 + DesignSize = ( + 280 + 105) + object Label34: TLabel + Left = 181 + Top = 27 + Width = 27 + Height = 13 + Anchors = [akTop, akRight] + Caption = 'Taxa:' + ExplicitLeft = 143 + end + object Label35: TLabel + Left = 8 + Top = 55 + Width = 27 + Height = 13 + Caption = 'Valor:' + end + object Label22: TLabel + Left = 8 + Top = 74 + Width = 213 + Height = 13 + Caption = 'Qtd. Dias antes do Vencimento p/ Desconto:' + WordWrap = True + end + object DBLookupComboBox7: TDBLookupComboBox + Left = 8 + Top = 24 + Width = 168 + Height = 21 + DataField = 'TP_DESC_BOLETO_1' + DataSource = dtsDB + KeyField = 'ID_STATUS' + ListField = 'TX_DESCRICAO' + ListSource = dtmSystem.dtsDescBoleto + TabOrder = 0 + end + object DBEdit11: TDBEdit + Left = 215 + Top = 24 + Width = 57 + Height = 21 + DataField = 'PR_DESC_BOLETO_1' + DataSource = dtsDB + TabOrder = 1 + OnKeyPress = DBEdit11KeyPress + end + object DBEdit14: TDBEdit + Left = 41 + Top = 51 + Width = 108 + Height = 21 + DataField = 'VL_DESC_BOLETO_1' + DataSource = dtsDB + TabOrder = 2 + OnKeyPress = DBEdit5KeyPress + end + object DBEdit17: TDBEdit + Left = 238 + Top = 71 + Width = 34 + Height = 21 + DataField = 'NR_DIAS_DESC_BOLETO_1' + DataSource = dtsDB + TabOrder = 3 + OnKeyPress = DBEdit17KeyPress + end + end + object GroupBox4: TGroupBox + Left = 302 + Top = 248 + Width = 280 + Height = 105 + Caption = 'Desconto 2:' + TabOrder = 5 + DesignSize = ( + 280 + 105) + object Label37: TLabel + Left = 181 + Top = 27 + Width = 27 + Height = 13 + Anchors = [akTop, akRight] + Caption = 'Taxa:' + ExplicitLeft = 143 + end + object Label38: TLabel + Left = 8 + Top = 55 + Width = 27 + Height = 13 + Caption = 'Valor:' + end + object Label23: TLabel + Left = 8 + Top = 76 + Width = 213 + Height = 13 + Caption = 'Qtd. Dias antes do Vencimento p/ Desconto:' + WordWrap = True + end + object DBLookupComboBox8: TDBLookupComboBox + Left = 8 + Top = 24 + Width = 168 + Height = 21 + DataField = 'TP_DESC_BOLETO_2' + DataSource = dtsDB + KeyField = 'ID_STATUS' + ListField = 'TX_DESCRICAO' + ListSource = dtmSystem.dtsDescBoleto + TabOrder = 0 + end + object DBEdit12: TDBEdit + Left = 215 + Top = 24 + Width = 57 + Height = 21 + DataField = 'PR_DESC_BOLETO_2' + DataSource = dtsDB + TabOrder = 1 + OnKeyPress = DBEdit12KeyPress + end + object DBEdit15: TDBEdit + Left = 41 + Top = 51 + Width = 108 + Height = 21 + DataField = 'VL_DESC_BOLETO_2' + DataSource = dtsDB + TabOrder = 2 + OnKeyPress = DBEdit5KeyPress + end + object DBEdit18: TDBEdit + Left = 238 + Top = 73 + Width = 34 + Height = 21 + DataField = 'NR_DIAS_DESC_BOLETO_2' + DataSource = dtsDB + TabOrder = 3 + OnKeyPress = DBEdit18KeyPress + end + end + object GroupBox5: TGroupBox + Left = 588 + Top = 248 + Width = 280 + Height = 105 + Caption = 'Desconto 3:' + TabOrder = 6 + DesignSize = ( + 280 + 105) + object Label40: TLabel + Left = 181 + Top = 27 + Width = 27 + Height = 13 + Anchors = [akTop, akRight] + Caption = 'Taxa:' + ExplicitLeft = 143 + end + object Label41: TLabel + Left = 8 + Top = 55 + Width = 27 + Height = 13 + Caption = 'Valor:' + end + object Label24: TLabel + Left = 8 + Top = 76 + Width = 213 + Height = 13 + Caption = 'Qtd. Dias antes do Vencimento p/ Desconto:' + WordWrap = True + end + object DBLookupComboBox9: TDBLookupComboBox + Left = 8 + Top = 24 + Width = 168 + Height = 21 + DataField = 'TP_DESC_BOLETO_3' + DataSource = dtsDB + KeyField = 'ID_STATUS' + ListField = 'TX_DESCRICAO' + ListSource = dtmSystem.dtsDescBoleto + TabOrder = 0 + end + object DBEdit13: TDBEdit + Left = 215 + Top = 24 + Width = 57 + Height = 21 + DataField = 'PR_DESC_BOLETO_3' + DataSource = dtsDB + TabOrder = 1 + OnKeyPress = DBEdit13KeyPress + end + object DBEdit16: TDBEdit + Left = 41 + Top = 51 + Width = 108 + Height = 21 + DataField = 'VL_DESC_BOLETO_3' + DataSource = dtsDB + TabOrder = 2 + OnKeyPress = DBEdit5KeyPress + end + object DBEdit19: TDBEdit + Left = 238 + Top = 73 + Width = 34 + Height = 21 + DataField = 'NR_DIAS_DESC_BOLETO_3' + DataSource = dtsDB + TabOrder = 3 + OnKeyPress = DBEdit19KeyPress + end + end + object GroupBox7: TGroupBox + Left = 588 + Top = 62 + Width = 280 + Height = 87 + Caption = 'Multa:' + TabOrder = 7 + DesignSize = ( + 280 + 87) + object Label45: TLabel + Left = 182 + Top = 27 + Width = 27 + Height = 13 + Anchors = [akTop, akRight] + Caption = 'Taxa:' + ExplicitLeft = 159 + end + object Label46: TLabel + Left = 8 + Top = 55 + Width = 27 + Height = 13 + Caption = 'Valor:' + end + object Label18: TLabel + Left = 156 + Top = 50 + Width = 63 + Height = 26 + Caption = 'Qtd. Dias p/ Cobrar Multa:' + WordWrap = True + end + object DBLookupComboBox5: TDBLookupComboBox + Left = 8 + Top = 24 + Width = 168 + Height = 21 + DataField = 'TP_MULTA_BOLETO' + DataSource = dtsDB + KeyField = 'ID_STATUS' + ListField = 'TX_DESCRICAO' + ListSource = dtmSystem.dtsMultaBoleto + TabOrder = 0 + end + object DBEdit5: TDBEdit + Left = 41 + Top = 52 + Width = 108 + Height = 21 + DataField = 'VL_MULTA_BOLETO' + DataSource = dtsDB + TabOrder = 1 + OnKeyPress = DBEdit5KeyPress + end + object DBEdit6: TDBEdit + Left = 215 + Top = 24 + Width = 57 + Height = 21 + DataField = 'PR_MULTA_BOLETO' + DataSource = dtsDB + TabOrder = 2 + OnKeyPress = DBEdit6KeyPress + end + object DBEdit7: TDBEdit + Left = 238 + Top = 52 + Width = 34 + Height = 21 + DataField = 'NR_DIAS_MULTA_BOLETO' + DataSource = dtsDB + TabOrder = 3 + OnKeyPress = DBEdit7KeyPress + end + end + object GroupBox6: TGroupBox + Left = 588 + Top = 155 + Width = 280 + Height = 87 + Caption = 'Mora:' + TabOrder = 8 + DesignSize = ( + 280 + 87) + object Label19: TLabel + Left = 182 + Top = 27 + Width = 27 + Height = 13 + Anchors = [akTop, akRight] + Caption = 'Taxa:' + ExplicitLeft = 159 + end + object Label20: TLabel + Left = 8 + Top = 55 + Width = 27 + Height = 13 + Caption = 'Valor:' + end + object Label21: TLabel + Left = 156 + Top = 50 + Width = 61 + Height = 26 + Caption = 'Qtd. Dias p/ Cobrar Mora:' + WordWrap = True + end + object DBLookupComboBox6: TDBLookupComboBox + Left = 8 + Top = 24 + Width = 168 + Height = 21 + DataField = 'TP_MORA_BOLETO' + DataSource = dtsDB + KeyField = 'ID_STATUS' + ListField = 'TX_DESCRICAO' + ListSource = dtmSystem.dtsMoraBoleto + TabOrder = 0 + end + object DBEdit8: TDBEdit + Left = 41 + Top = 52 + Width = 108 + Height = 21 + DataField = 'VL_MORA_BOLETO' + DataSource = dtsDB + TabOrder = 1 + OnKeyPress = DBEdit5KeyPress + end + object DBEdit9: TDBEdit + Left = 215 + Top = 24 + Width = 57 + Height = 21 + DataField = 'PR_MORA_BOLETO' + DataSource = dtsDB + TabOrder = 2 + OnKeyPress = DBEdit9KeyPress + end + object DBEdit10: TDBEdit + Left = 238 + Top = 52 + Width = 34 + Height = 21 + DataField = 'NR_MORA_BOLETO' + DataSource = dtsDB + TabOrder = 3 + OnKeyPress = DBEdit10KeyPress + end + end + object DBEdit20: TDBEdit + Left = 16 + Top = 387 + Width = 157 + Height = 21 + DataField = 'NR_DIAS_AGENDA' + DataSource = dtsDB + TabOrder = 9 + OnKeyPress = DBEdit20KeyPress + end + object DBEdit21: TDBEdit + Left = 190 + Top = 387 + Width = 157 + Height = 21 + DataField = 'NR_DIA_VENCIMENTO' + DataSource = dtsDB + TabOrder = 10 + OnKeyPress = DBEdit21KeyPress + end + object DBEdit22: TDBEdit + Left = 353 + Top = 387 + Width = 116 + Height = 21 + DataField = 'VL_NOMINAL_BOLETO' + DataSource = dtsDB + TabOrder = 11 + OnKeyPress = DBEdit22KeyPress + end + object DBEdit23: TDBEdit + Left = 475 + Top = 387 + Width = 99 + Height = 21 + DataField = 'TX_SUFIXO_SEU_NUMERO' + DataSource = dtsDB + TabOrder = 12 + OnKeyPress = DBEdit23KeyPress + end + object GroupBox8: TGroupBox + Left = 588 + Top = 359 + Width = 485 + Height = 135 + Caption = 'Empresas dos T'#237'tulos dos Boletos' + TabOrder = 13 + object DBLookupComboBox10: TDBLookupComboBox + Left = 16 + Top = 24 + Width = 241 + Height = 21 + DataField = 'ID_EMPRESA' + DataSource = dtmSystem.dtsDevEmpBoletos + KeyField = 'ID_EMPRESA' + ListField = 'TX_NOME' + ListSource = dtmSystem.dtsCHGEmpresa + TabOrder = 0 + end + object DBGrid2: TDBGrid + Left = 16 + Top = 51 + Width = 457 + Height = 70 + DataSource = dtmSystem.dtsDevEmpBoletos + TabOrder = 1 + TitleFont.Charset = DEFAULT_CHARSET + TitleFont.Color = clWindowText + TitleFont.Height = -11 + TitleFont.Name = 'MS Sans Serif' + TitleFont.Style = [] + Columns = < + item + Expanded = False + FieldName = 'TX_EMPRESA' + Title.Caption = 'Empresa' + Width = 415 + Visible = True + end> + end + object DBNavigator1: TDBNavigator + Left = 273 + Top = 24 + Width = 198 + Height = 21 + DataSource = dtmSystem.dtsDevEmpBoletos + VisibleButtons = [nbInsert, nbDelete, nbEdit, nbPost, nbCancel, nbRefresh] + TabOrder = 2 + BeforeAction = DBNavigator1BeforeAction + end + end + end end end inherited stbStatus: TStatusBar @@ -3578,7 +4237,7 @@ inherited cadDevedores: TcadDevedores object ImageList1: TImageList Left = 792 Bitmap = { - 494C01010C001800840510001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 + 494C01010C0018009C0510001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 0000000000003600000028000000400000004000000001002000000000000040 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -4153,8 +4812,8 @@ inherited cadDevedores: TcadDevedores end object PopupMenu1: TPopupMenu OnPopup = PopupMenu1Popup - Left = 410 - Top = 258 + Left = 946 + Top = 418 object Copiar1: TMenuItem Caption = 'Copiar' OnClick = Copiar1Click @@ -4572,8 +5231,8 @@ inherited cadDevedores: TcadDevedores Top = 106 end object ppmnuQuebraAcordo: TPopupMenu - Left = 760 - Top = 374 + Left = 944 + Top = 294 object mnuQuebraAcordo: TMenuItem Caption = 'Quebrar Acordo' OnClick = mnuQuebraAcordoClick diff --git a/ucadDevedores.pas b/ucadDevedores.pas index 7779d9d..3f93f74 100644 --- a/ucadDevedores.pas +++ b/ucadDevedores.pas @@ -390,6 +390,76 @@ type cp_tel: TMenuItem; Label12: TLabel; DBLookupComboBox1: TDBLookupComboBox; + tabBoletos: TTabSheet; + DBLookupComboBox2: TDBLookupComboBox; + Label13: TLabel; + Label14: TLabel; + DBLookupComboBox3: TDBLookupComboBox; + DBLookupComboBox4: TDBLookupComboBox; + Label17: TLabel; + gbMensagemBoleto: TGroupBox; + Label49: TLabel; + Label50: TLabel; + Label51: TLabel; + Label52: TLabel; + Label57: TLabel; + dbEdtLinha1Boleto: TDBEdit; + dbEdtLinha2Boleto: TDBEdit; + dbEdtLinha3Boleto: TDBEdit; + dbEdtLinha4Boleto: TDBEdit; + dbEdtLinha5Boleto: TDBEdit; + GroupBox3: TGroupBox; + Label34: TLabel; + Label35: TLabel; + GroupBox4: TGroupBox; + Label37: TLabel; + Label38: TLabel; + GroupBox5: TGroupBox; + Label40: TLabel; + Label41: TLabel; + GroupBox7: TGroupBox; + Label45: TLabel; + Label46: TLabel; + DBLookupComboBox5: TDBLookupComboBox; + DBEdit5: TDBEdit; + DBEdit6: TDBEdit; + DBEdit7: TDBEdit; + Label18: TLabel; + GroupBox6: TGroupBox; + Label19: TLabel; + Label20: TLabel; + Label21: TLabel; + DBLookupComboBox6: TDBLookupComboBox; + DBEdit8: TDBEdit; + DBEdit9: TDBEdit; + DBEdit10: TDBEdit; + DBLookupComboBox7: TDBLookupComboBox; + DBLookupComboBox8: TDBLookupComboBox; + DBLookupComboBox9: TDBLookupComboBox; + DBEdit11: TDBEdit; + DBEdit12: TDBEdit; + DBEdit13: TDBEdit; + DBEdit14: TDBEdit; + DBEdit15: TDBEdit; + DBEdit16: TDBEdit; + Label22: TLabel; + DBEdit17: TDBEdit; + DBEdit18: TDBEdit; + Label23: TLabel; + DBEdit19: TDBEdit; + Label24: TLabel; + Label25: TLabel; + DBEdit20: TDBEdit; + Label26: TLabel; + DBEdit21: TDBEdit; + Label27: TLabel; + DBEdit22: TDBEdit; + Label28: TLabel; + DBEdit23: TDBEdit; + GroupBox8: TGroupBox; + DBLookupComboBox10: TDBLookupComboBox; + DBGrid2: TDBGrid; + DBNavigator1: TDBNavigator; procedure dbedt_cepKeyPress(Sender: TObject; var Key: Char); procedure FormCreate(Sender: TObject); procedure FormShow(Sender: TObject); @@ -516,6 +586,22 @@ type procedure mnuQuebraAcordoClick(Sender: TObject); procedure cp_teldddClick(Sender: TObject); procedure cp_telClick(Sender: TObject); + procedure DBEdit5KeyPress(Sender: TObject; var Key: Char); + procedure DBEdit6KeyPress(Sender: TObject; var Key: Char); + procedure DBEdit9KeyPress(Sender: TObject; var Key: Char); + procedure DBEdit11KeyPress(Sender: TObject; var Key: Char); + procedure DBEdit12KeyPress(Sender: TObject; var Key: Char); + procedure DBEdit13KeyPress(Sender: TObject; var Key: Char); + procedure DBEdit7KeyPress(Sender: TObject; var Key: Char); + procedure DBEdit10KeyPress(Sender: TObject; var Key: Char); + procedure DBEdit17KeyPress(Sender: TObject; var Key: Char); + procedure DBEdit18KeyPress(Sender: TObject; var Key: Char); + procedure DBEdit19KeyPress(Sender: TObject; var Key: Char); + procedure DBEdit20KeyPress(Sender: TObject; var Key: Char); + procedure DBEdit21KeyPress(Sender: TObject; var Key: Char); + procedure DBEdit22KeyPress(Sender: TObject; var Key: Char); + procedure DBEdit23KeyPress(Sender: TObject; var Key: Char); + procedure DBNavigator1BeforeAction(Sender: TObject; Button: TNavigateBtn); private old_id: Integer; old_id_tit: Integer; @@ -2600,6 +2686,192 @@ begin pnl_cheque.Enabled := dbcbx_tpcheque.Checked; end; +procedure TcadDevedores.DBEdit10KeyPress(Sender: TObject; var Key: Char); +begin + inherited; + if not(Key in [#8, '0' .. '9', + System.SysUtils.FormatSettings.DecimalSeparator]) then + begin + Key := #0; + end; + +end; + +procedure TcadDevedores.DBEdit11KeyPress(Sender: TObject; var Key: Char); +begin + inherited; + if not(Key in [#8, '0' .. '9', + System.SysUtils.FormatSettings.DecimalSeparator]) then + begin + Key := #0; + end + else if (Key = System.SysUtils.FormatSettings.DecimalSeparator) and + (Pos(Key, (Sender as TDBEdit).Text) > 0) then + begin + Key := #0; + end; +end; + +procedure TcadDevedores.DBEdit12KeyPress(Sender: TObject; var Key: Char); +begin + inherited; + if not(Key in [#8, '0' .. '9', + System.SysUtils.FormatSettings.DecimalSeparator]) then + begin + Key := #0; + end + else if (Key = System.SysUtils.FormatSettings.DecimalSeparator) and + (Pos(Key, (Sender as TDBEdit).Text) > 0) then + begin + Key := #0; + end; +end; + +procedure TcadDevedores.DBEdit13KeyPress(Sender: TObject; var Key: Char); +begin + inherited; + if not(Key in [#8, '0' .. '9', + System.SysUtils.FormatSettings.DecimalSeparator]) then + begin + Key := #0; + end + else if (Key = System.SysUtils.FormatSettings.DecimalSeparator) and + (Pos(Key, (Sender as TDBEdit).Text) > 0) then + begin + Key := #0; + end; +end; + +procedure TcadDevedores.DBEdit17KeyPress(Sender: TObject; var Key: Char); +begin + inherited; + if not(Key in [#8, '0' .. '9', + System.SysUtils.FormatSettings.DecimalSeparator]) then + begin + Key := #0; + end; +end; + +procedure TcadDevedores.DBEdit18KeyPress(Sender: TObject; var Key: Char); +begin + inherited; + if not(Key in [#8, '0' .. '9', + System.SysUtils.FormatSettings.DecimalSeparator]) then + begin + Key := #0; + end; +end; + +procedure TcadDevedores.DBEdit19KeyPress(Sender: TObject; var Key: Char); +begin + inherited; + if not(Key in [#8, '0' .. '9', + System.SysUtils.FormatSettings.DecimalSeparator]) then + begin + Key := #0; + end; +end; + +procedure TcadDevedores.DBEdit20KeyPress(Sender: TObject; var Key: Char); +begin + inherited; + if not(Key in [#8, '0' .. '9', + System.SysUtils.FormatSettings.DecimalSeparator]) then + begin + Key := #0; + end; +end; + +procedure TcadDevedores.DBEdit21KeyPress(Sender: TObject; var Key: Char); +begin + inherited; + if not(Key in [#8, '0' .. '9', + System.SysUtils.FormatSettings.DecimalSeparator]) then + begin + Key := #0; + end; +end; + +procedure TcadDevedores.DBEdit22KeyPress(Sender: TObject; var Key: Char); +begin + inherited; + if not(Key in [#8, '0' .. '9', + System.SysUtils.FormatSettings.DecimalSeparator]) then + begin + Key := #0; + end + else if (Key = System.SysUtils.FormatSettings.DecimalSeparator) and + (Pos(Key, (Sender as TDBEdit).Text) > 0) then + begin + Key := #0; + end; +end; + +procedure TcadDevedores.DBEdit23KeyPress(Sender: TObject; var Key: Char); +begin + inherited; + if not(Key in [#8, '0' .. '9', + System.SysUtils.FormatSettings.DecimalSeparator]) then + begin + Key := #0; + end; +end; + +procedure TcadDevedores.DBEdit5KeyPress(Sender: TObject; var Key: Char); +begin + inherited; + if not(Key in [#8, '0' .. '9', + System.SysUtils.FormatSettings.DecimalSeparator]) then + begin + Key := #0; + end + else if (Key = System.SysUtils.FormatSettings.DecimalSeparator) and + (Pos(Key, (Sender as TDBEdit).Text) > 0) then + begin + Key := #0; + end; +end; + +procedure TcadDevedores.DBEdit6KeyPress(Sender: TObject; var Key: Char); +begin + inherited; + if not(Key in [#8, '0' .. '9', + System.SysUtils.FormatSettings.DecimalSeparator]) then + begin + Key := #0; + end + else if (Key = System.SysUtils.FormatSettings.DecimalSeparator) and + (Pos(Key, (Sender as TDBEdit).Text) > 0) then + begin + Key := #0; + end; +end; + +procedure TcadDevedores.DBEdit7KeyPress(Sender: TObject; var Key: Char); +begin + inherited; + if not(Key in [#8, '0' .. '9', + System.SysUtils.FormatSettings.DecimalSeparator]) then + begin + Key := #0; + end; +end; + +procedure TcadDevedores.DBEdit9KeyPress(Sender: TObject; var Key: Char); +begin + inherited; + if not(Key in [#8, '0' .. '9', + System.SysUtils.FormatSettings.DecimalSeparator]) then + begin + Key := #0; + end + else if (Key = System.SysUtils.FormatSettings.DecimalSeparator) and + (Pos(Key, (Sender as TDBEdit).Text) > 0) then + begin + Key := #0; + end; +end; + procedure TcadDevedores.dbedt_cepKeyPress(Sender: TObject; var Key: Char); begin @@ -2806,6 +3078,15 @@ begin dtmSystem.OrganizaPorColuna(dtmSystem.tblTitulos, Column); end; +procedure TcadDevedores.DBNavigator1BeforeAction(Sender: TObject; Button: TNavigateBtn); +begin + inherited; + if Button = nbPost then + begin + dtmSystem.tblDevEmpBoletosID_DEVEDOR.AsInteger := dtmSystem.id_devedor; + end; +end; + procedure TcadDevedores.dbrg_tipotelClick(Sender: TObject); begin inherited; @@ -2980,6 +3261,7 @@ end; procedure TcadDevedores.dtsDBStateChange(Sender: TObject); begin pnl_devedores.Enabled := (dtsDB.State in [dsEdit, dsInsert]); + tabBoletos.Enabled := (dtsDB.State in [dsEdit, dsInsert]); navEmail.Enabled := not(dtsDB.State in [dsEdit, dsInsert]); navenderecos.Enabled := not(dtsDB.State in [dsEdit, dsInsert]); @@ -4039,115 +4321,22 @@ begin with dtmSystem do begin - if not tblDevedores.Active then - begin - tblDevedores.Open; - end - else - begin - tblDevedores.Refresh; - end; - if not tblEmail.Active then - begin - tblEmail.Open; - end - else - begin - tblEmail.Refresh; - end; - if not tblHistorico.Active then - begin - tblHistorico.Open; - end - else - begin - tblHistorico.Refresh; - end; - if not tblEstados.Active then - begin - tblEstados.Open; - end - else - begin - tblEstados.Refresh; - end; - if not tblCidades.Active then - begin - tblCidades.Open; - end - else - begin - tblCidades.Refresh; - end; - if not tblEnderecos.Active then - begin - tblEnderecos.Open; - end - else - begin - tblEnderecos.Refresh; - end; - if not tblTelefones.Active then - begin - tblTelefones.Open; - end - else - begin - tblTelefones.Refresh; - end; - if not tblTitulos.Active then - begin - tblTitulos.Open; - end - else - begin - tblTitulos.Refresh; - end; - if not tblProvidencias.Active then - begin - tblProvidencias.Open; - end - else - begin - tblProvidencias.Refresh; - end; - if not tblCHGEmpresa.Active then - begin - tblCHGEmpresa.Open; - end - else - begin - tblCHGEmpresa.Refresh; - end; - if not tblPoliticas.Active then - begin - tblPoliticas.Open; - end - else - begin - tblPoliticas.Refresh; - end; - if not tblFaixas.Active then - begin - tblFaixas.Open; - end - else - begin - tblFaixas.Refresh; - end; + OpenOrRefresh(tblDevedores); + OpenOrRefresh(tblEmail); + OpenOrRefresh(tblHistorico); + OpenOrRefresh(tblEstados); + OpenOrRefresh(tblCidades); + OpenOrRefresh(tblEnderecos); + OpenOrRefresh(tblTelefones); + OpenOrRefresh(tblTitulos); + OpenOrRefresh(tblProvidencias); + OpenOrRefresh(tblCHGEmpresa); + OpenOrRefresh(tblPoliticas); + OpenOrRefresh(tblFaixas); tblCHGEmpresa.First; - if not tblIndicadorFinanceiro.Active then - begin - tblIndicadorFinanceiro.Open; - end; - if not tblLogCampanhas.Active then - begin - tblLogCampanhas.Open; - end - else - begin - tblLogCampanhas.Refresh; - end; + OpenOrRefresh(tblIndicadorFinanceiro); + OpenOrRefresh(tblLogCampanhas); + OpenOrRefresh(tblDevEmpBoletos); // setlength(cbl_hints,pos+1); pegar do banco texto para jogar nas hints // while not tblCHGEmpresa.Eof do @@ -4173,26 +4362,14 @@ begin // end; end; - // navPrincipal.Enabled := dtmSystem.VerificarPermissao('DEVCBR.01'); - // navenderecos.Enabled := dtmSystem.VerificarPermissao('DEVCBR.02'); - // navtelefones.Enabled := dtmSystem.VerificarPermissao('DEVCBR.03'); - // navtitulos.Enabled := dtmSystem.VerificarPermissao('DEVCBR.04'); - // navHistorico.Enabled := dtmSystem.VerificarPermissao('DEVCBR.06'); SetupHackedNavigator(navPrincipal, ImageList1, 's', 2); SetupHackedNavigator(navEmail, ImageList1, 's', 2); SetupHackedNavigator(navenderecos, ImageList1, 's', 8); SetupHackedNavigator(navtelefones, ImageList1, 's', 8); SetupHackedNavigator(navtitulos, ImageList1, 's', 8); SetupHackedNavigator(navHistorico, ImageList1, 's', 8); + SetupHackedNavigator(DBNavigator1, ImageList1, 'n', 2); - { if not(dtmSystem.VerificarPermissao('DEVCBR.06.03')) then - begin - navHistorico.VisibleButtons := navHistorico.VisibleButtons - [nbDelete]; - end; - if not(dtmSystem.VerificarPermissao('DEVCBR.06.02')) then - begin - navHistorico.VisibleButtons := navHistorico.VisibleButtons - [nbEdit]; - end; } pnl_devedores.Enabled := false; pnl_email.Enabled := false; diff --git a/ucadUsuarios.dfm b/ucadUsuarios.dfm index 658ac7c..219c7da 100644 --- a/ucadUsuarios.dfm +++ b/ucadUsuarios.dfm @@ -23,7 +23,7 @@ inherited cadUsuarios: TcadUsuarios Top = 9 Width = 757 Height = 363 - ActivePage = pgGrupos + ActivePage = pgAcessos Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 @@ -75,9 +75,9 @@ inherited cadUsuarios: TcadUsuarios OnClick = rdbtv_permissoesClick OnGetImageIndex = rdbtv_permissoesGetImageIndex Items.NodeData = { - 030100000034000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0D39C - 1501000000010B3C003C00540058005F004E004F004D0045003E003E003E0000 - 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40D39C150000000001103C + 030100000034000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF809860 + 3301000000010B3C003C00540058005F004E004F004D0045003E003E003E0000 + 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0C688230000000001103C 003C00540058005F00440045005300430052004900430041004F003E003E00} MasterDataSource = dtsGrupo DataItemDefs = < @@ -329,6 +329,10 @@ inherited cadUsuarios: TcadUsuarios Font.Style = [] ImageIndex = 2 ParentFont = False + ExplicitLeft = 0 + ExplicitTop = 0 + ExplicitWidth = 0 + ExplicitHeight = 0 object lbl_escolhegrupo: TLabel Left = 3 Top = 64 @@ -346,6 +350,10 @@ inherited cadUsuarios: TcadUsuarios TabStop = False object pgDados: TTabSheet Caption = '&Dados Cadastrais' + ExplicitLeft = 0 + ExplicitTop = 0 + ExplicitWidth = 0 + ExplicitHeight = 0 object lbl_login: TLabel Left = 3 Top = 49 @@ -448,6 +456,10 @@ inherited cadUsuarios: TcadUsuarios object pgemail: TTabSheet Caption = '&E-mail' ImageIndex = 1 + ExplicitLeft = 0 + ExplicitTop = 0 + ExplicitWidth = 0 + ExplicitHeight = 0 object lbl_nomeemail: TLabel Left = 4 Top = 4 @@ -724,7 +736,7 @@ inherited cadUsuarios: TcadUsuarios object ImageList1: TImageList Left = 544 Bitmap = { - 494C010102000800E40010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 + 494C010102000800E80010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 0000000000003600000028000000400000001000000001002000000000000010 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -866,7 +878,7 @@ inherited cadUsuarios: TcadUsuarios object ImageList2: TImageList Left = 680 Bitmap = { - 494C01010C0018000C0210001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 + 494C01010C001800100210001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 0000000000003600000028000000400000004000000001002000000000000040 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 diff --git a/uconfRelGerencia.dfm b/uconfRelGerencia.dfm index 42e6554..4beccc0 100644 --- a/uconfRelGerencia.dfm +++ b/uconfRelGerencia.dfm @@ -26,7 +26,6 @@ inherited confRelGerencia: TconfRelGerencia Width = 370 Height = 13 Align = alBottom - ExplicitTop = 311 ExplicitWidth = 3 end inherited stbStatus: TStatusBar diff --git a/uconfRelGerencia.pas b/uconfRelGerencia.pas index c47d300..6f14ba4 100644 --- a/uconfRelGerencia.pas +++ b/uconfRelGerencia.pas @@ -903,7 +903,8 @@ begin cdsSintetico.First; // with TIniFile.Create(ExtractFilePath(Application.ExeName) + // 'sintetico.ini') do - with TIniFile.Create(dtmSystem.path_executavel + '\sintetico.ini') do + with TMemIniFile.Create(dtmSystem.path_executavel + '\sintetico.ini', + TEncoding.UTF8) do begin try i := 1; diff --git a/udtmSystem.dfm b/udtmSystem.dfm index a58be4a..74ea820 100644 --- a/udtmSystem.dfm +++ b/udtmSystem.dfm @@ -11,8 +11,10 @@ object dtmSystem: TdtmSystem 'controls_cp=CP_UTF16' 'codepage=WIN1252' 'AutoEncodeStrings=ON' - 'CLIENT_FOUND_ROWS=1') + 'CLIENT_FOUND_ROWS=1' + 'FirebirdAPI=legacy') TransactIsolationLevel = tiReadCommitted + Connected = True AfterDisconnect = ZConnectionAfterDisconnect HostName = '' Port = 0 @@ -1139,6 +1141,46 @@ object dtmSystem: TdtmSystem FieldName = 'CD_BENEFICIARIO' Size = 5 end + object tblEmpresaCLIENT_ID: TWideStringField + FieldName = 'CLIENT_ID' + Size = 60 + end + object tblEmpresaCLIENT_SECRET: TWideStringField + FieldName = 'CLIENT_SECRET' + Size = 60 + end + object tblEmpresaCONTA_CORRENTE: TWideStringField + FieldName = 'CONTA_CORRENTE' + Size = 60 + end + object tblEmpresaTX_CIDADE: TStringField + FieldKind = fkLookup + FieldName = 'TX_CIDADE' + LookupDataSet = tblCidadesConsulta + LookupKeyFields = 'ID_CIDADE' + LookupResultField = 'TX_NOME' + KeyFields = 'ID_CIDADE' + Size = 60 + Lookup = True + end + object tblEmpresaTX_UF: TStringField + FieldKind = fkLookup + FieldName = 'TX_UF' + LookupDataSet = tblEstados + LookupKeyFields = 'ID_ESTADO' + LookupResultField = 'TX_SIGLA' + KeyFields = 'ID_ESTADO' + Size = 2 + Lookup = True + end + object tblEmpresaPATH_CERT: TWideStringField + FieldName = 'PATH_CERT' + Size = 255 + end + object tblEmpresaPATH_KEY: TWideStringField + FieldName = 'PATH_KEY' + Size = 255 + end end object tblPermissoes: TZQuery Connection = ZConnection @@ -2049,6 +2091,7 @@ object dtmSystem: TdtmSystem Connection = ZConnection SortedFields = 'ID_TELEFONE' BeforeOpen = tblTelefonesBeforeOpen + OnCalcFields = tblTelefonesCalcFields BeforeEdit = tblTelefonesBeforeEdit BeforePost = tblTelefonesBeforePost BeforeDelete = tblTelefonesBeforeDelete @@ -2111,11 +2154,18 @@ object dtmSystem: TdtmSystem Size = 60 Lookup = True end + object tblTelefonesTX_TELEFONE_COMPLETO: TWideStringField + FieldKind = fkCalculated + FieldName = 'TX_TELEFONE_COMPLETO' + Size = 15 + Calculated = True + end end object tblEnderecos: TZQuery Connection = ZConnection SortedFields = 'ID_ENDERECO' BeforeOpen = tblEnderecosBeforeOpen + OnCalcFields = tblEnderecosCalcFields BeforeEdit = tblEnderecosBeforeEdit BeforePost = tblEnderecosBeforePost BeforeDelete = tblEnderecosBeforeDelete @@ -2208,13 +2258,29 @@ object dtmSystem: TdtmSystem object tblEnderecosTX_CIDADE: TStringField FieldKind = fkLookup FieldName = 'TX_CIDADE' - LookupDataSet = tblCidades + LookupDataSet = tblCidadesConsulta LookupKeyFields = 'ID_CIDADE' LookupResultField = 'TX_NOME' KeyFields = 'ID_CIDADE' Size = 60 Lookup = True end + object tblEnderecosTX_UF: TStringField + FieldKind = fkLookup + FieldName = 'TX_UF' + LookupDataSet = tblEstados + LookupKeyFields = 'ID_ESTADO' + LookupResultField = 'TX_SIGLA' + KeyFields = 'ID_ESTADO' + Size = 2 + Lookup = True + end + object tblEnderecosTX_ENDERECO_COMPLETO: TWideStringField + FieldKind = fkCalculated + FieldName = 'TX_ENDERECO_COMPLETO' + Size = 255 + Calculated = True + end end object tblFaixas: TZQuery Connection = ZConnection @@ -2396,6 +2462,7 @@ object dtmSystem: TdtmSystem Connection = ZConnection SortedFields = 'TX_NOME' AfterOpen = tblDevedoresAfterOpen + OnCalcFields = tblDevedoresCalcFields BeforeEdit = tblDevedoresBeforeEdit BeforePost = tblDevedoresBeforePost BeforeDelete = tblDevedoresBeforeDelete @@ -2474,6 +2541,119 @@ object dtmSystem: TdtmSystem Size = 60 Lookup = True end + object tblDevedoresCD_DOCUMENTO: TStringField + FieldKind = fkCalculated + FieldName = 'CD_DOCUMENTO' + Size = 24 + Calculated = True + end + object tblDevedoresNR_DIA_VENCIMENTO: TIntegerField + FieldName = 'NR_DIA_VENCIMENTO' + end + object tblDevedoresNR_DIAS_AGENDA: TIntegerField + FieldName = 'NR_DIAS_AGENDA' + end + object tblDevedoresID_ENDERECO_BOLETO: TIntegerField + FieldName = 'ID_ENDERECO_BOLETO' + end + object tblDevedoresID_TELEFONE_BOLETO: TIntegerField + FieldName = 'ID_TELEFONE_BOLETO' + end + object tblDevedoresID_EMAIL_BOLETO: TIntegerField + FieldName = 'ID_EMAIL_BOLETO' + end + object tblDevedoresTX_MENSAGEM_BOLETO_1: TWideStringField + FieldName = 'TX_MENSAGEM_BOLETO_1' + Size = 78 + end + object tblDevedoresTX_MENSAGEM_BOLETO_2: TWideStringField + FieldName = 'TX_MENSAGEM_BOLETO_2' + Size = 78 + end + object tblDevedoresTX_MENSAGEM_BOLETO_3: TWideStringField + FieldName = 'TX_MENSAGEM_BOLETO_3' + Size = 78 + end + object tblDevedoresTX_MENSAGEM_BOLETO_4: TWideStringField + FieldName = 'TX_MENSAGEM_BOLETO_4' + Size = 78 + end + object tblDevedoresTX_MENSAGEM_BOLETO_5: TWideStringField + FieldName = 'TX_MENSAGEM_BOLETO_5' + Size = 78 + end + object tblDevedoresVL_NOMINAL_BOLETO: TFloatField + FieldName = 'VL_NOMINAL_BOLETO' + end + object tblDevedoresTP_DESC_BOLETO_1: TWideStringField + FieldName = 'TP_DESC_BOLETO_1' + Size = 1 + end + object tblDevedoresTP_DESC_BOLETO_2: TWideStringField + FieldName = 'TP_DESC_BOLETO_2' + Size = 1 + end + object tblDevedoresTP_DESC_BOLETO_3: TWideStringField + FieldName = 'TP_DESC_BOLETO_3' + Size = 1 + end + object tblDevedoresNR_DIAS_DESC_BOLETO_1: TIntegerField + FieldName = 'NR_DIAS_DESC_BOLETO_1' + end + object tblDevedoresNR_DIAS_DESC_BOLETO_2: TIntegerField + FieldName = 'NR_DIAS_DESC_BOLETO_2' + end + object tblDevedoresNR_DIAS_DESC_BOLETO_3: TIntegerField + FieldName = 'NR_DIAS_DESC_BOLETO_3' + end + object tblDevedoresPR_DESC_BOLETO_1: TFloatField + FieldName = 'PR_DESC_BOLETO_1' + end + object tblDevedoresPR_DESC_BOLETO_2: TFloatField + FieldName = 'PR_DESC_BOLETO_2' + end + object tblDevedoresPR_DESC_BOLETO_3: TFloatField + FieldName = 'PR_DESC_BOLETO_3' + end + object tblDevedoresVL_DESC_BOLETO_1: TFloatField + FieldName = 'VL_DESC_BOLETO_1' + end + object tblDevedoresVL_DESC_BOLETO_2: TFloatField + FieldName = 'VL_DESC_BOLETO_2' + end + object tblDevedoresVL_DESC_BOLETO_3: TFloatField + FieldName = 'VL_DESC_BOLETO_3' + end + object tblDevedoresTP_MULTA_BOLETO: TWideStringField + FieldName = 'TP_MULTA_BOLETO' + Size = 1 + end + object tblDevedoresNR_DIAS_MULTA_BOLETO: TIntegerField + FieldName = 'NR_DIAS_MULTA_BOLETO' + end + object tblDevedoresPR_MULTA_BOLETO: TFloatField + FieldName = 'PR_MULTA_BOLETO' + end + object tblDevedoresVL_MULTA_BOLETO: TFloatField + FieldName = 'VL_MULTA_BOLETO' + end + object tblDevedoresTP_MORA_BOLETO: TWideStringField + FieldName = 'TP_MORA_BOLETO' + Size = 1 + end + object tblDevedoresNR_MORA_BOLETO: TIntegerField + FieldName = 'NR_MORA_BOLETO' + end + object tblDevedoresPR_MORA_BOLETO: TFloatField + FieldName = 'PR_MORA_BOLETO' + end + object tblDevedoresVL_MORA_BOLETO: TFloatField + FieldName = 'VL_MORA_BOLETO' + end + object tblDevedoresTX_SUFIXO_SEU_NUMERO: TWideStringField + FieldName = 'TX_SUFIXO_SEU_NUMERO' + Size = 5 + end end object tblTextoEmail: TZQuery Connection = ZConnection @@ -2952,160 +3132,11 @@ object dtmSystem: TdtmSystem Left = 632 Top = 608 end - object dtsGrupoBoletos: TDataSource - DataSet = tblGrupoBoletos - Left = 736 - Top = 608 - end - object dtsGrupoBoletoEmpresas: TDataSource - DataSet = tblGrupoBoletoEmpresas - Left = 736 - Top = 656 - end - object tblGrupoBoletos: TZQuery - Connection = ZConnection - SortedFields = 'TX_NOME' - BeforeEdit = tblGrupoBoletosBeforeEdit - BeforePost = tblGrupoBoletosBeforePost - BeforeDelete = tblGrupoBoletosBeforeDelete - SQL.Strings = ( - 'select * from chg_grupo_boleto') - Params = <> - IndexFieldNames = 'TX_NOME Asc' - Sequence = seqGrupoBoletos - SequenceField = 'ID_GRUPO' - Left = 864 - Top = 608 - object tblGrupoBoletosID_GRUPO: TIntegerField - FieldName = 'ID_GRUPO' - Required = True - end - object tblGrupoBoletosTX_NOME: TWideStringField - FieldName = 'TX_NOME' - Size = 60 - end - object tblGrupoBoletosTX_DESCRICAO: TWideStringField - FieldName = 'TX_DESCRICAO' - Size = 255 - end - object tblGrupoBoletosTP_DESC1: TWideStringField - FieldName = 'TP_DESC1' - Size = 1 - end - object tblGrupoBoletosNR_DESC1: TFloatField - FieldName = 'NR_DESC1' - end - object tblGrupoBoletosPR_DESC1: TFloatField - FieldName = 'PR_DESC1' - end - object tblGrupoBoletosDT_DESC1: TDateField - FieldName = 'DT_DESC1' - end - object tblGrupoBoletosTP_DESC2: TWideStringField - FieldName = 'TP_DESC2' - Size = 1 - end - object tblGrupoBoletosNR_DESC2: TFloatField - FieldName = 'NR_DESC2' - end - object tblGrupoBoletosPR_DESC2: TFloatField - FieldName = 'PR_DESC2' - end - object tblGrupoBoletosDT_DESC2: TDateField - FieldName = 'DT_DESC2' - end - object tblGrupoBoletosTP_DESC3: TWideStringField - FieldName = 'TP_DESC3' - Size = 1 - end - object tblGrupoBoletosNR_DESC3: TFloatField - FieldName = 'NR_DESC3' - end - object tblGrupoBoletosPR_DESC3: TFloatField - FieldName = 'PR_DESC3' - end - object tblGrupoBoletosDT_DESC3: TDateField - FieldName = 'DT_DESC3' - end - object tblGrupoBoletosTP_MULTA: TWideStringField - FieldName = 'TP_MULTA' - Size = 1 - end - object tblGrupoBoletosNR_MULTA: TFloatField - FieldName = 'NR_MULTA' - end - object tblGrupoBoletosPR_MULTA: TFloatField - FieldName = 'PR_MULTA' - end - object tblGrupoBoletosTP_MORA: TWideStringField - FieldName = 'TP_MORA' - Size = 1 - end - object tblGrupoBoletosNR_MORA: TFloatField - FieldName = 'NR_MORA' - end - object tblGrupoBoletosPR_MORA: TFloatField - FieldName = 'PR_MORA' - end - end - object tblGrupoBoletoEmpresas: TZQuery - Connection = ZConnection - SortedFields = 'ID_ITEM' - BeforeOpen = tblGrupoBoletoEmpresasBeforeOpen - BeforeEdit = tblGrupoBoletoEmpresasBeforeEdit - BeforePost = tblGrupoBoletoEmpresasBeforePost - BeforeDelete = tblGrupoBoletoEmpresasBeforeDelete - SQL.Strings = ( - 'select * from chg_grupo_boleto_empresas') - Params = <> - MasterFields = 'ID_GRUPO' - MasterSource = dtsGrupoBoletos - LinkedFields = 'ID_GRUPO_BOLETO' - IndexFieldNames = 'ID_ITEM Asc' - Sequence = seqGrupoBoletoEmpresas - SequenceField = 'ID_ITEM' - Left = 864 - Top = 656 - object tblGrupoBoletoEmpresasID_ITEM: TIntegerField - FieldName = 'ID_ITEM' - Required = True - end - object tblGrupoBoletoEmpresasID_GRUPO_BOLETO: TIntegerField - FieldName = 'ID_GRUPO_BOLETO' - Required = True - end - object tblGrupoBoletoEmpresasID_EMPRESA: TIntegerField - FieldName = 'ID_EMPRESA' - Required = True - end - object tblGrupoBoletoEmpresasTX_EMPRESA: TStringField - FieldKind = fkLookup - FieldName = 'TX_EMPRESA' - LookupDataSet = tblCHGEmpresa - LookupKeyFields = 'ID_EMPRESA' - LookupResultField = 'TX_FANTASIA' - KeyFields = 'ID_EMPRESA' - Size = 255 - Lookup = True - end - end - object seqGrupoBoletos: TZSequence - Connection = ZConnection - SequenceName = 'GEN_GRUPO_BOLETOS' - Left = 984 - Top = 608 - end - object seqGrupoBoletoEmpresas: TZSequence - Connection = ZConnection - SequenceName = 'GEN_GRUPO_BOLETO_EMPRESAS' - Left = 984 - Top = 656 - end object ImageList1: TImageList Left = 536 Top = 488 Bitmap = { - 494C01010C001800580210001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 + 494C01010C0018007C0210001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 0000000000003600000028000000400000004000000001002000000000000040 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -3642,54 +3673,249 @@ object dtmSystem: TdtmSystem end object tblBoletos: TZQuery Connection = ZConnection + BeforeOpen = tblBoletosBeforeOpen BeforeEdit = tblBoletosBeforeEdit BeforePost = tblBoletosBeforePost BeforeDelete = tblBoletosBeforeDelete SQL.Strings = ( - 'select * from chg_boleto') + 'select * from chg_boletos') Params = <> Sequence = seqBoletos SequenceField = 'ID' Left = 864 - Top = 560 - object tblBoletosID: TIntegerField - FieldName = 'ID' + Top = 576 + object tblBoletosID_BOLETO: TIntegerField + FieldName = 'ID_BOLETO' Required = True end - object tblBoletosNR_NOSSO_NUMERO: TWideStringField - FieldName = 'NR_NOSSO_NUMERO' + object tblBoletosID_DEVEDOR: TIntegerField + FieldName = 'ID_DEVEDOR' Required = True - Size = 15 end - object tblBoletosDT_EMISSAO: TDateField - FieldName = 'DT_EMISSAO' - Required = True + object tblBoletosTX_NOSSO_NUMERO: TWideStringField + FieldName = 'TX_NOSSO_NUMERO' + Size = 60 + end + object tblBoletosTX_SEU_NUMERO: TWideStringField + FieldName = 'TX_SEU_NUMERO' + end + object tblBoletosCD_BARRAS: TWideStringField + FieldName = 'CD_BARRAS' + Size = 255 + end + object tblBoletosCD_LINHA_DIGITAVEL: TWideStringField + FieldName = 'CD_LINHA_DIGITAVEL' + Size = 255 end object tblBoletosVL_NOMINAL: TFloatField FieldName = 'VL_NOMINAL' - end - object tblBoletosVL_ABATIMENTO: TFloatField - FieldName = 'VL_ABATIMENTO' + Required = True end object tblBoletosDT_VENCIMENTO: TDateField FieldName = 'DT_VENCIMENTO' + Required = True end - object tblBoletosID_GRUPO: TSingleField - FieldName = 'ID_GRUPO' + object tblBoletosNR_ADIAS_AGENDA: TIntegerField + FieldName = 'NR_ADIAS_AGENDA' + Required = True + end + object tblBoletosTX_DOCUMENTO: TWideStringField + FieldName = 'TX_DOCUMENTO' + Required = True + end + object tblBoletosTP_PESSOA: TWideStringField + FieldName = 'TP_PESSOA' + Required = True + Size = 1 + end + object tblBoletosTX_NOME: TWideStringField + FieldName = 'TX_NOME' + Required = True + Size = 255 + end + object tblBoletosTX_ENDERECO: TWideStringField + FieldName = 'TX_ENDERECO' + Required = True + Size = 255 + end + object tblBoletosNR_ENDERECO: TIntegerField + FieldName = 'NR_ENDERECO' + Required = True + end + object tblBoletosTX_COMPLEMENTO: TWideStringField + FieldName = 'TX_COMPLEMENTO' + Size = 255 end - object tblBoletosCD_COD_BARRAS: TWideStringField - FieldName = 'CD_COD_BARRAS' + object tblBoletosTX_BAIRRO: TWideStringField + FieldName = 'TX_BAIRRO' Size = 60 end - object tblBoletosCD_LINHA_DIGITAVEL: TWideStringField - FieldName = 'CD_LINHA_DIGITAVEL' + object tblBoletosTX_CIDADE: TWideStringField + FieldName = 'TX_CIDADE' + Required = True Size = 60 end + object tblBoletosTX_UF: TWideStringField + FieldName = 'TX_UF' + Required = True + Size = 2 + end + object tblBoletosCD_CEP: TWideStringField + FieldName = 'CD_CEP' + Required = True + Size = 10 + end + object tblBoletosTX_EMAIL: TWideStringField + FieldName = 'TX_EMAIL' + Size = 255 + end + object tblBoletosNR_DDD: TWideStringField + FieldName = 'NR_DDD' + Size = 3 + end + object tblBoletosNR_TELEFONE: TWideStringField + FieldName = 'NR_TELEFONE' + Size = 10 + end + object tblBoletosTX_MENSAGEM_1: TWideStringField + FieldName = 'TX_MENSAGEM_1' + Size = 100 + end + object tblBoletosTX_MENSAGEM_2: TWideStringField + FieldName = 'TX_MENSAGEM_2' + Size = 100 + end + object tblBoletosTX_MENSAGEM_3: TWideStringField + FieldName = 'TX_MENSAGEM_3' + Size = 100 + end + object tblBoletosTX_MENSAGEM_4: TWideStringField + FieldName = 'TX_MENSAGEM_4' + Size = 100 + end + object tblBoletosTX_MENSAGEM_5: TWideStringField + FieldName = 'TX_MENSAGEM_5' + Size = 100 + end + object tblBoletosTP_DESCONTO_1: TWideStringField + FieldName = 'TP_DESCONTO_1' + Size = 1 + end + object tblBoletosDT_DESCONTO_1: TDateField + FieldName = 'DT_DESCONTO_1' + end + object tblBoletosPR_DESCONTO_1: TFloatField + FieldName = 'PR_DESCONTO_1' + end + object tblBoletosVL_DESCONTO_1: TFloatField + FieldName = 'VL_DESCONTO_1' + end + object tblBoletosTP_DESCONTO_2: TWideStringField + FieldName = 'TP_DESCONTO_2' + Size = 1 + end + object tblBoletosDT_DESCONTO_2: TDateField + FieldName = 'DT_DESCONTO_2' + end + object tblBoletosPR_DESCONTO_2: TFloatField + FieldName = 'PR_DESCONTO_2' + end + object tblBoletosVL_DESCONTO_2: TFloatField + FieldName = 'VL_DESCONTO_2' + end + object tblBoletosTP_DESCONTO_3: TWideStringField + FieldName = 'TP_DESCONTO_3' + Size = 1 + end + object tblBoletosDT_DESCONTO_3: TDateField + FieldName = 'DT_DESCONTO_3' + end + object tblBoletosPR_DESCONTO_3: TFloatField + FieldName = 'PR_DESCONTO_3' + end + object tblBoletosVL_DESCONTO_3: TFloatField + FieldName = 'VL_DESCONTO_3' + end + object tblBoletosTP_MULTA: TWideStringField + FieldName = 'TP_MULTA' + Size = 1 + end + object tblBoletosDT_MULTA: TDateField + FieldName = 'DT_MULTA' + end + object tblBoletosPR_MULTA: TFloatField + FieldName = 'PR_MULTA' + end + object tblBoletosVL_MULTA: TFloatField + FieldName = 'VL_MULTA' + end + object tblBoletosTP_MORA: TWideStringField + FieldName = 'TP_MORA' + Size = 1 + end + object tblBoletosDT_MORA: TDateField + FieldName = 'DT_MORA' + end + object tblBoletosPR_MORA: TFloatField + FieldName = 'PR_MORA' + end + object tblBoletosVL_MORA: TFloatField + FieldName = 'VL_MORA' + end + object tblBoletosTX_NOME_BENEFICIARIO: TWideStringField + FieldName = 'TX_NOME_BENEFICIARIO' + Size = 255 + end + object tblBoletosTX_DOCUMENTO_BENEFICIARIO: TWideStringField + FieldName = 'TX_DOCUMENTO_BENEFICIARIO' + Size = 18 + end + object tblBoletosTP_PESSOA_BENEFICIARIO: TWideStringField + FieldName = 'TP_PESSOA_BENEFICIARIO' + Size = 1 + end + object tblBoletosCD_CEP_BENEFICIARIO: TWideStringField + FieldName = 'CD_CEP_BENEFICIARIO' + Size = 9 + end + object tblBoletosTX_ENDERECO_BENEFICIARIO: TWideStringField + FieldName = 'TX_ENDERECO_BENEFICIARIO' + Size = 255 + end + object tblBoletosTX_BAIRRO_BENEFICIARIO: TWideStringField + FieldName = 'TX_BAIRRO_BENEFICIARIO' + Size = 60 + end + object tblBoletosTX_CIDADE_BENEFICIARIO: TWideStringField + FieldName = 'TX_CIDADE_BENEFICIARIO' + Size = 60 + end + object tblBoletosTX_UF_BENEFICIARIO: TWideStringField + FieldName = 'TX_UF_BENEFICIARIO' + Size = 2 + end + object tblBoletosTX_MOTIVO_CANCELAMENTO: TWideStringField + FieldName = 'TX_MOTIVO_CANCELAMENTO' + Size = 255 + end + object tblBoletosTX_SITUACAO: TWideStringField + FieldName = 'TX_SITUACAO' + Size = 60 + end + object tblBoletosDT_SITUACAO: TDateTimeField + FieldName = 'DT_SITUACAO' + end + object tblBoletosVL_TOTAL_RECEBIDO: TFloatField + FieldName = 'VL_TOTAL_RECEBIDO' + end + object tblBoletosDT_EMISSAO: TDateTimeField + FieldName = 'DT_EMISSAO' + end end object dtsBoletos: TDataSource DataSet = tblBoletos - Left = 736 - Top = 560 + Left = 760 + Top = 576 end object seqBoletos: TZSequence Connection = ZConnection @@ -3875,4 +4101,111 @@ object dtmSystem: TdtmSystem Size = 60 end end + object cdsDescBoleto: TClientDataSet + Aggregates = <> + Params = <> + Left = 656 + Top = 464 + object cdsDescBoletoID_STATUS: TIntegerField + FieldName = 'ID_STATUS' + end + object cdsDescBoletoTX_VALOR: TStringField + FieldName = 'TX_VALOR' + end + object cdsDescBoletoTX_DESCRICAO: TStringField + FieldName = 'TX_DESCRICAO' + Size = 60 + end + end + object dtsDescBoleto: TDataSource + DataSet = cdsDescBoleto + Left = 760 + Top = 464 + end + object dtsMoraBoleto: TDataSource + DataSet = cdsMoraBoleto + Left = 760 + Top = 520 + end + object cdsMoraBoleto: TClientDataSet + Aggregates = <> + Params = <> + Left = 656 + Top = 520 + object IntegerField1: TIntegerField + FieldName = 'ID_STATUS' + end + object StringField1: TStringField + FieldName = 'TX_VALOR' + end + object StringField2: TStringField + FieldName = 'TX_DESCRICAO' + Size = 60 + end + end + object dtsMultaBoleto: TDataSource + DataSet = cdsMultaBoleto + Left = 912 + Top = 472 + end + object cdsMultaBoleto: TClientDataSet + Aggregates = <> + Params = <> + Left = 832 + Top = 472 + object IntegerField2: TIntegerField + FieldName = 'ID_STATUS' + end + object StringField3: TStringField + FieldName = 'TX_VALOR' + end + object StringField4: TStringField + FieldName = 'TX_DESCRICAO' + Size = 60 + end + end + object tblDevEmpBoletos: TZQuery + Connection = ZConnection + BeforeOpen = tblDevEmpBoletosBeforeOpen + SQL.Strings = ( + 'select * from chg_dev_emp_boletos') + Params = <> + Sequence = seqDevEmpBoletos + SequenceField = 'ID_ITEM' + Left = 864 + Top = 632 + object tblDevEmpBoletosID_ITEM: TIntegerField + FieldName = 'ID_ITEM' + Required = True + end + object tblDevEmpBoletosID_DEVEDOR: TIntegerField + FieldName = 'ID_DEVEDOR' + Required = True + end + object tblDevEmpBoletosID_EMPRESA: TIntegerField + FieldName = 'ID_EMPRESA' + Required = True + end + object tblDevEmpBoletosTX_EMPRESA: TWideStringField + FieldKind = fkLookup + FieldName = 'TX_EMPRESA' + LookupDataSet = tblCHGEmpresa + LookupKeyFields = 'ID_EMPRESA' + LookupResultField = 'TX_NOME' + KeyFields = 'ID_EMPRESA' + Size = 250 + Lookup = True + end + end + object dtsDevEmpBoletos: TDataSource + DataSet = tblDevEmpBoletos + Left = 760 + Top = 632 + end + object seqDevEmpBoletos: TZSequence + Connection = ZConnection + SequenceName = 'GEN_DEV_EMP_BOLETOS' + Left = 984 + Top = 632 + end end diff --git a/udtmSystem.pas b/udtmSystem.pas index 68463f1..6ba81fa 100644 --- a/udtmSystem.pas +++ b/udtmSystem.pas @@ -630,48 +630,10 @@ type tblTitulosVL_REPASSE_PRIN: TFloatField; tblTitulosTP_PRESTACAO: TWideStringField; tblTitulosVL_REPASSE_ENCARGOS: TFloatField; - dtsGrupoBoletos: TDataSource; - dtsGrupoBoletoEmpresas: TDataSource; - tblGrupoBoletos: TZQuery; - tblGrupoBoletoEmpresas: TZQuery; - seqGrupoBoletos: TZSequence; - seqGrupoBoletoEmpresas: TZSequence; - tblGrupoBoletosID_GRUPO: TIntegerField; - tblGrupoBoletosTX_NOME: TWideStringField; - tblGrupoBoletosTX_DESCRICAO: TWideStringField; - tblGrupoBoletoEmpresasID_ITEM: TIntegerField; - tblGrupoBoletoEmpresasID_GRUPO_BOLETO: TIntegerField; - tblGrupoBoletoEmpresasID_EMPRESA: TIntegerField; ImageList1: TImageList; - tblGrupoBoletoEmpresasTX_EMPRESA: TStringField; - tblGrupoBoletosTP_DESC1: TWideStringField; - tblGrupoBoletosNR_DESC1: TFloatField; - tblGrupoBoletosPR_DESC1: TFloatField; - tblGrupoBoletosDT_DESC1: TDateField; - tblGrupoBoletosTP_DESC2: TWideStringField; - tblGrupoBoletosNR_DESC2: TFloatField; - tblGrupoBoletosPR_DESC2: TFloatField; - tblGrupoBoletosDT_DESC2: TDateField; - tblGrupoBoletosTP_DESC3: TWideStringField; - tblGrupoBoletosNR_DESC3: TFloatField; - tblGrupoBoletosPR_DESC3: TFloatField; - tblGrupoBoletosDT_DESC3: TDateField; - tblGrupoBoletosTP_MULTA: TWideStringField; - tblGrupoBoletosNR_MULTA: TFloatField; - tblGrupoBoletosPR_MULTA: TFloatField; - tblGrupoBoletosTP_MORA: TWideStringField; - tblGrupoBoletosNR_MORA: TFloatField; - tblGrupoBoletosPR_MORA: TFloatField; tblBoletos: TZQuery; dtsBoletos: TDataSource; seqBoletos: TZSequence; - tblBoletosID: TIntegerField; - tblBoletosNR_NOSSO_NUMERO: TWideStringField; - tblBoletosDT_EMISSAO: TDateField; - tblBoletosVL_NOMINAL: TFloatField; - tblBoletosVL_ABATIMENTO: TFloatField; - tblBoletosDT_VENCIMENTO: TDateField; - tblBoletosID_GRUPO: TSingleField; seqBoletoTitulos: TZSequence; tblBoletoTitulos: TZQuery; dtsBoletoTitulos: TDataSource; @@ -685,8 +647,6 @@ type tblCidadesConsultaTX_NOME: TWideStringField; tblCidadesConsultaID_ESTADO: TIntegerField; tblCidadesConsultaCD_IBGE: TWideStringField; - tblBoletosCD_COD_BARRAS: TWideStringField; - tblBoletosCD_LINHA_DIGITAVEL: TWideStringField; dtsContas: TDataSource; tblContas: TZQuery; tblContasID_CONTA: TIntegerField; @@ -714,6 +674,131 @@ type 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); @@ -895,6 +980,11 @@ type 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 @@ -904,6 +994,7 @@ type tx_caminho_versao: String; tx_grupo: String; fields_before: array of string; + fieldsTituloBefore: array of string; // parametros das querys id_devedor: integer; @@ -930,7 +1021,7 @@ type dt_pag: TDateTime; dt_recibo: TDateTime; - path_executavel: string; + path_executavel, path_att, exe: string; version: string; // permissoes @@ -974,6 +1065,7 @@ type sequence: TZSequence = nil); function gerarProtocolo(id_devedor: string): string; procedure OpenOrRefresh(table: TZQuery); + procedure OpenOrRefreshRO(table: TZReadOnlyQuery); { Public declarations } end; @@ -990,7 +1082,7 @@ uses ucadUsuarios, ufrmAtendimento, ShellApi; procedure TdtmSystem.DataModuleCreate(Sender: TObject); var - path_banco , layoutHelper: string; + path_banco, layoutHelper: string; banco, lista: TStringList; i: integer; begin @@ -1001,11 +1093,14 @@ begin ZConnection.Disconnect; // abre o arquivo ini - with TIniFile.Create(ExtractFilePath(Application.ExeName) + 'sistema.ini') do + 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', ''); @@ -1013,10 +1108,11 @@ begin except showmessage ('Não foi possível encontrar o banco de dados. O programa será fechado.'); - Application.Terminate; + Application.Terminate; end; end; - with TIniFile.Create(path_executavel + '\version_control.ini') do + with TMemIniFile.Create(path_executavel + '\version_control.ini', + TEncoding.UTF8) do begin version := ReadString('Dados', 'version', ''); end; @@ -1027,9 +1123,10 @@ begin tblLog.Open; tblGrupos.Open; - { Estou "removendo" partes desnecessárias do código para tentar otimizar o sistema - if tblGrupos.IsEmpty then // se não tem grupos, gera grupos predefinidos - begin + { 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'; @@ -1045,11 +1142,11 @@ begin tblGruposTX_NOME.AsString := 'Atendente'; tblGruposTP_SU.AsString := 'N'; tblGrupos.Post; - end;} + end; } tblUsuarios.Open; - {if tblUsuarios.IsEmpty then // se não tiver usuários, gera um predefinido - begin + { *if tblUsuarios.IsEmpty then // se não tiver usuários, gera um predefinido + begin tblUsuarios.Append; tblUsuariosTX_NOME.AsString := 'Master'; tblUsuariosTX_USUARIO.AsString := 'master'; @@ -1057,15 +1154,15 @@ begin tblUsuariosTX_SENHA.AsString := 'master'; tblUsuariosID_GRUPO.AsInteger := 1; tblUsuarios.Post; - end;} + 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 + { *cadUsuarios := TcadUsuarios.Create(self); + with cadUsuarios do // gera e atualiza as permissões + begin AcessoCobranca; AcessoFerramentas; AcessoCobrancaTel; @@ -1084,15 +1181,15 @@ begin 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; + if tblGruposPermissoesID_GRUPO.AsInteger = 1 then + begin + tblGruposPermissoes.Edit; + tblGruposPermissoesTP_ACESSO.AsString := 'S'; + tblGruposPermissoes.Post; end; - end;} + tblGruposPermissoes.Next; + end; + end; } tblProvidencias.Open; { if tblProvidencias.IsEmpty then @@ -1149,6 +1246,12 @@ begin perm_caddev := true; perm_cobtel := true; + tblEstados.Open; + tblCidades.Open; + tblEmpresa.Open; + + SetLength(fieldsTituloBefore, tblTitulos.FieldCount); + // tblLayouts.Open; // tblLayouts.First; // @@ -1179,6 +1282,29 @@ begin // 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); @@ -1297,6 +1423,21 @@ begin 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; @@ -1556,17 +1697,17 @@ end; function TdtmSystem.GetAppVersionStr: string; // pega a versão do aplicativo var - Exe: string; + exe: string; Size, Handle: DWORD; Buffer: TBytes; FixedPtr: PVSFixedFileInfo; begin - Exe := ParamStr(0); - Size := GetFileVersionInfoSize(PChar(Exe), Handle); + 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 + if not GetFileVersionInfo(PChar(exe), Handle, Size, Buffer) then RaiseLastOSError; if not VerQueryValue(Buffer, '\', Pointer(FixedPtr), Size) then RaiseLastOSError; @@ -1601,6 +1742,18 @@ begin 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 @@ -1904,7 +2057,7 @@ end; procedure TdtmSystem.tblBoletosBeforeDelete(DataSet: TDataSet); begin - LogDelete(DataSet, 'CHG_BOLETO', 'delete'); + LogDelete(DataSet, 'CHG_BOLETOS', 'delete'); end; procedure TdtmSystem.tblBoletosBeforeEdit(DataSet: TDataSet); @@ -1918,22 +2071,37 @@ begin 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_BOLETO', 'edit'); + LogDiffFields(DataSet, fields_before, 'CHG_BOLETOS', 'edit'); end else begin - RegistarLog(DataSet, 'CHG_BOLETO', 'post'); + RegistarLog(DataSet, 'CHG_BOLETOS', 'post'); end; end else begin - LogPost(DataSet, 'CHG_BOLETO', 'insert', seqBoletos); + LogPost(DataSet, 'CHG_BOLETOS', 'insert', seqBoletos); end; end; @@ -2406,6 +2574,34 @@ begin 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 @@ -2634,6 +2830,14 @@ begin 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; @@ -2998,11 +3202,11 @@ begin 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; + // if tblHistoricoCD_PROTOCOLO.AsString = '' then + // begin + // tblHistoricoCD_PROTOCOLO.AsString := + // gerarProtocolo(tblHistoricoID_DEVEDOR.AsString); + // end; end; if DataSet.State = dsEdit then begin @@ -3409,7 +3613,8 @@ end; procedure TdtmSystem.tblPrCartaoAfterInsert(DataSet: TDataSet); begin - tblPrCartaoID_ITEM.AsInteger := NovoCodigo('SYS_PORCENTAGENS_CARTOES', 'ID_ITEM'); + tblPrCartaoID_ITEM.AsInteger := NovoCodigo('SYS_PORCENTAGENS_CARTOES', + 'ID_ITEM'); end; procedure TdtmSystem.tblProtocoloBeforeDelete(DataSet: TDataSet); @@ -3753,6 +3958,13 @@ begin 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'); @@ -3876,10 +4088,11 @@ procedure TdtmSystem.tblTitulosBeforeEdit(DataSet: TDataSet); var i: integer; begin - SetLength(fields_before, DataSet.FieldCount); + // SetLength(fields_before, DataSet.FieldCount); for i := 0 to DataSet.FieldCount - 1 do begin - fields_before[i] := DataSet.fields[i].AsString; + // 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; @@ -3991,9 +4204,9 @@ begin end; if DataSet.State <> dsInsert then begin - if CheckDiffFields(DataSet, fields_before) then + if CheckDiffFields(DataSet, fieldsTituloBefore) then begin - LogDiffFields(DataSet, fields_before, 'CHG_TITULOS', 'edit'); + LogDiffFields(DataSet, fieldsTituloBefore, 'CHG_TITULOS', 'edit'); end else begin @@ -4374,16 +4587,16 @@ var 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; + // 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 Length(fields) - 1 do + for i := 0 to DataSet.FieldCount - 1 do begin - str_help := str_help + DataSet.fields[i].FieldName + ': ' + fields[i] + - sLineBreak; + str_help := str_help + DataSet.fields[i].FieldName + ': ' + DataSet.fields + [i].AsString + sLineBreak; end; tblLog.Append; tblLogTX_TABELA.AsString := table; @@ -4398,19 +4611,31 @@ procedure TdtmSystem.LogDiffFields(DataSet: TDataSet; fields: array of string; var i: integer; str_help: string; + strAntes, strDepois: string; begin - str_help := 'Antes de editar:' + sLineBreak; + // 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; - end; - 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; + // 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; diff --git a/ufrmAgenda.dfm b/ufrmAgenda.dfm index 6c4c659..2ef22e8 100644 --- a/ufrmAgenda.dfm +++ b/ufrmAgenda.dfm @@ -294,7 +294,7 @@ inherited frmAgenda: TfrmAgenda Left = 405 Top = 16 Bitmap = { - 494C01010C001800180210001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 + 494C01010C0018001C0210001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 0000000000003600000028000000400000004000000001002000000000000040 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 diff --git a/ufrmAgenda.pas b/ufrmAgenda.pas index 4cfdfd3..449143f 100644 --- a/ufrmAgenda.pas +++ b/ufrmAgenda.pas @@ -306,7 +306,7 @@ procedure TfrmAgenda.ChecaPermissoes; begin with dtmSystem do begin - if not VerificarPermissao('CBR.01.02.01') then + if not dtmSystem.id_grupo = 1 then begin navPrincipal.VisibleButtons := navPrincipal.VisibleButtons - [nbEdit]; lbl_filtrauser.Visible := false; @@ -321,12 +321,13 @@ with dtmSystem do edt_filtrauser.Visible := true; spdbtn_filtrauser.Visible := true; grdLista.Columns[0].Visible := true; + grdLista.Columns[0].Width := 100; end; - if not VerificarPermissao('CBR.01.02.02') then + if not dtmSystem.id_grupo = 1 then begin navPrincipal.VisibleButtons := navPrincipal.VisibleButtons - [nbDelete]; end; - if not VerificarPermissao('CBR.01.02.03') then + if not dtmSystem.id_grupo = 1 then begin lbl_filtrauser.Visible := false; edt_filtrauser.Visible := false; @@ -352,6 +353,7 @@ with dtmSystem do edt_filtrauser.Visible := true; spdbtn_filtrauser.Visible := true; grdLista.Columns[0].Visible := true; + grdLista.Columns[0].Width := 100; end; end; end; diff --git a/ufrmAtendimento.dfm b/ufrmAtendimento.dfm index 02a69ff..9861eae 100644 --- a/ufrmAtendimento.dfm +++ b/ufrmAtendimento.dfm @@ -236,7 +236,7 @@ object frmAtendimento: TfrmAtendimento Top = 10 Width = 1053 Height = 551 - ActivePage = tabHistorico + ActivePage = tabCadastro TabOrder = 0 OnChange = pcDevedorChange OnChanging = pcDevedorChanging @@ -1735,8 +1735,6 @@ object frmAtendimento: TfrmAtendimento TabOrder = 1 object tabTit: TTabSheet Caption = 'T'#237'tulos' - ExplicitWidth = 825 - ExplicitHeight = 314 object Label16: TLabel Left = 642 Top = 37 @@ -1886,8 +1884,6 @@ object frmAtendimento: TfrmAtendimento object tabDespesas: TTabSheet Caption = 'Despesas' ImageIndex = 1 - ExplicitWidth = 825 - ExplicitHeight = 314 object navDespesas: TDBNavigator Left = 3 Top = 3 @@ -1946,8 +1942,6 @@ object frmAtendimento: TfrmAtendimento object tabObs: TTabSheet Caption = 'Observa'#231#245'es' ImageIndex = 2 - ExplicitWidth = 825 - ExplicitHeight = 314 end end object dbmem_titobs: TDBMemo @@ -4104,7 +4098,7 @@ object frmAtendimento: TfrmAtendimento Left = 784 Top = 56 Bitmap = { - 494C01010C001800580510001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 + 494C01010C001800640510001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 0000000000003600000028000000400000004000000001002000000000000040 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -4682,6 +4676,13 @@ object frmAtendimento: TfrmAtendimento Caption = 'Retirar todos' OnClick = mnuretirarClick end + object N1: TMenuItem + Caption = '-' + end + object DevolverTtulos1: TMenuItem + Caption = 'Devolver T'#237'tulos' + OnClick = DevolverTtulos1Click + end end object dtsHistorico: TDataSource DataSet = dtmSystem.tblHistorico diff --git a/ufrmAtendimento.pas b/ufrmAtendimento.pas index 5dd27b6..094921a 100644 --- a/ufrmAtendimento.pas +++ b/ufrmAtendimento.pas @@ -475,6 +475,8 @@ type edt_protocolo: TEdit; DBLookupComboBox1: TDBLookupComboBox; Label23: TLabel; + N1: TMenuItem; + DevolverTtulos1: TMenuItem; procedure btn_pesquisarClick(Sender: TObject); procedure dbgrd_pesquisarDblClick(Sender: TObject); procedure dtsDevedorDataChange(Sender: TObject; Field: TField); @@ -586,6 +588,7 @@ type procedure mnuQuebraAcordoClick(Sender: TObject); procedure dtsDevedorStateChange(Sender: TObject); procedure btn_protocoloClick(Sender: TObject); + procedure DevolverTtulos1Click(Sender: TObject); private FListViewOldWndProc: TWndMethod; FlistViewOldWndProc2: TWndMethod; @@ -659,17 +662,17 @@ procedure TfrmAtendimento.AdjustCheckListBox; var i, nMaxWidth, nItemWidth: Integer; begin -// nMaxWidth := clb_empresas.ClientWidth; -// for i := 0 to clb_empresas.Items.Count - 1 do -// begin -// nItemWidth := clb_empresas.Canvas.TextWidth(clb_empresas.Items[i]) + 20; -// if (nItemWidth > nMaxWidth) then -// nMaxWidth := nItemWidth; -// end; -// if (nMaxWidth > clb_empresas.ClientWidth) then -// begin -// clb_empresas.ScrollWidth := nMaxWidth; -// end; + // nMaxWidth := clb_empresas.ClientWidth; + // for i := 0 to clb_empresas.Items.Count - 1 do + // begin + // nItemWidth := clb_empresas.Canvas.TextWidth(clb_empresas.Items[i]) + 20; + // if (nItemWidth > nMaxWidth) then + // nMaxWidth := nItemWidth; + // end; + // if (nMaxWidth > clb_empresas.ClientWidth) then + // begin + // clb_empresas.ScrollWidth := nMaxWidth; + // end; end; procedure TfrmAtendimento.Att_campos; @@ -3590,7 +3593,7 @@ begin dblucb_agatend.Text + sLineBreak + 'Dia: ' + DateToStr(dtp_agatend.Date) + sLineBreak + 'Hora: ' + TimeToStr(dtph_agatend.Time); except - Messagedlg('Erro ao tentar gerar agendamento.', mtError, [mbOk], 0); + Messagedlg('Erro ao tentar gerar agendamento.', mtError, [mbok], 0); end; try @@ -3606,7 +3609,7 @@ begin tblHistorico.Post; end; except - Messagedlg('Erro ao tentar gerar histórico.', mtError, [mbOk], 0); + Messagedlg('Erro ao tentar gerar histórico.', mtError, [mbok], 0); end; // if dtmSystem.tblHistoricoID_HISTORICO.AsInteger <> id_histo then @@ -4567,26 +4570,26 @@ var i: Integer; begin inherited; -// with TCheckListBox(Sender) do -// begin -// if Checked[ItemIndex] then -// begin -// Items.beginupdate; -// for i := 0 to Items.Count - 1 do -// if i = ItemIndex then -// begin -// dtmSystem.tblCHGEmpresa.Locate('TX_NOME', clb_empresas.Items[i], []); -// selected_id_chg_empresa := -// dtmSystem.tblCHGEmpresaID_EMPRESA.AsInteger; -// continue; -// end -// else -// begin -// Checked[i] := false; -// end; -// Items.EndUpdate; -// end; -// end; + // with TCheckListBox(Sender) do + // begin + // if Checked[ItemIndex] then + // begin + // Items.beginupdate; + // for i := 0 to Items.Count - 1 do + // if i = ItemIndex then + // begin + // dtmSystem.tblCHGEmpresa.Locate('TX_NOME', clb_empresas.Items[i], []); + // selected_id_chg_empresa := + // dtmSystem.tblCHGEmpresaID_EMPRESA.AsInteger; + // continue; + // end + // else + // begin + // Checked[i] := false; + // end; + // Items.EndUpdate; + // end; + // end; end; procedure TfrmAtendimento.clb_indicesClickCheck(Sender: TObject); @@ -4846,19 +4849,19 @@ var i: Integer; begin inherited; -// for i := 0 to clb_empresas.Items.Count - 1 do -// begin -// dtmSystem.tblCHGEmpresa.Locate('TX_NOME', clb_empresas.Items[i], []); -// if dtmSystem.tblTitulosID_EMPRESA.AsString = dtmSystem. -// tblCHGEmpresaID_EMPRESA.AsString then -// begin -// clb_empresas.Checked[i] := true; -// end -// else -// begin -// clb_empresas.Checked[i] := false; -// end; -// end; + // for i := 0 to clb_empresas.Items.Count - 1 do + // begin + // dtmSystem.tblCHGEmpresa.Locate('TX_NOME', clb_empresas.Items[i], []); + // if dtmSystem.tblTitulosID_EMPRESA.AsString = dtmSystem. + // tblCHGEmpresaID_EMPRESA.AsString then + // begin + // clb_empresas.Checked[i] := true; + // end + // else + // begin + // clb_empresas.Checked[i] := false; + // end; + // end; end; procedure TfrmAtendimento.dbgrd_titDrawColumnCell(Sender: TObject; @@ -4903,6 +4906,33 @@ begin end; end; +procedure TfrmAtendimento.DevolverTtulos1Click(Sender: TObject); +var + i: Integer; +begin + if Messagedlg('Deseja devolver os títulos selecionados?', mtInformation, + [mbYes, mbNo], 0) = mrYes then + begin + Screen.Cursor := crHourGlass; + for i := 0 to lv_titulos.Items.Count - 1 do + begin + if lv_titulos.Items[i].Checked then + begin + queryListaTitulos.RecNo := i + 1; + with dtmSystem do + begin + tblTitulos.Locate('ID_TITULO', queryListaTitulosID_TITULO.AsInteger, []); + tblTitulos.Edit; + tblTitulosTP_SITUACAO.AsString := 'AJ'; + tblTitulos.Post; + end; + end; + end; + CriarLista; + Screen.Cursor := crDefault; + end; +end; + procedure TfrmAtendimento.dtp_atrasorecalcChange(Sender: TObject); var mes, ano: string; @@ -5093,45 +5123,45 @@ begin if old_id_tit <> new_id_tit then begin old_id_tit := new_id_tit; -// clb_empresas.Items.beginupdate; -// for i := 0 to clb_empresas.Items.Count - 1 do -// begin -// clb_empresas.Checked[i] := false; -// end; -// clb_empresas.Items.EndUpdate; -// if dtmSystem.tblTitulosID_EMPRESA.AsString = '' then -// begin -// selected_id_chg_empresa := -1; -// end -// else -// begin -// dtmSystem.tblCHGEmpresa.Locate('ID_EMPRESA', -// dtmSystem.tblTitulosID_EMPRESA.AsInteger, []); -// selected_id_chg_empresa := dtmSystem.tblCHGEmpresaID_EMPRESA.AsInteger; -// if clb_empresas.Items.IndexOf(dtmSystem.tblCHGEmpresaTX_NOME.AsString) > -1 -// then -// begin -// clb_empresas.Checked -// [clb_empresas.Items.IndexOf -// (dtmSystem.tblCHGEmpresaTX_NOME.AsString)] := true; -// end; -// end; - - end; -// if not(dtsTitulos.DataSet.State in [dsEdit, dsInsert]) then -// begin -// for i := 0 to clb_empresas.Items.Count - 1 do -// begin -// clb_empresas.ItemEnabled[i] := false; -// end; -// end -// else -// begin -// for i := 0 to clb_empresas.Items.Count - 1 do -// begin -// clb_empresas.ItemEnabled[i] := true; -// end; -// end; + // clb_empresas.Items.beginupdate; + // for i := 0 to clb_empresas.Items.Count - 1 do + // begin + // clb_empresas.Checked[i] := false; + // end; + // clb_empresas.Items.EndUpdate; + // if dtmSystem.tblTitulosID_EMPRESA.AsString = '' then + // begin + // selected_id_chg_empresa := -1; + // end + // else + // begin + // dtmSystem.tblCHGEmpresa.Locate('ID_EMPRESA', + // dtmSystem.tblTitulosID_EMPRESA.AsInteger, []); + // selected_id_chg_empresa := dtmSystem.tblCHGEmpresaID_EMPRESA.AsInteger; + // if clb_empresas.Items.IndexOf(dtmSystem.tblCHGEmpresaTX_NOME.AsString) > -1 + // then + // begin + // clb_empresas.Checked + // [clb_empresas.Items.IndexOf + // (dtmSystem.tblCHGEmpresaTX_NOME.AsString)] := true; + // end; + // end; + + end; + // if not(dtsTitulos.DataSet.State in [dsEdit, dsInsert]) then + // begin + // for i := 0 to clb_empresas.Items.Count - 1 do + // begin + // clb_empresas.ItemEnabled[i] := false; + // end; + // end + // else + // begin + // for i := 0 to clb_empresas.Items.Count - 1 do + // begin + // clb_empresas.ItemEnabled[i] := true; + // end; + // end; end; procedure TfrmAtendimento.dtsTitulosStateChange(Sender: TObject); @@ -5946,16 +5976,16 @@ begin tblAcordos.Refresh; end; -// while not tblCHGEmpresa.Eof do -// begin -// clb_empresas.Items.Add(tblCHGEmpresaTX_NOME.AsString); -// if tblTitulosID_EMPRESA.AsString = tblCHGEmpresaID_EMPRESA.AsString then -// begin -// clb_empresas.Checked[Pos] := true; -// end; -// tblCHGEmpresa.Next; -// Pos := Pos + 1; -// end; + // while not tblCHGEmpresa.Eof do + // begin + // clb_empresas.Items.Add(tblCHGEmpresaTX_NOME.AsString); + // if tblTitulosID_EMPRESA.AsString = tblCHGEmpresaID_EMPRESA.AsString then + // begin + // clb_empresas.Checked[Pos] := true; + // end; + // tblCHGEmpresa.Next; + // Pos := Pos + 1; + // end; tblIndices.Open; tblIndices.First; @@ -6408,7 +6438,7 @@ begin begin abort; end; - Screen.Cursor := crHourglass; + Screen.Cursor := crHourGlass; with dtmSystem do begin if not(tblAgenda.Active) then @@ -6601,10 +6631,10 @@ begin // dtmSystem.tblCHGEmpresaID_EMPRESA.AsString; // end; // end; -// if selected_id_chg_empresa <> -1 then -// begin -// dtmSystem.tblTitulosID_EMPRESA.AsInteger := selected_id_chg_empresa; -// end; + // if selected_id_chg_empresa <> -1 then + // begin + // dtmSystem.tblTitulosID_EMPRESA.AsInteger := selected_id_chg_empresa; + // end; if DateToStr(rDBDateTimePicker1.Date) = '30/12/1899' then begin Messagedlg @@ -6652,22 +6682,22 @@ begin begin abort; end; -// if clb_empresas.Items.IndexOf -// (dtmSystem.tblCHGEmpresaTX_NOME.AsString) > -1 then -// begin -// clb_empresas.Checked -// [clb_empresas.Items.IndexOf(dtmSystem.tblCHGEmpresaTX_NOME.AsString) -// ] := false; -// end; -// dtmSystem.tblCHGEmpresa.Locate('ID_EMPRESA', -// dtmSystem.tblTitulosID_EMPRESA.AsInteger, []); -// if clb_empresas.Items.IndexOf -// (dtmSystem.tblCHGEmpresaTX_NOME.AsString) > -1 then -// begin -// clb_empresas.Checked -// [clb_empresas.Items.IndexOf -// (dtmSystem.tblCHGEmpresaTX_NOME.AsString)] := true; -// end; + // if clb_empresas.Items.IndexOf + // (dtmSystem.tblCHGEmpresaTX_NOME.AsString) > -1 then + // begin + // clb_empresas.Checked + // [clb_empresas.Items.IndexOf(dtmSystem.tblCHGEmpresaTX_NOME.AsString) + // ] := false; + // end; + // dtmSystem.tblCHGEmpresa.Locate('ID_EMPRESA', + // dtmSystem.tblTitulosID_EMPRESA.AsInteger, []); + // if clb_empresas.Items.IndexOf + // (dtmSystem.tblCHGEmpresaTX_NOME.AsString) > -1 then + // begin + // clb_empresas.Checked + // [clb_empresas.Items.IndexOf + // (dtmSystem.tblCHGEmpresaTX_NOME.AsString)] := true; + // end; end; end; end; diff --git a/ufrmCentralBoletos.dfm b/ufrmCentralBoletos.dfm index b38e448..50a89b6 100644 --- a/ufrmCentralBoletos.dfm +++ b/ufrmCentralBoletos.dfm @@ -1,33 +1,36 @@ inherited frmCentralBoletos: TfrmCentralBoletos Caption = 'Central de Boletos' - ClientHeight = 552 - ClientWidth = 767 + ClientHeight = 707 + ClientWidth = 1185 Menu = MainMenu1 - ExplicitWidth = 773 - ExplicitHeight = 600 + OnActivate = nil + ExplicitTop = -107 + ExplicitWidth = 1191 + ExplicitHeight = 756 PixelsPerInch = 96 TextHeight = 13 object pcBoletos: TPageControl [0] AlignWithMargins = True Left = 3 Top = 3 - Width = 761 - Height = 527 - ActivePage = tsPesquisa + Width = 1179 + Height = 682 + ActivePage = tsGeraBoleto Align = alClient - Style = tsButtons TabOrder = 1 + ExplicitHeight = 726 object tsPesquisa: TTabSheet Caption = 'Pesquisa' - ExplicitLeft = 0 - ExplicitTop = 0 - ExplicitWidth = 0 - ExplicitHeight = 0 + ExplicitHeight = 698 + DesignSize = ( + 1171 + 654) object gb_searchfilter: TGroupBox Left = 0 Top = 0 - Width = 750 + Width = 1168 Height = 73 + Anchors = [akLeft, akTop, akRight] Caption = 'Filtro de Pesquisa:' TabOrder = 0 object Label1: TLabel @@ -170,8 +173,9 @@ inherited frmCentralBoletos: TfrmCentralBoletos object dbgrd_boletos: TDBGrid Left = 0 Top = 79 - Width = 750 - Height = 170 + Width = 1168 + Height = 242 + Anchors = [akLeft, akTop, akRight] DataSource = dtsBoletos Options = [dgTitles, dgIndicator, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgConfirmDelete, dgTitleClick, dgTitleHotTrack] TabOrder = 1 @@ -186,1669 +190,1874 @@ inherited frmCentralBoletos: TfrmCentralBoletos item Expanded = False FieldName = 'nossoNumero' - Title.Caption = 'N'#186' Inter' - Width = 80 Visible = True end item Expanded = False FieldName = 'seuNumero' - Title.Caption = 'N'#186' Nexverse' - Width = 70 - Visible = True - end - item - Expanded = False - FieldName = 'cnpjCpfSacado' - Title.Caption = 'Doc. do Sacado' - Width = 100 - Visible = True - end - item - Expanded = False - FieldName = 'nomeSacado' - Title.Caption = 'Nome do Sacado' - Width = 280 - Visible = True - end - item - Expanded = False - FieldName = 'codigoBaixa' - Title.Caption = 'C'#243'digo da Baixa' - Width = 150 Visible = True end item Expanded = False FieldName = 'situacao' - Title.Caption = 'Situa'#231#227'o' - Width = 100 - Visible = True - end - item - Expanded = False - FieldName = 'dataPagtoBaixa' - Title.Caption = 'Data do Pagamento' - Width = 100 Visible = True end item Expanded = False FieldName = 'dataVencimento' - Title.Caption = 'Data do Vencimento' - Width = 100 - Visible = True - end - item - Expanded = False - FieldName = 'valorNominal' - Title.Caption = 'Valor Nominal' - Width = 80 - Visible = True - end - item - Expanded = False - FieldName = 'valorTotalRecebimento' - Title.Caption = 'Valor Recebido' - Width = 80 Visible = True end item Expanded = False - FieldName = 'telefone' - Title.Caption = 'Telefone' - Width = 80 + FieldName = 'dataHoraSituacao' Visible = True end item Expanded = False - FieldName = 'email' - Title.Caption = 'E-mail' - Width = 190 - Visible = True - end - item - Expanded = False - FieldName = 'dataEmissao' - Title.Caption = 'Data da Emiss'#227'o' - Width = 90 - Visible = True - end - item - Expanded = False - FieldName = 'dataLimite' - Title.Caption = 'Data Limite' - Width = 90 - Visible = True - end - item - Expanded = False - FieldName = 'linhaDigitavel' - Title.Caption = 'Linda Digit'#225'vel' - Width = 350 - Visible = True - end - item - Expanded = False - FieldName = 'valorJuros' - Title.Caption = 'Juros' - Width = 80 - Visible = True - end - item - Expanded = False - FieldName = 'valorMulta' - Title.Caption = 'Multa' - Width = 80 - Visible = True - end - item - Expanded = False - FieldName = 'desconto1' - Visible = False - end - item - Expanded = False - FieldName = 'desconto2' - Visible = False - end - item - Expanded = False - FieldName = 'desconto3' - Visible = False - end - item - Expanded = False - FieldName = 'multa' - Visible = False - end - item - Expanded = False - FieldName = 'mora' - Visible = False - end - item - Expanded = False - FieldName = 'valorAbatimento' - Title.Caption = 'Valor do Abatimento' - Width = 90 + FieldName = 'formatedDataHoraSituacao' Visible = True end> end - object gb_desc1: TGroupBox + object DBMemo1: TDBMemo Left = 0 - Top = 253 - Width = 240 - Height = 113 - Caption = 'Desconto 1:' + Top = 599 + Width = 1171 + Height = 55 + Align = alBottom + DataField = 'pagador' + DataSource = dtsBoletos TabOrder = 2 - object Label6: TLabel - Left = 16 - Top = 17 - Width = 36 - Height = 13 - Caption = 'C'#243'digo:' - end - object Label7: TLabel - Left = 176 - Top = 17 - Width = 27 - Height = 13 - Caption = 'Taxa:' - end - object Label8: TLabel - Left = 16 - Top = 63 - Width = 27 - Height = 13 - Caption = 'Valor:' - end - object DBEdit1: TDBEdit - Left = 16 - Top = 36 - Width = 137 - Height = 21 - DataField = 'codigo' - DataSource = dtsDesc1 - ReadOnly = True - TabOrder = 0 - end - object DBEdit2: TDBEdit - Left = 176 - Top = 36 - Width = 50 - Height = 21 - DataField = 'taxa' - DataSource = dtsDesc1 - ReadOnly = True - TabOrder = 1 - end - object DBEdit3: TDBEdit - Left = 16 - Top = 80 - Width = 137 - Height = 21 - DataField = 'valor' - DataSource = dtsDesc1 - ReadOnly = True - TabOrder = 2 - end - end - object gb_desc2: TGroupBox - Left = 255 - Top = 253 - Width = 240 - Height = 113 - Caption = 'Desconto 2:' - TabOrder = 3 - object Label9: TLabel - Left = 16 - Top = 17 - Width = 36 - Height = 13 - Caption = 'C'#243'digo:' - end - object Label10: TLabel - Left = 176 - Top = 17 - Width = 27 - Height = 13 - Caption = 'Taxa:' - end - object Label11: TLabel - Left = 16 - Top = 63 - Width = 27 - Height = 13 - Caption = 'Valor:' - end - object DBEdit4: TDBEdit - Left = 16 - Top = 36 - Width = 137 - Height = 21 - DataField = 'codigo' - DataSource = dtsDesc2 - ReadOnly = True - TabOrder = 0 - end - object DBEdit5: TDBEdit - Left = 176 - Top = 36 - Width = 50 - Height = 21 - DataField = 'taxa' - DataSource = dtsDesc2 - ReadOnly = True - TabOrder = 1 - end - object DBEdit6: TDBEdit - Left = 16 - Top = 80 - Width = 137 - Height = 21 - DataField = 'valor' - DataSource = dtsDesc2 - ReadOnly = True - TabOrder = 2 - end - end - object gb_desc3: TGroupBox - Left = 510 - Top = 253 - Width = 240 - Height = 113 - Caption = 'Desconto 3:' - TabOrder = 4 - object Label12: TLabel - Left = 16 - Top = 17 - Width = 36 - Height = 13 - Caption = 'C'#243'digo:' - end - object Label13: TLabel - Left = 176 - Top = 17 - Width = 27 - Height = 13 - Caption = 'Taxa:' - end - object Label14: TLabel - Left = 16 - Top = 63 - Width = 27 - Height = 13 - Caption = 'Valor:' - end - object DBEdit7: TDBEdit - Left = 16 - Top = 36 - Width = 137 - Height = 21 - DataField = 'codigo' - DataSource = dtsDesc3 - ReadOnly = True - TabOrder = 0 - end - object DBEdit8: TDBEdit - Left = 176 - Top = 36 - Width = 50 - Height = 21 - DataField = 'taxa' - DataSource = dtsDesc3 - ReadOnly = True - TabOrder = 1 - end - object DBEdit9: TDBEdit - Left = 16 - Top = 80 - Width = 137 - Height = 21 - DataField = 'valor' - DataSource = dtsDesc3 - ReadOnly = True - TabOrder = 2 - end + ExplicitTop = 643 end - object gb_multa: TGroupBox + object gbBoleto: TGroupBox Left = 0 - Top = 368 - Width = 360 - Height = 114 - Caption = 'Multa:' - TabOrder = 5 - object Label15: TLabel - Left = 16 - Top = 63 - Width = 27 - Height = 13 - Caption = 'Valor:' - end - object Label16: TLabel - Left = 16 - Top = 17 - Width = 36 - Height = 13 - Caption = 'C'#243'digo:' - end - object Label17: TLabel - Left = 176 - Top = 17 - Width = 27 - Height = 13 - Caption = 'Taxa:' - end - object Label18: TLabel - Left = 176 - Top = 63 - Width = 26 - Height = 13 - Caption = 'Data:' - end - object DBEdit10: TDBEdit - Left = 16 - Top = 82 - Width = 137 - Height = 21 - DataField = 'valor' - DataSource = dtsMulta - ReadOnly = True - TabOrder = 0 - end - object DBEdit11: TDBEdit - Left = 16 - Top = 36 - Width = 137 - Height = 21 - DataField = 'codigo' - DataSource = dtsMulta - ReadOnly = True - TabOrder = 1 - end - object DBEdit12: TDBEdit - Left = 176 - Top = 36 - Width = 50 - Height = 21 - DataField = 'taxa' - DataSource = dtsMulta - ReadOnly = True - TabOrder = 2 - end - object rdbdt_entrada: TrDBDateTimePicker - Left = 176 - Top = 82 - Width = 121 - Height = 21 - Date = 43017.406126562500000000 - Time = 43017.406126562500000000 - TabOrder = 4 - DataField = 'data' - DataSource = dtsMulta - ReadOnly = True - DBEditLabel.OwnCaption = 'Data de cadastramento:' - DBEditLabel.Visible = False - FormatEmpty = '__.__.__' - end - end - object gb_mora: TGroupBox - Left = 390 - Top = 368 - Width = 360 - Height = 114 - Caption = 'Mora:' - TabOrder = 6 - object Label19: TLabel - Left = 24 - Top = 17 - Width = 36 - Height = 13 - Caption = 'C'#243'digo:' - end - object Label20: TLabel - Left = 24 - Top = 63 - Width = 27 - Height = 13 - Caption = 'Valor:' - end - object Label21: TLabel - Left = 184 - Top = 17 - Width = 27 - Height = 13 - Caption = 'Taxa:' - end - object Label22: TLabel - Left = 184 - Top = 63 - Width = 26 - Height = 13 - Caption = 'Data:' - end - object DBEdit13: TDBEdit - Left = 24 - Top = 36 - Width = 137 - Height = 21 - DataField = 'codigo' - DataSource = dtsMora - ReadOnly = True - TabOrder = 0 - end - object DBEdit14: TDBEdit - Left = 24 - Top = 82 - Width = 137 - Height = 21 - DataField = 'valor' - DataSource = dtsMora - ReadOnly = True - TabOrder = 1 - end - object DBEdit15: TDBEdit - Left = 184 - Top = 36 - Width = 50 - Height = 21 - DataField = 'taxa' - DataSource = dtsMora - ReadOnly = True - TabOrder = 2 - end - object rDBDateTimePicker1: TrDBDateTimePicker - Left = 184 - Top = 82 - Width = 121 - Height = 21 - Date = 43017.406126562500000000 - Time = 43017.406126562500000000 - TabOrder = 4 - DataField = 'data' - DataSource = dtsMora - ReadOnly = True - DBEditLabel.OwnCaption = 'Data de cadastramento:' - DBEditLabel.Visible = False - FormatEmpty = '__.__.__' - end + Top = 327 + Width = 898 + Height = 307 + Caption = 'Dados do Boleto:' + TabOrder = 3 end end object tsGeraBoleto: TTabSheet Caption = 'Gerar' ImageIndex = 1 - ExplicitLeft = 0 - ExplicitTop = 0 - ExplicitWidth = 0 - ExplicitHeight = 0 - object pcGeraBoletos: TPageControl + ExplicitHeight = 698 + object pcPesquisaGerar: TPageControl Left = 0 Top = 0 - Width = 753 - Height = 496 - ActivePage = tsGeraUm + Width = 1171 + Height = 654 + ActivePage = TabSheet1 Align = alClient - Style = tsButtons TabOrder = 0 - object tsGeraUm: TTabSheet - Caption = 'Manual' - ExplicitLeft = 0 - ExplicitTop = 0 - ExplicitWidth = 0 - ExplicitHeight = 0 - object pcPesquisaGerar: TPageControl + ExplicitHeight = 698 + object TabSheet1: TTabSheet + AlignWithMargins = True + Margins.Right = 6 + Caption = 'Pesquisar' + ExplicitHeight = 664 + DesignSize = ( + 1154 + 620) + object gbPesquisa: TGroupBox Left = 0 Top = 0 - Width = 745 - Height = 465 - ActivePage = TabSheet2 - Align = alClient - Style = tsButtons + Width = 1154 + Height = 161 + Align = alTop + Caption = 'Pesquisar Cliente:' TabOrder = 0 - object TabSheet1: TTabSheet - Caption = 'Pesquisar' - ExplicitLeft = 0 - ExplicitTop = 0 - ExplicitWidth = 0 - ExplicitHeight = 0 - object dbgrd_bolunico: TDBGrid - Left = 0 - Top = 79 - Width = 735 - Height = 137 - Align = alCustom - DataSource = dtsBolUnico - Options = [dgTitles, dgIndicator, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgRowSelect, dgConfirmDelete, dgCancelOnExit, dgMultiSelect, dgTitleClick, dgTitleHotTrack] - ReadOnly = True + DesignSize = ( + 1154 + 161) + object spdbtnPesquisa: TSpeedButton + Left = 639 + Top = 26 + Width = 23 + Height = 22 + Glyph.Data = { + 36030000424D3603000000000000360000002800000010000000100000000100 + 18000000000000030000120B0000120B00000000000000000000FF00FF314B62 + AC7D7EFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00 + FFFF00FFFF00FFFF00FF5084B20F6FE1325F8CB87E7AFF00FFFF00FFFF00FFFF + 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF32A0FE37A1FF + 106FE2325F8BB67D79FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00 + FFFF00FFFF00FFFF00FFFF00FF37A4FE379FFF0E6DDE355F89BB7F79FF00FFFF + 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF + 37A4FE359EFF0F6FDE35608BA67B7FFF00FFFF00FFFF00FFFF00FFFF00FFFF00 + FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF38A5FE329DFF156DCE444F5BFF + 00FF9C6B65AF887BAF887EAA8075FF00FFFF00FFFF00FFFF00FFFF00FFFF00FF + FF00FFFF00FF3BABFFA1CAE7AD8679A98373E0CFB1FFFFDAFFFFDDFCF8CFCCB2 + 9FA1746BFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFC0917DFC + E9ACFFFFCCFFFFCFFFFFD0FFFFDEFFFFFAE3D3D1996965FF00FFFF00FFFF00FF + FF00FFFF00FFFF00FFFF00FFB08978FAD192FEF4C2FFFFD0FFFFDAFFFFF6FFFF + FCFFFFFCB69384FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFB08978FEDA97ED + B478FBEEBBFFFFD3FFFFDCFFFFF4FFFFF4FFFFE2E9DDBCA67B73FF00FFFF00FF + FF00FFFF00FFFF00FFB18A78FFDE99E9A167F4D199FEFCCCFFFFD5FFFFDAFFFF + DCFFFFD7EFE6C5A97E75FF00FFFF00FFFF00FFFF00FFFF00FFAA7F73FAE0A4F0 + B778EEBA7BF6DDA6FEFBCCFFFFD3FFFFD1FFFFD7D9C5A7A3756CFF00FFFF00FF + FF00FFFF00FFFF00FFFF00FFCEB293FFFEDDF4D1A5EEBA7BF2C78FF8E1ABFCF0 + BAFCFACAA3776FFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA1746BE1 + D4D3FFFEEEF7CC8CF0B473F7C788FCE3A5C2A088A5776CFF00FFFF00FFFF00FF + FF00FFFF00FFFF00FFFF00FFFF00FF986865BA9587EAD7A4EAD59EE0C097A577 + 6CA5776CFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF + 00FFFF00FFA77E70A98073A4786EFF00FFFF00FFFF00FFFF00FF} + OnClick = spdbtnPesquisaClick + end + object Label6: TLabel + Left = 721 + Top = 9 + Width = 44 + Height = 13 + Anchors = [akTop, akRight] + Caption = 'Hist'#243'rico:' + end + object edtPesquisa: TEdit + Left = 16 + Top = 27 + Width = 441 + Height = 21 + TabOrder = 0 + end + object rgTipoPesquisa: TRadioGroup + Left = 463 + Top = 12 + Width = 170 + Height = 37 + Caption = 'Tipo' + Columns = 2 + ItemIndex = 0 + Items.Strings = ( + 'nome' + 'documento') + TabOrder = 1 + end + object DBGrid1: TDBGrid + AlignWithMargins = True + Left = 721 + Top = 25 + Width = 428 + Height = 128 + Margins.Top = 10 + Margins.Bottom = 6 + Align = alRight + DataSource = dtsHist + TabOrder = 2 + TitleFont.Charset = DEFAULT_CHARSET + TitleFont.Color = clWindowText + TitleFont.Height = -11 + TitleFont.Name = 'MS Sans Serif' + TitleFont.Style = [] + Columns = < + item + Expanded = False + FieldName = 'tx_nome' + Title.Caption = 'Nome' + Width = 391 + Visible = True + end> + end + object DBGrid2: TDBGrid + Left = 16 + Top = 54 + Width = 699 + Height = 99 + Anchors = [akLeft, akTop, akRight, akBottom] + DataSource = dtsPesquisa + Options = [dgTitles, dgIndicator, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgRowSelect, dgConfirmDelete, dgCancelOnExit, dgTitleClick, dgTitleHotTrack] + ReadOnly = True + TabOrder = 3 + TitleFont.Charset = DEFAULT_CHARSET + TitleFont.Color = clWindowText + TitleFont.Height = -11 + TitleFont.Name = 'MS Sans Serif' + TitleFont.Style = [] + OnDblClick = DBGrid2DblClick + Columns = < + item + Expanded = False + FieldName = 'TX_NOME' + Title.Caption = 'Nome' + Width = 485 + Visible = True + end + item + Expanded = False + FieldName = 'TX_DOCUMENTO' + Title.Caption = 'Documento' + Width = 171 + Visible = True + end> + end + end + object GroupBox1: TGroupBox + Left = 0 + Top = 161 + Width = 1154 + Height = 462 + Anchors = [akLeft, akTop, akRight, akBottom] + Caption = 'Dados do Cliente:' + TabOrder = 1 + object Label7: TLabel + Left = 16 + Top = 72 + Width = 31 + Height = 13 + Caption = 'Nome:' + end + object Label8: TLabel + Left = 391 + Top = 72 + Width = 58 + Height = 13 + Caption = 'Documento:' + end + object Label13: TLabel + Left = 16 + Top = 120 + Width = 49 + Height = 13 + Caption = 'Endere'#231'o:' + end + object Label9: TLabel + Left = 428 + Top = 120 + Width = 45 + Height = 13 + Caption = 'Telefone:' + end + object Label10: TLabel + Left = 588 + Top = 120 + Width = 28 + Height = 13 + Caption = 'Email:' + end + object Label60: TLabel + Left = 588 + Top = 72 + Width = 157 + Height = 13 + Caption = 'Dias p/ Cancelamento do Boleto:' + end + object Label61: TLabel + Left = 758 + Top = 72 + Width = 129 + Height = 13 + Caption = 'Dia do m'#234's p/ Vencimento:' + end + object Label62: TLabel + Left = 921 + Top = 72 + Width = 116 + Height = 13 + Caption = 'Valor Nominal do Boleto:' + end + object Label63: TLabel + Left = 1043 + Top = 72 + Width = 83 + Height = 13 + Caption = 'Sufixo p/ Seu N'#186':' + end + object dbedtNomeDevBoleto: TDBEdit + Left = 16 + Top = 91 + Width = 369 + Height = 21 + DataField = 'TX_NOME' + DataSource = dtsDevedor + ReadOnly = True + TabOrder = 0 + end + object dbedtDocDevBoleto: TDBEdit + Left = 391 + Top = 91 + Width = 178 + Height = 21 + DataField = 'CD_DOCUMENTO' + DataSource = dtsDevedor + ReadOnly = True + TabOrder = 1 + end + object dblucbEndDevBoleto: TDBLookupComboBox + Left = 16 + Top = 139 + Width = 406 + Height = 21 + DataField = 'ID_ENDERECO_BOLETO' + DataSource = dtsDevedor + KeyField = 'ID_ENDERECO' + ListField = 'TX_ENDERECO_COMPLETO' + ListSource = dtmSystem.dtsCHGEnderecos + TabOrder = 2 + end + object dblucbTelDevBoleto: TDBLookupComboBox + Left = 428 + Top = 139 + Width = 140 + Height = 21 + DataField = 'ID_TELEFONE_BOLETO' + DataSource = dtsDevedor + KeyField = 'ID_TELEFONE' + ListField = 'TX_TELEFONE_COMPLETO' + ListSource = dtmSystem.dtsTelefones + TabOrder = 3 + end + object dblucbEmailDevBoleto: TDBLookupComboBox + Left = 588 + Top = 139 + Width = 280 + Height = 21 + DataField = 'ID_EMAIL_BOLETO' + DataSource = dtsDevedor + KeyField = 'ID_EMAIL' + ListField = 'TX_EMAIL' + ListSource = dtmSystem.dtsEmail + TabOrder = 4 + end + object navPrincipal: TDBNavigator + Left = 16 + Top = 16 + Width = 200 + Height = 44 + DataSource = dtsDevedor + VisibleButtons = [nbEdit, nbPost, nbCancel, nbRefresh] + Hints.Strings = ( + 'Primeiro Registro' + 'Registro Anterior' + 'Pr'#243'ximo Registro' + #218'ltimo Registro' + 'Criar Registro' + 'Apagar Registro' + 'Editar Registro' + 'Salvar Registro' + 'Cancelar' + 'Atualizar' + 'Apply updates' + 'Cancel updates') + ParentShowHint = False + ShowHint = False + TabOrder = 5 + end + object GroupBox7: TGroupBox + Left = 16 + Top = 166 + Width = 552 + Height = 155 + Caption = 'Mensagem:' + TabOrder = 6 + object Label11: TLabel + Left = 8 + Top = 20 + Width = 38 + Height = 13 + Caption = 'Linha 1:' + end + object Label12: TLabel + Left = 8 + Top = 47 + Width = 38 + Height = 13 + Caption = 'Linha 2:' + end + object Label22: TLabel + Left = 8 + Top = 74 + Width = 38 + Height = 13 + Caption = 'Linha 3:' + end + object Label23: TLabel + Left = 8 + Top = 101 + Width = 38 + Height = 13 + Caption = 'Linha 4:' + end + object Label24: TLabel + Left = 8 + Top = 128 + Width = 38 + Height = 13 + Caption = 'Linha 5:' + end + object dbEdtLinha1Boleto: TDBEdit + Left = 52 + Top = 17 + Width = 493 + Height = 21 + DataField = 'TX_MENSAGEM_BOLETO_1' + DataSource = dtsDevedor TabOrder = 0 - TitleFont.Charset = DEFAULT_CHARSET - TitleFont.Color = clWindowText - TitleFont.Height = -11 - TitleFont.Name = 'MS Sans Serif' - TitleFont.Style = [] - OnMouseUp = dbgrd_bolunicoMouseUp - Columns = < - item - Expanded = False - FieldName = 'TX_NOME' - Title.Caption = 'Nome' - Width = 200 - Visible = True - end - item - Expanded = False - FieldName = 'TX_DOCUMENTO' - Title.Caption = 'Documento' - Width = 90 - Visible = True - end - item - Expanded = False - FieldName = 'TX_PRODUTO' - Title.Caption = 'Produto' - Width = 180 - Visible = True - end - item - Expanded = False - FieldName = 'VL_TITULO' - Title.Caption = 'Principal' - Visible = True - end - item - Expanded = False - FieldName = 'VL_CORRIGIDO' - Title.Caption = 'Corrigido' - Visible = True - end - item - Expanded = False - FieldName = 'DT_VENCIMENTO' - Title.Caption = 'Vencimento' - Width = 75 - Visible = True - end> end - object dbgrd_emailsbolunico: TDBGrid - Left = 0 - Top = 222 - Width = 281 - Height = 75 - DataSource = dtsEmails - Options = [dgTitles, dgIndicator, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgConfirmDelete, dgCancelOnExit, dgTitleClick, dgTitleHotTrack] - ReadOnly = True + object dbEdtLinha2Boleto: TDBEdit + Left = 52 + Top = 44 + Width = 493 + Height = 21 + DataField = 'TX_MENSAGEM_BOLETO_2' + DataSource = dtsDevedor TabOrder = 1 - TitleFont.Charset = DEFAULT_CHARSET - TitleFont.Color = clWindowText - TitleFont.Height = -11 - TitleFont.Name = 'MS Sans Serif' - TitleFont.Style = [] - Columns = < - item - Expanded = False - FieldName = 'TX_EMAIL' - Title.Caption = 'Email' - Visible = True - end> end - object DBGrid1: TDBGrid - Left = 286 - Top = 222 - Width = 449 - Height = 75 - DataSource = dtsTelefones - Options = [dgTitles, dgIndicator, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgConfirmDelete, dgCancelOnExit, dgTitleClick, dgTitleHotTrack] - ReadOnly = True + object dbEdtLinha3Boleto: TDBEdit + Left = 52 + Top = 71 + Width = 493 + Height = 21 + DataField = 'TX_MENSAGEM_BOLETO_3' + DataSource = dtsDevedor TabOrder = 2 - TitleFont.Charset = DEFAULT_CHARSET - TitleFont.Color = clWindowText - TitleFont.Height = -11 - TitleFont.Name = 'MS Sans Serif' - TitleFont.Style = [] - Columns = < - item - Expanded = False - FieldName = 'NR_DDD' - Title.Caption = 'DDD' - Visible = True - end - item - Expanded = False - FieldName = 'NR_NUMERO' - Title.Caption = 'N'#250'mero' - Width = 76 - Visible = True - end - item - Expanded = False - FieldName = 'TP_ATIVO' - Title.Caption = 'Ativo' - Width = 33 - Visible = True - end - item - Expanded = False - FieldName = 'TP_TIPOTEL' - Title.Caption = 'Tipo' - Width = 31 - Visible = True - end - item - Expanded = False - FieldName = 'TP_SMS' - Title.Caption = 'SMS' - Width = 32 - Visible = True - end - item - Expanded = False - FieldName = 'TX_DESC' - Title.Caption = 'Descri'#231#227'o' - Visible = True - end> end - object DBGrid2: TDBGrid - Left = 0 - Top = 303 - Width = 735 - Height = 80 - DataSource = dtsEnderecos - Options = [dgTitles, dgIndicator, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgConfirmDelete, dgCancelOnExit, dgTitleClick, dgTitleHotTrack] - ReadOnly = True + object dbEdtLinha4Boleto: TDBEdit + Left = 52 + Top = 98 + Width = 493 + Height = 21 + DataField = 'TX_MENSAGEM_BOLETO_4' + DataSource = dtsDevedor TabOrder = 3 + end + object dbEdtLinha5Boleto: TDBEdit + Left = 52 + Top = 125 + Width = 493 + Height = 21 + DataField = 'TX_MENSAGEM_BOLETO_5' + DataSource = dtsDevedor + TabOrder = 4 + end + end + object btnPreparaBoleto: TButton + Left = 660 + Top = 16 + Width = 87 + Height = 25 + Caption = 'Preparar Boleto' + Enabled = False + TabOrder = 7 + Visible = False + OnClick = btnPreparaBoletoClick + end + object GroupBox8: TGroupBox + Left = 587 + Top = 189 + Width = 184 + Height = 132 + Caption = 'Multa:' + TabOrder = 8 + DesignSize = ( + 184 + 132) + object Label25: TLabel + Left = -88 + Top = 80 + Width = 27 + Height = 13 + Anchors = [akTop, akRight] + Caption = 'Taxa:' + ExplicitLeft = 8 + end + object Label26: TLabel + Left = 8 + Top = 55 + Width = 27 + Height = 13 + Caption = 'Valor:' + end + object Label27: TLabel + Left = 8 + Top = 99 + Width = 63 + Height = 26 + Caption = 'Qtd. Dias p/ Cobrar Multa:' + WordWrap = True + end + object DBLookupComboBox5: TDBLookupComboBox + Left = 8 + Top = 24 + Width = 168 + Height = 21 + DataField = 'TP_MULTA_BOLETO' + DataSource = dtsDevedor + KeyField = 'ID_STATUS' + ListField = 'TX_DESCRICAO' + ListSource = dtmSystem.dtsMultaBoleto + TabOrder = 0 + end + object DBEdit5: TDBEdit + Left = 41 + Top = 52 + Width = 108 + Height = 21 + DataField = 'VL_MULTA_BOLETO' + DataSource = dtsDevedor + TabOrder = 1 + OnKeyPress = DBEdit6KeyPress + end + object DBEdit6: TDBEdit + Left = 41 + Top = 77 + Width = 57 + Height = 21 + DataField = 'PR_MULTA_BOLETO' + DataSource = dtsDevedor + TabOrder = 2 + OnKeyPress = DBEdit6KeyPress + end + object DBEdit7: TDBEdit + Left = 73 + Top = 102 + Width = 34 + Height = 21 + DataField = 'NR_DIAS_MULTA_BOLETO' + DataSource = dtsDevedor + TabOrder = 3 + OnKeyPress = DBEdit7KeyPress + end + end + object GroupBox9: TGroupBox + Left = 587 + Top = 327 + Width = 184 + Height = 132 + Caption = 'Mora:' + TabOrder = 9 + DesignSize = ( + 184 + 132) + object Label28: TLabel + Left = -88 + Top = 80 + Width = 27 + Height = 13 + Anchors = [akTop, akRight] + Caption = 'Taxa:' + ExplicitLeft = 8 + end + object Label29: TLabel + Left = 8 + Top = 55 + Width = 27 + Height = 13 + Caption = 'Valor:' + end + object Label30: TLabel + Left = 8 + Top = 99 + Width = 61 + Height = 26 + Caption = 'Qtd. Dias p/ Cobrar Mora:' + WordWrap = True + end + object DBLookupComboBox6: TDBLookupComboBox + Left = 8 + Top = 24 + Width = 168 + Height = 21 + DataField = 'TP_MORA_BOLETO' + DataSource = dtsDevedor + KeyField = 'ID_STATUS' + ListField = 'TX_DESCRICAO' + ListSource = dtmSystem.dtsMoraBoleto + TabOrder = 0 + end + object DBEdit8: TDBEdit + Left = 41 + Top = 52 + Width = 108 + Height = 21 + DataField = 'VL_MORA_BOLETO' + DataSource = dtsDevedor + TabOrder = 1 + OnKeyPress = DBEdit6KeyPress + end + object DBEdit9: TDBEdit + Left = 41 + Top = 77 + Width = 57 + Height = 21 + DataField = 'PR_MORA_BOLETO' + DataSource = dtsDevedor + TabOrder = 2 + OnKeyPress = DBEdit6KeyPress + end + object DBEdit10: TDBEdit + Left = 73 + Top = 103 + Width = 34 + Height = 21 + DataField = 'NR_MORA_BOLETO' + DataSource = dtsDevedor + TabOrder = 3 + OnKeyPress = DBEdit7KeyPress + end + end + object GroupBox10: TGroupBox + Left = 16 + Top = 327 + Width = 184 + Height = 132 + Caption = 'Desconto 1:' + TabOrder = 10 + object Label31: TLabel + Left = 8 + Top = 80 + Width = 27 + Height = 13 + Caption = 'Taxa:' + end + object Label32: TLabel + Left = 8 + Top = 55 + Width = 27 + Height = 13 + Caption = 'Valor:' + end + object Label33: TLabel + Left = 8 + Top = 99 + Width = 97 + Height = 28 + Caption = 'Qtd. Dias antes do Venc. p/ Desconto:' + WordWrap = True + end + object DBLookupComboBox7: TDBLookupComboBox + Left = 8 + Top = 24 + Width = 168 + Height = 21 + DataField = 'TP_DESC_BOLETO_1' + DataSource = dtsDevedor + KeyField = 'ID_STATUS' + ListField = 'TX_DESCRICAO' + ListSource = dtmSystem.dtsDescBoleto + TabOrder = 0 + end + object DBEdit11: TDBEdit + Left = 41 + Top = 76 + Width = 57 + Height = 21 + DataField = 'PR_DESC_BOLETO_1' + DataSource = dtsDevedor + TabOrder = 1 + OnKeyPress = DBEdit6KeyPress + end + object DBEdit14: TDBEdit + Left = 41 + Top = 51 + Width = 108 + Height = 21 + DataField = 'VL_DESC_BOLETO_1' + DataSource = dtsDevedor + TabOrder = 2 + OnKeyPress = DBEdit6KeyPress + end + object DBEdit17: TDBEdit + Left = 104 + Top = 103 + Width = 34 + Height = 21 + DataField = 'NR_DIAS_DESC_BOLETO_1' + DataSource = dtsDevedor + TabOrder = 3 + OnKeyPress = DBEdit7KeyPress + end + end + object GroupBox11: TGroupBox + Left = 207 + Top = 327 + Width = 184 + Height = 132 + Caption = 'Desconto 2:' + TabOrder = 11 + object Label43: TLabel + Left = 8 + Top = 78 + Width = 27 + Height = 13 + Caption = 'Taxa:' + end + object Label44: TLabel + Left = 8 + Top = 55 + Width = 27 + Height = 13 + Caption = 'Valor:' + end + object Label53: TLabel + Left = 8 + Top = 98 + Width = 97 + Height = 29 + Caption = 'Qtd. Dias antes do Venc. p/ Desconto:' + WordWrap = True + end + object DBLookupComboBox8: TDBLookupComboBox + Left = 8 + Top = 24 + Width = 168 + Height = 21 + DataField = 'TP_DESC_BOLETO_2' + DataSource = dtsDevedor + KeyField = 'ID_STATUS' + ListField = 'TX_DESCRICAO' + ListSource = dtmSystem.dtsDescBoleto + TabOrder = 0 + end + object DBEdit12: TDBEdit + Left = 41 + Top = 76 + Width = 57 + Height = 21 + DataField = 'PR_DESC_BOLETO_2' + DataSource = dtsDevedor + TabOrder = 1 + OnKeyPress = DBEdit6KeyPress + end + object DBEdit15: TDBEdit + Left = 41 + Top = 51 + Width = 108 + Height = 21 + DataField = 'VL_DESC_BOLETO_2' + DataSource = dtsDevedor + TabOrder = 2 + OnKeyPress = DBEdit6KeyPress + end + object DBEdit18: TDBEdit + Left = 106 + Top = 103 + Width = 34 + Height = 21 + DataField = 'NR_DIAS_DESC_BOLETO_2' + DataSource = dtsDevedor + TabOrder = 3 + OnKeyPress = DBEdit7KeyPress + end + end + object GroupBox12: TGroupBox + Left = 397 + Top = 327 + Width = 184 + Height = 132 + Caption = 'Desconto 3:' + TabOrder = 12 + object Label54: TLabel + Left = 8 + Top = 78 + Width = 27 + Height = 13 + Caption = 'Taxa:' + end + object Label58: TLabel + Left = 8 + Top = 55 + Width = 27 + Height = 13 + Caption = 'Valor:' + end + object Label59: TLabel + Left = 8 + Top = 98 + Width = 97 + Height = 29 + Caption = 'Qtd. Dias antes do Venc. p/ Desconto:' + WordWrap = True + end + object DBLookupComboBox9: TDBLookupComboBox + Left = 8 + Top = 24 + Width = 168 + Height = 21 + DataField = 'TP_DESC_BOLETO_3' + DataSource = dtsDevedor + KeyField = 'ID_STATUS' + ListField = 'TX_DESCRICAO' + ListSource = dtmSystem.dtsDescBoleto + TabOrder = 0 + end + object DBEdit13: TDBEdit + Left = 41 + Top = 75 + Width = 57 + Height = 21 + DataField = 'PR_DESC_BOLETO_3' + DataSource = dtsDevedor + TabOrder = 1 + OnKeyPress = DBEdit6KeyPress + end + object DBEdit16: TDBEdit + Left = 41 + Top = 51 + Width = 108 + Height = 21 + DataField = 'VL_DESC_BOLETO_3' + DataSource = dtsDevedor + TabOrder = 2 + OnKeyPress = DBEdit6KeyPress + end + object DBEdit19: TDBEdit + Left = 107 + Top = 103 + Width = 34 + Height = 21 + DataField = 'NR_DIAS_DESC_BOLETO_3' + DataSource = dtsDevedor + TabOrder = 3 + OnKeyPress = DBEdit7KeyPress + end + end + object DBEdit20: TDBEdit + Left = 588 + Top = 91 + Width = 157 + Height = 21 + DataField = 'NR_DIAS_AGENDA' + TabOrder = 13 + OnKeyPress = DBEdit7KeyPress + end + object DBEdit21: TDBEdit + Left = 758 + Top = 91 + Width = 157 + Height = 21 + DataField = 'NR_DIA_VENCIMENTO' + TabOrder = 14 + OnKeyPress = DBEdit7KeyPress + end + object DBEdit22: TDBEdit + Left = 921 + Top = 91 + Width = 116 + Height = 21 + DataField = 'VL_NOMINAL_BOLETO' + TabOrder = 15 + OnKeyPress = DBEdit6KeyPress + end + object DBEdit23: TDBEdit + Left = 1043 + Top = 91 + Width = 99 + Height = 21 + DataField = 'TX_SUFIXO_SEU_NUMERO' + TabOrder = 16 + OnKeyPress = DBEdit7KeyPress + end + object btnGerarBoleto: TButton + Left = 857 + Top = 16 + Width = 75 + Height = 25 + Caption = 'Gerar Boleto' + TabOrder = 17 + OnClick = btnGerarBoletoClick + end + object btnFichaCliente: TButton + Left = 1024 + Top = 16 + Width = 127 + Height = 25 + Caption = 'Abrir Ficha do Devedor' + Enabled = False + TabOrder = 18 + OnClick = btnFichaClienteClick + end + object GroupBox13: TGroupBox + Left = 777 + Top = 304 + Width = 370 + Height = 155 + Caption = 'Empresas dos T'#237'tulos dos Boletos' + TabOrder = 19 + object DBLookupComboBox10: TDBLookupComboBox + Left = 16 + Top = 48 + Width = 241 + Height = 21 + DataField = 'ID_EMPRESA' + DataSource = dtmSystem.dtsDevEmpBoletos + KeyField = 'ID_EMPRESA' + ListField = 'TX_NOME' + ListSource = dtmSystem.dtsCHGEmpresa + TabOrder = 0 + end + object DBGrid3: TDBGrid + Left = 16 + Top = 75 + Width = 329 + Height = 70 + DataSource = dtmSystem.dtsDevEmpBoletos + TabOrder = 1 TitleFont.Charset = DEFAULT_CHARSET TitleFont.Color = clWindowText TitleFont.Height = -11 TitleFont.Name = 'MS Sans Serif' TitleFont.Style = [] - Columns = < - item - Expanded = False - FieldName = 'TP_ENDERECO' - Title.Caption = 'Tipo' - Width = 32 - Visible = True - end - item - Expanded = False - FieldName = 'TP_ATIVO' - Title.Caption = 'Ativo' - Width = 33 - Visible = True - end - item - Expanded = False - FieldName = 'TX_LOGRADOURO' - Title.Caption = 'Rua' - Width = 282 - Visible = True - end - item - Expanded = False - FieldName = 'NR_NUMERO' - Title.Caption = 'N'#250'mero' - Width = 49 - Visible = True - end - item - Expanded = False - FieldName = 'TX_COMPLEMENTO' - Title.Caption = 'Complemento' - Width = 138 - Visible = True - end - item - Expanded = False - FieldName = 'TX_BAIRRO' - Title.Caption = 'Bairro' - Width = 93 - Visible = True - end - item - Expanded = False - FieldName = 'TX_CIDADE' - Title.Caption = 'Cidade' - Visible = True - end - item - Expanded = False - FieldName = 'TX_ESTADO' - Title.Caption = 'UF' - Width = 20 - Visible = True - end - item - Expanded = False - FieldName = 'TX_CEP' - Title.Caption = 'Cep' - Visible = True - end - item - Expanded = False - FieldName = 'TP_CONFIRMADO' - Title.Caption = 'Confirmado' - Width = 59 - Visible = True - end> - end - object GroupBox1: TGroupBox - Left = 0 - Top = 3 - Width = 735 - Height = 70 - Caption = 'Filtro:' - TabOrder = 4 - object Label23: TLabel - Left = 16 - Top = 16 - Width = 139 - Height = 13 - Caption = 'Grupo de Empresa de Boleto:' - end - object Label24: TLabel - Left = 288 - Top = 16 - Width = 100 - Height = 13 - Caption = 'Per'#237'odo Vencimento:' - end - object Label25: TLabel - Left = 379 - Top = 39 - Width = 6 - Height = 13 - Caption = 'a' - end - object SpeedButton2: TSpeedButton - Left = 544 - Top = 34 - Width = 23 - Height = 22 - Glyph.Data = { - 36030000424D3603000000000000360000002800000010000000100000000100 - 18000000000000030000120B0000120B00000000000000000000FF00FF314B62 - AC7D7EFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FF5084B20F6FE1325F8CB87E7AFF00FFFF00FFFF00FFFF - 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF32A0FE37A1FF - 106FE2325F8BB67D79FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FF37A4FE379FFF0E6DDE355F89BB7F79FF00FFFF - 00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF - 37A4FE359EFF0F6FDE35608BA67B7FFF00FFFF00FFFF00FFFF00FFFF00FFFF00 - FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF38A5FE329DFF156DCE444F5BFF - 00FF9C6B65AF887BAF887EAA8075FF00FFFF00FFFF00FFFF00FFFF00FFFF00FF - FF00FFFF00FF3BABFFA1CAE7AD8679A98373E0CFB1FFFFDAFFFFDDFCF8CFCCB2 - 9FA1746BFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFC0917DFC - E9ACFFFFCCFFFFCFFFFFD0FFFFDEFFFFFAE3D3D1996965FF00FFFF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFB08978FAD192FEF4C2FFFFD0FFFFDAFFFFF6FFFF - FCFFFFFCB69384FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFB08978FEDA97ED - B478FBEEBBFFFFD3FFFFDCFFFFF4FFFFF4FFFFE2E9DDBCA67B73FF00FFFF00FF - FF00FFFF00FFFF00FFB18A78FFDE99E9A167F4D199FEFCCCFFFFD5FFFFDAFFFF - DCFFFFD7EFE6C5A97E75FF00FFFF00FFFF00FFFF00FFFF00FFAA7F73FAE0A4F0 - B778EEBA7BF6DDA6FEFBCCFFFFD3FFFFD1FFFFD7D9C5A7A3756CFF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFCEB293FFFEDDF4D1A5EEBA7BF2C78FF8E1ABFCF0 - BAFCFACAA3776FFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFA1746BE1 - D4D3FFFEEEF7CC8CF0B473F7C788FCE3A5C2A088A5776CFF00FFFF00FFFF00FF - FF00FFFF00FFFF00FFFF00FFFF00FF986865BA9587EAD7A4EAD59EE0C097A577 - 6CA5776CFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF - 00FFFF00FFA77E70A98073A4786EFF00FFFF00FFFF00FFFF00FF} - OnClick = SpeedButton2Click - end - object dblucb_filtrobolunico: TDBLookupComboBox - Left = 16 - Top = 35 - Width = 241 - Height = 21 - KeyField = 'ID_GRUPO' - ListField = 'TX_NOME' - ListSource = dtmSystem.dtsGrupoBoletos - TabOrder = 0 - end - object dtp_vencinbolunico: TDateTimePicker - Left = 288 - Top = 35 - Width = 81 - Height = 21 - Date = 44215.663146446760000000 - Time = 44215.663146446760000000 - TabOrder = 1 - end - object dtp_vencoutbolunico: TDateTimePicker - Left = 399 - Top = 35 - Width = 82 - Height = 21 - Date = 44215.663217199070000000 - Time = 44215.663217199070000000 - TabOrder = 2 - end + Columns = < + item + Expanded = False + FieldName = 'TX_EMPRESA' + Title.Caption = 'Empresa' + Width = 287 + Visible = True + end> + end + object DBNavigator1: TDBNavigator + Left = 15 + Top = 21 + Width = 198 + Height = 21 + DataSource = dtmSystem.dtsDevEmpBoletos + VisibleButtons = [nbInsert, nbDelete, nbEdit, nbPost, nbCancel, nbRefresh] + TabOrder = 2 + BeforeAction = DBNavigator1BeforeAction end end - object TabSheet2: TTabSheet - Caption = 'Dados' - ImageIndex = 1 - ExplicitLeft = 0 - ExplicitTop = 0 - ExplicitWidth = 0 - ExplicitHeight = 0 - object Label26: TLabel - Left = 214 - Top = 33 - Width = 24 + end + end + object TabSheet2: TTabSheet + Caption = 'Dados' + ImageIndex = 1 + ExplicitHeight = 670 + object btn_gerarbolunico: TButton + Left = 1085 + Top = 599 + Width = 75 + Height = 25 + Caption = 'Gerar' + TabOrder = 0 + OnClick = btn_gerarbolunicoClick + end + object gbPagador: TGroupBox + Left = 0 + Top = 0 + Width = 1163 + Height = 113 + Align = alTop + Caption = 'Dados do Pagador:' + TabOrder = 1 + object lblNomePagador: TLabel + Left = 3 + Top = 16 + Width = 31 + Height = 13 + Caption = 'Nome:' + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + ParentFont = False + end + object lblDocumentoPagador: TLabel + Left = 522 + Top = 16 + Width = 119 + Height = 13 + Caption = 'Documento (CPF/CNPJ):' + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + ParentFont = False + end + object lblTipoPagador: TLabel + Left = 755 + Top = 16 + Width = 77 + Height = 13 + Caption = 'Tipo de Pessoa:' + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + ParentFont = False + end + object lblEmailPagador: TLabel + Left = 838 + Top = 16 + Width = 28 + Height = 13 + Caption = 'Email:' + end + object lblEnderecoPagador: TLabel + Left = 3 + Top = 62 + Width = 49 + Height = 13 + Caption = 'Endere'#231'o:' + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + ParentFont = False + end + object lblNumeroPagador: TLabel + Left = 373 + Top = 62 + Width = 15 + Height = 13 + Caption = 'N'#186':' + end + object lblComplementoPagador: TLabel + Left = 458 + Top = 62 + Width = 67 + Height = 13 + Caption = 'Complemento:' + end + object lblBairroPagador: TLabel + Left = 531 + Top = 62 + Width = 30 + Height = 13 + Caption = 'Bairro:' + end + object lblCidadePagador: TLabel + Left = 658 + Top = 62 + Width = 36 + Height = 13 + Caption = 'Cidade:' + end + object lblUfPagador: TLabel + Left = 823 + Top = 62 + Width = 17 + Height = 13 + Caption = 'UF:' + end + object lblCepPagador: TLabel + Left = 859 + Top = 62 + Width = 24 + Height = 13 + Caption = 'CEP:' + end + object lblDddPagador: TLabel + Left = 986 + Top = 62 + Width = 27 + Height = 13 + Caption = 'DDD:' + end + object lblTelefonePagador: TLabel + Left = 1035 + Top = 62 + Width = 45 + Height = 13 + Caption = 'Telefone:' + end + object edtNomePagador: TEdit + Left = 3 + Top = 35 + Width = 513 + Height = 21 + TabOrder = 0 + end + object edtDocumentoPagador: TEdit + Left = 522 + Top = 35 + Width = 227 + Height = 21 + TabOrder = 1 + end + object cbTipoPagador: TComboBox + Left = 755 + Top = 35 + Width = 77 + Height = 21 + TabOrder = 2 + Items.Strings = ( + 'F'#237'sica' + 'Jur'#237'dica') + end + object edtEmailPagador: TEdit + Left = 838 + Top = 35 + Width = 318 + Height = 21 + TabOrder = 3 + end + object edtEnderecoPagador: TEdit + Left = 3 + Top = 81 + Width = 364 + Height = 21 + TabOrder = 4 + end + object edtNumeroPagador: TEdit + Left = 373 + Top = 81 + Width = 79 + Height = 21 + NumbersOnly = True + TabOrder = 5 + end + object edtComplementoPagador: TEdit + Left = 458 + Top = 81 + Width = 67 + Height = 21 + TabOrder = 6 + end + object edtBairroPagador: TEdit + Left = 531 + Top = 81 + Width = 121 + Height = 21 + TabOrder = 7 + end + object edtCidadePagador: TEdit + Left = 658 + Top = 81 + Width = 159 + Height = 21 + TabOrder = 8 + end + object edtUfPagador: TEdit + Left = 823 + Top = 81 + Width = 30 + Height = 21 + TabOrder = 9 + end + object edtCepPagador: TEdit + Left = 859 + Top = 81 + Width = 121 + Height = 21 + TabOrder = 10 + end + object edtDddPagador: TEdit + Left = 986 + Top = 81 + Width = 43 + Height = 21 + NumbersOnly = True + TabOrder = 11 + end + object edtTelefonePagador: TEdit + Left = 1035 + Top = 81 + Width = 121 + Height = 21 + TabOrder = 12 + end + end + object gbDadosBoleto: TGroupBox + Left = 0 + Top = 113 + Width = 1163 + Height = 296 + Align = alTop + Caption = 'Dados do Boleto:' + TabOrder = 2 + object lblSeuNumeroBoleto: TLabel + Left = 3 + Top = 16 + Width = 37 + Height = 13 + Caption = 'Seu N'#186':' + end + object lblVlNominalBoleto: TLabel + Left = 119 + Top = 16 + Width = 68 + Height = 13 + Caption = 'Valor Nominal:' + end + object lblVencimentoBoleto: TLabel + Left = 327 + Top = 16 + Width = 59 + Height = 13 + Caption = 'Vencimento:' + end + object lblDiasCancelamentoBoleto: TLabel + Left = 419 + Top = 16 + Width = 122 + Height = 13 + Caption = 'N'#186' dias p/ Cancelamento:' + end + object edtSeuNumeroBoleto: TEdit + Left = 3 + Top = 35 + Width = 110 + Height = 21 + MaxLength = 15 + NumbersOnly = True + TabOrder = 0 + end + object edtVlNominalBoleto: TEdit + Left = 119 + Top = 35 + Width = 202 + Height = 21 + TabOrder = 1 + end + object dtpVencimentoBoleto: TDateTimePicker + Left = 327 + Top = 35 + Width = 86 + Height = 21 + Date = 44218.722504768520000000 + Time = 44218.722504768520000000 + TabOrder = 2 + end + object edtDiasCancelamentoBoleto: TEdit + Left = 419 + Top = 35 + Width = 121 + Height = 21 + NumbersOnly = True + TabOrder = 3 + end + object gbMensagemBoleto: TGroupBox + Left = 3 + Top = 62 + Width = 552 + Height = 155 + Caption = 'Mensagem:' + TabOrder = 4 + object Label49: TLabel + Left = 8 + Top = 20 + Width = 38 Height = 13 - Caption = 'CEP:' + Caption = 'Linha 1:' end - object Label27: TLabel - Left = 311 - Top = 33 - Width = 15 + object Label50: TLabel + Left = 8 + Top = 47 + Width = 38 Height = 13 - Caption = 'N'#186':' + Caption = 'Linha 2:' end - object Label28: TLabel - Left = 416 - Top = 33 - Width = 67 + object Label51: TLabel + Left = 8 + Top = 74 + Width = 38 Height = 13 - Caption = 'Complemento:' + Caption = 'Linha 3:' end - object Label29: TLabel - Left = 552 - Top = 33 - Width = 30 + object Label52: TLabel + Left = 8 + Top = 101 + Width = 38 Height = 13 - Caption = 'Bairro:' + Caption = 'Linha 4:' end - object Label30: TLabel - Left = 2 - Top = 60 - Width = 36 + object Label57: TLabel + Left = 8 + Top = 128 + Width = 38 Height = 13 - Caption = 'Cidade:' + Caption = 'Linha 5:' end - object Label31: TLabel - Left = 171 - Top = 60 - Width = 17 - Height = 13 - Caption = 'UF:' + object edtLinha1Boleto: TEdit + Left = 52 + Top = 17 + Width = 493 + Height = 21 + MaxLength = 78 + TabOrder = 0 end - object Label32: TLabel - Left = 230 - Top = 60 - Width = 49 - Height = 13 - Caption = 'Endere'#231'o:' + object edtLinha2Boleto: TEdit + Left = 52 + Top = 44 + Width = 493 + Height = 21 + MaxLength = 78 + TabOrder = 1 + end + object edtLinha3Boleto: TEdit + Left = 52 + Top = 71 + Width = 493 + Height = 21 + MaxLength = 78 + TabOrder = 2 + end + object edtLinha4Boleto: TEdit + Left = 52 + Top = 98 + Width = 493 + Height = 21 + MaxLength = 78 + TabOrder = 3 + end + object edtLinha5Boleto: TEdit + Left = 52 + Top = 125 + Width = 493 + Height = 21 + MaxLength = 78 + TabOrder = 4 end - object lbl_dddbolunico: TLabel - Left = 2 - Top = 33 + end + object GroupBox2: TGroupBox + Left = 561 + Top = 106 + Width = 280 + Height = 87 + Caption = 'Desconto 1:' + TabOrder = 5 + DesignSize = ( + 280 + 87) + object Label34: TLabel + Left = 181 + Top = 27 Width = 27 Height = 13 - Caption = 'DDD:' + Anchors = [akTop, akRight] + Caption = 'Taxa:' + ExplicitLeft = 143 end - object lbl_docbolunico: TLabel - Left = 286 - Top = 6 - Width = 58 + object Label35: TLabel + Left = 8 + Top = 55 + Width = 27 Height = 13 - Caption = 'Documento:' + Caption = 'Valor:' end - object lbl_emailbolunico: TLabel - Left = 489 - Top = 6 - Width = 28 + object Label36: TLabel + Left = 155 + Top = 55 + Width = 26 Height = 13 - Caption = 'Email:' + Anchors = [akTop, akRight] + Caption = 'Data:' + ExplicitLeft = 117 end - object lbl_nomebolunico: TLabel - Left = 2 - Top = 6 - Width = 31 - Height = 13 - Caption = 'Nome:' + object cb_desc1: TComboBox + Left = 8 + Top = 24 + Width = 168 + Height = 21 + TabOrder = 0 + Items.Strings = ( + 'NAOTEMDESCONTO' + 'VALORFIXODATAINFORMADA' + 'PERCENTUALDATAINFORMADA' + 'VALORANTECIPACAODIACORRIDO' + 'VALORANTECIPACAODIAUTIL' + 'PERCENTUALVALORNOMINALDIACORRIDO' + 'PERCENTUALVALORNOMINALDIAUTIL') end - object lbl_telbolunico: TLabel - Left = 82 - Top = 33 - Width = 45 - Height = 13 - Caption = 'Telefone:' + object edt_taxa1bol: TEdit + Left = 214 + Top = 24 + Width = 57 + Height = 21 + Anchors = [akTop, akRight] + TabOrder = 1 end - object Label33: TLabel - Left = 2 - Top = 106 - Width = 59 - Height = 13 - Caption = 'Vencimento:' + object edt_val1bol: TEdit + Left = 41 + Top = 51 + Width = 108 + Height = 21 + TabOrder = 2 end - object Label43: TLabel - Left = 159 - Top = 106 - Width = 75 - Height = 13 - Caption = 'Valor do Boleto:' + object dtp_desc1: TDateTimePicker + Left = 187 + Top = 51 + Width = 84 + Height = 21 + Anchors = [akTop, akRight] + Date = 44218.738580023150000000 + Time = 44218.738580023150000000 + TabOrder = 3 end - object Label44: TLabel - Left = 367 - Top = 106 - Width = 98 + end + object GroupBox3: TGroupBox + Left = 847 + Top = 106 + Width = 280 + Height = 87 + Caption = 'Desconto 2:' + TabOrder = 6 + DesignSize = ( + 280 + 87) + object Label37: TLabel + Left = 181 + Top = 27 + Width = 27 Height = 13 - Caption = 'Valor de Abatimento:' + Anchors = [akTop, akRight] + Caption = 'Taxa:' + ExplicitLeft = 143 end - object Label53: TLabel - Left = 537 - Top = 239 - Width = 56 + object Label38: TLabel + Left = 8 + Top = 55 + Width = 27 Height = 13 - Caption = 'Data Limite:' + Caption = 'Valor:' end - object Label54: TLabel - Left = 537 - Top = 266 - Width = 78 + object Label39: TLabel + Left = 155 + Top = 55 + Width = 26 Height = 13 - Caption = 'Dias p/ Agenda:' + Anchors = [akTop, akRight] + Caption = 'Data:' + ExplicitLeft = 117 end - object edt_bairrobolunico: TEdit - Left = 583 - Top = 30 - Width = 153 + object cb_desc2: TComboBox + Left = 8 + Top = 24 + Width = 168 Height = 21 - TabOrder = 8 + TabOrder = 0 + Items.Strings = ( + 'NAOTEMDESCONTO' + 'VALORFIXODATAINFORMADA' + 'PERCENTUALDATAINFORMADA' + 'VALORANTECIPACAODIACORRIDO' + 'VALORANTECIPACAODIAUTIL' + 'PERCENTUALVALORNOMINALDIACORRIDO' + 'PERCENTUALVALORNOMINALDIAUTIL') end - object edt_cepbolunico: TEdit - Left = 244 - Top = 30 - Width = 60 + object edt_taxa2bol: TEdit + Left = 214 + Top = 24 + Width = 57 Height = 21 - TabOrder = 5 + Anchors = [akTop, akRight] + TabOrder = 1 end - object edt_cidadebolunico: TEdit - Left = 44 - Top = 57 - Width = 121 + object edt_val2bol: TEdit + Left = 41 + Top = 51 + Width = 108 Height = 21 - TabOrder = 9 + TabOrder = 2 end - object edt_compbolunico: TEdit - Left = 489 - Top = 30 - Width = 57 + object dtp_desc2: TDateTimePicker + Left = 187 + Top = 51 + Width = 84 Height = 21 - TabOrder = 7 + Anchors = [akTop, akRight] + Date = 44218.738580023150000000 + Time = 44218.738580023150000000 + TabOrder = 3 + end + end + object GroupBox4: TGroupBox + Left = 700 + Top = 199 + Width = 280 + Height = 87 + Caption = 'Desconto 3:' + TabOrder = 7 + DesignSize = ( + 280 + 87) + object Label40: TLabel + Left = 181 + Top = 27 + Width = 27 + Height = 13 + Anchors = [akTop, akRight] + Caption = 'Taxa:' + ExplicitLeft = 143 + end + object Label41: TLabel + Left = 8 + Top = 55 + Width = 27 + Height = 13 + Caption = 'Valor:' + end + object Label42: TLabel + Left = 155 + Top = 55 + Width = 26 + Height = 13 + Anchors = [akTop, akRight] + Caption = 'Data:' + ExplicitLeft = 117 end - object edt_dddbolunico: TEdit - Left = 35 - Top = 30 - Width = 41 + object cb_desc3: TComboBox + Left = 8 + Top = 24 + Width = 168 Height = 21 - TabOrder = 3 + TabOrder = 0 + Items.Strings = ( + 'NAOTEMDESCONTO' + 'VALORFIXODATAINFORMADA' + 'PERCENTUALDATAINFORMADA' + 'VALORANTECIPACAODIACORRIDO' + 'VALORANTECIPACAODIAUTIL' + 'PERCENTUALVALORNOMINALDIACORRIDO' + 'PERCENTUALVALORNOMINALDIAUTIL') end - object edt_docbolunico: TEdit - Left = 350 - Top = 3 - Width = 133 + object edt_taxa3bol: TEdit + Left = 214 + Top = 24 + Width = 57 Height = 21 - Hint = 'Documento sem ".", "-" ou "/'#39 + Anchors = [akTop, akRight] TabOrder = 1 end - object edt_emailbolunico: TEdit - Left = 518 - Top = 3 - Width = 218 + object edt_val3bol: TEdit + Left = 41 + Top = 51 + Width = 108 Height = 21 TabOrder = 2 end - object edt_endbolunico: TEdit - Left = 285 - Top = 57 - Width = 451 + object dtp_desc3: TDateTimePicker + Left = 187 + Top = 51 + Width = 84 Height = 21 - TabOrder = 11 + Anchors = [akTop, akRight] + Date = 44218.738580023150000000 + Time = 44218.738580023150000000 + TabOrder = 3 end - object edt_endnumbolunico: TEdit - Left = 332 - Top = 30 - Width = 79 - Height = 21 - NumbersOnly = True - TabOrder = 6 + end + object GroupBox6: TGroupBox + Left = 847 + Top = 13 + Width = 280 + Height = 87 + Caption = 'Mora:' + TabOrder = 8 + DesignSize = ( + 280 + 87) + object Label47: TLabel + Left = 182 + Top = 27 + Width = 27 + Height = 13 + Anchors = [akTop, akRight] + Caption = 'Taxa:' + ExplicitLeft = 159 end - object edt_estadobolunico: TEdit - Left = 194 - Top = 57 - Width = 30 - Height = 21 - TabOrder = 10 + object Label48: TLabel + Left = 8 + Top = 55 + Width = 27 + Height = 13 + Caption = 'Valor:' end - object edt_nomebolunico: TEdit - Left = 39 - Top = 3 - Width = 241 + object Label55: TLabel + Left = 155 + Top = 55 + Width = 26 + Height = 13 + Anchors = [akTop, akRight] + Caption = 'Data:' + end + object cb_morabol: TComboBox + Left = 8 + Top = 24 + Width = 168 Height = 21 TabOrder = 0 + Items.Strings = ( + 'VALORDIA' + 'TAXAMENSAL' + 'ISENTO') end - object edt_telbolunico: TEdit - Left = 133 - Top = 30 - Width = 71 + object edt_taxamorabol: TEdit + Left = 215 + Top = 24 + Width = 57 Height = 21 - TabOrder = 4 + Anchors = [akTop, akRight] + TabOrder = 1 end - object dt_vencbolunico: TDateTimePicker - Left = 67 - Top = 103 - Width = 86 + object edt_vlmorabol: TEdit + Left = 41 + Top = 51 + Width = 108 Height = 21 - Date = 44218.722504768520000000 - Time = 44218.722504768520000000 - TabOrder = 12 - end - object Panel1: TPanel - Left = 0 - Top = 96 - Width = 737 - Height = 1 - TabOrder = 14 - end - object GroupBox2: TGroupBox - Left = 0 - Top = 126 - Width = 242 - Height = 87 - Caption = 'Desconto 1:' - TabOrder = 15 - object Label34: TLabel - Left = 143 - Top = 27 - Width = 27 - Height = 13 - Caption = 'Taxa:' - end - object Label35: TLabel - Left = 8 - Top = 55 - Width = 27 - Height = 13 - Caption = 'Valor:' - end - object Label36: TLabel - Left = 117 - Top = 55 - Width = 26 - Height = 13 - Caption = 'Data:' - end - object cb_desc1: TComboBox - Left = 8 - Top = 24 - Width = 129 - Height = 21 - ItemIndex = 0 - TabOrder = 0 - Text = 'NAOTEMDESCONTO' - Items.Strings = ( - 'NAOTEMDESCONTO' - 'VALORFIXODATAINFORMADA' - 'PERCENTUALDATAINFORMADA' - 'VALORANTECIPACAODIACORRIDO' - 'VALORANTECIPACAODIAUTIL' - 'PERCENTUALVALORNOMINALDIACORRIDO' - 'PERCENTUALVALORNOMINALDIAUTIL') - end - object edt_taxa1bol: TEdit - Left = 176 - Top = 24 - Width = 57 - Height = 21 - TabOrder = 1 - end - object edt_val1bol: TEdit - Left = 41 - Top = 51 - Width = 70 - Height = 21 - TabOrder = 2 - end - object dtp_desc1: TDateTimePicker - Left = 149 - Top = 51 - Width = 84 - Height = 21 - Date = 44218.738580023150000000 - Time = 44218.738580023150000000 - TabOrder = 3 - end - end - object GroupBox3: TGroupBox - Left = 248 - Top = 126 - Width = 242 - Height = 87 - Caption = 'Desconto 2:' - TabOrder = 16 - object Label37: TLabel - Left = 143 - Top = 27 - Width = 27 - Height = 13 - Caption = 'Taxa:' - end - object Label38: TLabel - Left = 8 - Top = 55 - Width = 27 - Height = 13 - Caption = 'Valor:' - end - object Label39: TLabel - Left = 117 - Top = 55 - Width = 26 - Height = 13 - Caption = 'Data:' - end - object cb_desc2: TComboBox - Left = 8 - Top = 24 - Width = 129 - Height = 21 - ItemIndex = 0 - TabOrder = 0 - Text = 'NAOTEMDESCONTO' - Items.Strings = ( - 'NAOTEMDESCONTO' - 'VALORFIXODATAINFORMADA' - 'PERCENTUALDATAINFORMADA' - 'VALORANTECIPACAODIACORRIDO' - 'VALORANTECIPACAODIAUTIL' - 'PERCENTUALVALORNOMINALDIACORRIDO' - 'PERCENTUALVALORNOMINALDIAUTIL') - end - object edt_taxa2bol: TEdit - Left = 176 - Top = 24 - Width = 57 - Height = 21 - TabOrder = 1 - end - object edt_val2bol: TEdit - Left = 41 - Top = 51 - Width = 70 - Height = 21 - TabOrder = 2 - end - object dtp_desc2: TDateTimePicker - Left = 149 - Top = 51 - Width = 84 - Height = 21 - Date = 44218.738580023150000000 - Time = 44218.738580023150000000 - TabOrder = 3 - end - end - object GroupBox4: TGroupBox - Left = 496 - Top = 126 - Width = 242 - Height = 87 - Caption = 'Desconto 3:' - TabOrder = 17 - object Label40: TLabel - Left = 143 - Top = 27 - Width = 27 - Height = 13 - Caption = 'Taxa:' - end - object Label41: TLabel - Left = 8 - Top = 55 - Width = 27 - Height = 13 - Caption = 'Valor:' - end - object Label42: TLabel - Left = 117 - Top = 55 - Width = 26 - Height = 13 - Caption = 'Data:' - end - object cb_desc3: TComboBox - Left = 8 - Top = 24 - Width = 129 - Height = 21 - ItemIndex = 0 - TabOrder = 0 - Text = 'NAOTEMDESCONTO' - Items.Strings = ( - 'NAOTEMDESCONTO' - 'VALORFIXODATAINFORMADA' - 'PERCENTUALDATAINFORMADA' - 'VALORANTECIPACAODIACORRIDO' - 'VALORANTECIPACAODIAUTIL' - 'PERCENTUALVALORNOMINALDIACORRIDO' - 'PERCENTUALVALORNOMINALDIAUTIL') - end - object edt_taxa3bol: TEdit - Left = 176 - Top = 24 - Width = 57 - Height = 21 - TabOrder = 1 - end - object edt_val3bol: TEdit - Left = 41 - Top = 51 - Width = 70 - Height = 21 - TabOrder = 2 - end - object dtp_desc3: TDateTimePicker - Left = 149 - Top = 51 - Width = 84 - Height = 21 - Date = 44218.738580023150000000 - Time = 44218.738580023150000000 - TabOrder = 3 - end + TabOrder = 2 end - object edt_valorboleto: TEdit - Left = 240 - Top = 103 - Width = 121 + object dtp_multa: TDateTimePicker + Left = 188 + Top = 51 + Width = 84 Height = 21 - TabOrder = 13 - OnKeyPress = edt_valorboletoKeyPress + Anchors = [akTop, akRight] + Date = 44218.738580023150000000 + Time = 44218.738580023150000000 + TabOrder = 3 end - object edt_abatimentobol: TEdit - Left = 471 - Top = 103 - Width = 121 - Height = 21 - TabOrder = 24 - OnKeyPress = edt_abatimentobolKeyPress - end - object GroupBox5: TGroupBox - Left = 263 - Top = 212 - Width = 257 - Height = 87 - Caption = 'Multa:' - TabOrder = 19 - object Label45: TLabel - Left = 159 - Top = 27 - Width = 27 - Height = 13 - Caption = 'Taxa:' - end - object Label46: TLabel - Left = 8 - Top = 55 - Width = 27 - Height = 13 - Caption = 'Valor:' - end - object Label56: TLabel - Left = 117 - Top = 55 - Width = 26 - Height = 13 - Caption = 'Data:' - end - object cb_multabol: TComboBox - Left = 8 - Top = 24 - Width = 145 - Height = 21 - ItemIndex = 0 - TabOrder = 0 - Text = 'NAOTEMMULTA' - Items.Strings = ( - 'NAOTEMMULTA' - 'VALORFIXO' - 'PERCENTUAL') - end - object edt_taxamultabol: TEdit - Left = 192 - Top = 24 - Width = 57 - Height = 21 - TabOrder = 1 - end - object edt_vlmultabol: TEdit - Left = 41 - Top = 51 - Width = 70 - Height = 21 - TabOrder = 2 - end - object dtp_mora: TDateTimePicker - Left = 149 - Top = 51 - Width = 84 - Height = 21 - Date = 44218.738580023150000000 - Time = 44218.738580023150000000 - TabOrder = 3 - end + end + object GroupBox5: TGroupBox + Left = 561 + Top = 13 + Width = 280 + Height = 87 + Caption = 'Multa:' + TabOrder = 9 + DesignSize = ( + 280 + 87) + object Label45: TLabel + Left = 182 + Top = 27 + Width = 27 + Height = 13 + Anchors = [akTop, akRight] + Caption = 'Taxa:' + ExplicitLeft = 159 end - object GroupBox6: TGroupBox - Left = 0 - Top = 212 - Width = 257 - Height = 87 - Caption = 'Mora:' - TabOrder = 18 - object Label47: TLabel - Left = 159 - Top = 27 - Width = 27 - Height = 13 - Caption = 'Taxa:' - end - object Label48: TLabel - Left = 8 - Top = 55 - Width = 27 - Height = 13 - Caption = 'Valor:' - end - object Label55: TLabel - Left = 122 - Top = 55 - Width = 26 - Height = 13 - Caption = 'Data:' - end - object cb_morabol: TComboBox - Left = 8 - Top = 24 - Width = 145 - Height = 21 - ItemIndex = 0 - TabOrder = 0 - Text = 'VALORDIA' - Items.Strings = ( - 'VALORDIA' - 'TAXAMENSAL' - 'ISENTO') - end - object edt_taxamorabol: TEdit - Left = 192 - Top = 24 - Width = 57 - Height = 21 - TabOrder = 1 - end - object edt_vlmorabol: TEdit - Left = 41 - Top = 51 - Width = 70 - Height = 21 - TabOrder = 2 - end - object dtp_multa: TDateTimePicker - Left = 154 - Top = 51 - Width = 84 - Height = 21 - Date = 44218.738580023150000000 - Time = 44218.738580023150000000 - TabOrder = 3 - end + object Label46: TLabel + Left = 8 + Top = 55 + Width = 27 + Height = 13 + Caption = 'Valor:' end - object GroupBox7: TGroupBox - Left = 0 - Top = 298 - Width = 737 - Height = 136 - Caption = 'Mensagem:' - TabOrder = 22 - object Label49: TLabel - Left = 8 - Top = 20 - Width = 38 - Height = 13 - Caption = 'Linha 1:' - end - object Label50: TLabel - Left = 8 - Top = 44 - Width = 38 - Height = 13 - Caption = 'Linha 2:' - end - object Label51: TLabel - Left = 8 - Top = 68 - Width = 38 - Height = 13 - Caption = 'Linha 3:' - end - object Label52: TLabel - Left = 8 - Top = 92 - Width = 38 - Height = 13 - Caption = 'Linha 4:' - end - object Label57: TLabel - Left = 8 - Top = 115 - Width = 38 - Height = 13 - Caption = 'Linha 5:' - end - object edt_linha1bol: TEdit - Left = 52 - Top = 17 - Width = 671 - Height = 21 - MaxLength = 78 - TabOrder = 0 - end - object edt_linha2bol: TEdit - Left = 52 - Top = 41 - Width = 671 - Height = 21 - MaxLength = 78 - TabOrder = 1 - end - object edt_linha3bol: TEdit - Left = 52 - Top = 65 - Width = 671 - Height = 21 - MaxLength = 78 - TabOrder = 2 - end - object edt_linha4bol: TEdit - Left = 52 - Top = 89 - Width = 671 - Height = 21 - MaxLength = 78 - TabOrder = 3 - end - object edt_linha5bol: TEdit - Left = 52 - Top = 112 - Width = 671 - Height = 21 - MaxLength = 78 - TabOrder = 4 - end + object Label56: TLabel + Left = 156 + Top = 55 + Width = 26 + Height = 13 + Anchors = [akTop, akRight] + Caption = 'Data:' + ExplicitLeft = 133 end - object btn_gerarbolunico: TButton - Left = 659 - Top = 103 - Width = 75 - Height = 25 - Caption = 'Gerar' - TabOrder = 23 - OnClick = btn_gerarbolunicoClick - end - object cb_dtlimitebol: TComboBox - Left = 637 - Top = 236 - Width = 92 + object cb_multabol: TComboBox + Left = 8 + Top = 24 + Width = 168 Height = 21 - ItemIndex = 0 - TabOrder = 20 - Text = 'TRINTA' + TabOrder = 0 Items.Strings = ( - 'TRINTA' - 'SESSENTA') + 'NAOTEMMULTA' + 'VALORFIXO' + 'PERCENTUAL') end - object cb_agendabol: TComboBox - Left = 637 - Top = 263 - Width = 92 + object edt_taxamultabol: TEdit + Left = 215 + Top = 24 + Width = 57 Height = 21 - ItemIndex = 0 - TabOrder = 21 - Text = 'TRINTA' - Items.Strings = ( - 'TRINTA' - 'SESSENTA') + Anchors = [akTop, akRight] + TabOrder = 1 end - end - end - end - object tsGeraAuto: TTabSheet - Caption = 'Autom'#225'tico' - ImageIndex = 1 - TabVisible = False - ExplicitLeft = 0 - ExplicitTop = 0 - ExplicitWidth = 0 - ExplicitHeight = 0 - end - end - end - end - inherited stbStatus: TStatusBar - Top = 533 - Width = 767 - ExplicitTop = 533 - ExplicitWidth = 767 - end - object dtsBoletos: TDataSource - DataSet = tblBoletos - OnDataChange = dtsBoletosDataChange - Left = 168 - Top = 1 - end - object tblBoletos: TClientDataSet - Aggregates = <> - Params = <> - Left = 296 - Top = 1 - object tblBoletosnossoNumero: TStringField - FieldName = 'nossoNumero' - Size = 255 - end - object tblBoletosseuNumero: TStringField - FieldName = 'seuNumero' - Size = 255 - end - object tblBoletoscnpjCpfSacado: TStringField - FieldName = 'cnpjCpfSacado' - Size = 255 - end - object tblBoletosnomeSacado: TStringField - FieldName = 'nomeSacado' - Size = 255 - end - object tblBoletoscodigoBaixa: TStringField - FieldName = 'codigoBaixa' - Size = 255 - end - object tblBoletossituacao: TStringField - FieldName = 'situacao' - Size = 255 - end - object tblBoletosdataPagtoBaixa: TDateField - FieldName = 'dataPagtoBaixa' - end - object tblBoletosdataVencimento: TDateField - FieldName = 'dataVencimento' - end - object tblBoletosvalorNominal: TCurrencyField - FieldName = 'valorNominal' - end - object tblBoletosvalorTotalRecebimento: TCurrencyField - FieldName = 'valorTotalRecebimento' - end - object tblBoletostelefone: TStringField - FieldName = 'telefone' - Size = 255 - end - object tblBoletosemail: TStringField - FieldName = 'email' - Size = 255 - end - object tblBoletosdataEmissao: TDateField - FieldName = 'dataEmissao' - end - object tblBoletosdataLimite: TDateField - FieldName = 'dataLimite' - end - object tblBoletoslinhaDigitavel: TStringField - FieldName = 'linhaDigitavel' - Size = 255 - end - object tblBoletosvalorJuros: TCurrencyField - FieldName = 'valorJuros' - end - object tblBoletosvalorMulta: TCurrencyField - FieldName = 'valorMulta' - end - object tblBoletosdesconto1: TBlobField - FieldName = 'desconto1' - end - object tblBoletosdesconto2: TBlobField - FieldName = 'desconto2' - end - object tblBoletosdesconto3: TBlobField - FieldName = 'desconto3' - end - object tblBoletosmulta: TBlobField - FieldName = 'multa' - end - object tblBoletosmora: TBlobField - FieldName = 'mora' - end - object tblBoletosvalorAbatimento: TCurrencyField - FieldName = 'valorAbatimento' + object edt_vlmultabol: TEdit + Left = 41 + Top = 51 + Width = 108 + Height = 21 + TabOrder = 2 + end + object dtp_mora: TDateTimePicker + Left = 188 + Top = 51 + Width = 84 + Height = 21 + Anchors = [akTop, akRight] + Date = 44218.738580023150000000 + Time = 44218.738580023150000000 + TabOrder = 3 + end + end + end + object gbBeneficiarioBoleto: TGroupBox + Left = 0 + Top = 409 + Width = 1163 + Height = 184 + Align = alTop + Caption = 'Dados do Benefici'#225'rio:' + TabOrder = 3 + object Label14: TLabel + Left = 11 + Top = 24 + Width = 31 + Height = 13 + Caption = 'Nome:' + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + ParentFont = False + end + object Label15: TLabel + Left = 530 + Top = 24 + Width = 119 + Height = 13 + Caption = 'Documento (CPF/CNPJ):' + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + ParentFont = False + end + object Label16: TLabel + Left = 763 + Top = 24 + Width = 77 + Height = 13 + Caption = 'Tipo de Pessoa:' + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + ParentFont = False + end + object Label17: TLabel + Left = 11 + Top = 70 + Width = 49 + Height = 13 + Caption = 'Endere'#231'o:' + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + ParentFont = False + end + object Label18: TLabel + Left = 381 + Top = 70 + Width = 30 + Height = 13 + Caption = 'Bairro:' + end + object Label19: TLabel + Left = 508 + Top = 70 + Width = 36 + Height = 13 + Caption = 'Cidade:' + end + object Label20: TLabel + Left = 673 + Top = 70 + Width = 17 + Height = 13 + Caption = 'UF:' + end + object Label21: TLabel + Left = 709 + Top = 70 + Width = 24 + Height = 13 + Caption = 'CEP:' + end + object edtNomeBeneficiario: TEdit + Left = 11 + Top = 43 + Width = 513 + Height = 21 + TabOrder = 0 + end + object edtDocumentoBeneficiario: TEdit + Left = 530 + Top = 43 + Width = 227 + Height = 21 + TabOrder = 1 + end + object cbTipoBeneficiario: TComboBox + Left = 763 + Top = 43 + Width = 77 + Height = 21 + TabOrder = 2 + Items.Strings = ( + 'F'#237'sica' + 'Jur'#237'dica') + end + object edtEnderecoBeneficiario: TEdit + Left = 11 + Top = 89 + Width = 364 + Height = 21 + TabOrder = 3 + end + object edtBairroBeneficiario: TEdit + Left = 381 + Top = 89 + Width = 121 + Height = 21 + TabOrder = 4 + end + object edtCidadeBeneficiario: TEdit + Left = 508 + Top = 89 + Width = 159 + Height = 21 + TabOrder = 5 + end + object edtUfBeneficiario: TEdit + Left = 673 + Top = 89 + Width = 30 + Height = 21 + TabOrder = 6 + end + object edtCepBeneficiario: TEdit + Left = 709 + Top = 89 + Width = 121 + Height = 21 + TabOrder = 7 + end + end + end + end end end + inherited stbStatus: TStatusBar + Top = 688 + Width = 1185 + ExplicitTop = 732 + ExplicitWidth = 1185 + end + object dtsBoletos: TDataSource + DataSet = cdsBoletos + OnDataChange = dtsBoletosDataChange + Left = 1104 + Top = 1 + end object IdHTTP: TIdHTTP IOHandler = IdSSLHandler AllowCookies = True ProxyParams.BasicAuthentication = False ProxyParams.ProxyPort = 0 + Request.CharSet = 'utf-8' Request.ContentLength = -1 Request.ContentRangeEnd = -1 Request.ContentRangeStart = -1 Request.ContentRangeInstanceLength = -1 + Request.ContentType = 'application/x-www-form-urlencoded' Request.Accept = 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' Request.BasicAuthentication = False Request.UserAgent = 'Mozilla/3.0 (compatible; Indy Library)' Request.Ranges.Units = 'bytes' Request.Ranges = <> HTTPOptions = [hoForceEncodeParams] - Left = 681 - Top = 1 + Left = 769 + Top = 41 end object IdSSLHandler: TIdSSLIOHandlerSocketOpenSSL MaxLineAction = maException @@ -1856,16 +2065,16 @@ inherited frmCentralBoletos: TfrmCentralBoletos DefaultPort = 0 SSLOptions.Method = sslvSSLv23 SSLOptions.SSLVersions = [sslvSSLv2, sslvSSLv3, sslvTLSv1, sslvTLSv1_1, sslvTLSv1_2] - SSLOptions.Mode = sslmUnassigned + SSLOptions.Mode = sslmClient SSLOptions.VerifyMode = [] SSLOptions.VerifyDepth = 0 - Left = 649 + Left = 641 Top = 1 end object tblDesc1: TClientDataSet Aggregates = <> Params = <> - Left = 264 + Left = 176 Top = 1 object tblDesc1codigo: TStringField FieldName = 'codigo' @@ -1880,14 +2089,14 @@ inherited frmCentralBoletos: TfrmCentralBoletos end object dtsDesc1: TDataSource DataSet = tblDesc1 - Left = 232 - Top = 1 + Left = 112 + Top = 65529 end object tblDesc2: TClientDataSet Aggregates = <> Params = <> - Left = 728 - Top = 331 + Left = 1024 + Top = 35 object tblDesc2codigo: TStringField FieldName = 'codigo' Size = 255 @@ -1901,8 +2110,8 @@ inherited frmCentralBoletos: TfrmCentralBoletos end object dtsDesc2: TDataSource DataSet = tblDesc2 - Left = 728 - Top = 235 + Left = 848 + Top = 59 end object tblDesc3: TClientDataSet Aggregates = <> @@ -1922,13 +2131,13 @@ inherited frmCentralBoletos: TfrmCentralBoletos end object dtsDesc3: TDataSource DataSet = tblDesc3 - Left = 728 - Top = 283 + Left = 928 + Top = 43 end object tblMulta: TClientDataSet Aggregates = <> Params = <> - Left = 425 + Left = 297 Top = 1 object tblMultacodigo: TStringField FieldName = 'codigo' @@ -1946,13 +2155,13 @@ inherited frmCentralBoletos: TfrmCentralBoletos end object dtsMulta: TDataSource DataSet = tblMulta - Left = 457 + Left = 361 Top = 1 end object tblMora: TClientDataSet Aggregates = <> Params = <> - Left = 489 + Left = 417 Top = 1 object tblMoracodigo: TStringField FieldName = 'codigo' @@ -1970,12 +2179,12 @@ inherited frmCentralBoletos: TfrmCentralBoletos end object dtsMora: TDataSource DataSet = tblMora - Left = 521 + Left = 473 Top = 1 end object pum_download: TPopupMenu - Left = 584 - Top = 1 + Left = 536 + Top = 65529 object mnuDownload: TMenuItem Caption = 'Download' OnClick = mnuDownloadClick @@ -2035,333 +2244,332 @@ inherited frmCentralBoletos: TfrmCentralBoletos DefaultExt = #39'pdf'#39 Filter = 'PDF (*.pdf)|*.pdf' Options = [ofOverwritePrompt, ofHideReadOnly, ofEnableSizing] - Left = 552 - Top = 1 + Left = 592 + Top = 65529 end object IdDecoderMIME: TIdDecoderMIME FillChar = '=' - Left = 616 + Left = 976 + Top = 57 + end + object MainMenu1: TMainMenu + Left = 952 + Top = 65534 + object mnuCadastro: TMenuItem + Caption = 'Cadastro' + object mnhGrupoBoletos: TMenuItem + Caption = 'Grupos de Empresas' + OnClick = mnhGrupoBoletosClick + end + end + end + object pum_incldel: TPopupMenu + Left = 48 Top = 1 + object mnuIncluir: TMenuItem + Caption = 'Incluir' + end + object N1: TMenuItem + Caption = '-' + end + object mnuRemover: TMenuItem + Caption = 'Remover' + end end - object zroqryBolUnico: TZReadOnlyQuery + object rotblRepasseFase: TZReadOnlyQuery Connection = dtmSystem.ZConnection SQL.Strings = ( - 'select first 0' - 'd.ID_DEVEDOR,' - 'd.TX_NOME,' - - 'case when d.TP_CLIENTE = '#39'F'#39' then d.CD_CPF when d.TP_CLIENTE = '#39 + - 'J'#39' then d.CD_CNPJ end as TX_DOCUMENTO,' - 't.TX_PRODUTO,' - 't.VL_TITULO,' - 't.VL_CORRIGIDO,' - 't.DT_VENCIMENTO,' - 't.ID_EMPRESA,' - 't.ID_TITULO' - 'from chg_titulos t' - 'left join CHG_DEVEDORES d on d.ID_DEVEDOR = t.ID_DEVEDOR' - 'where' - - 't.ID_EMPRESA in (select ID_EMPRESA from CHG_GRUPO_BOLETO_EMPRESA' + - 'S where ID_GRUPO_BOLETO = 1)' - 'and' - '(t.TP_SITUACAO = '#39'A'#39' or t.TP_SITUACAO = '#39'AC'#39')' - 'and' - - '(t.DT_VENCIMENTO >= cast('#39'2020-01-01'#39' as date) and t.DT_VENCIMEN' + - 'TO <= cast('#39'2020-01-01'#39' as date))') + 'select * from sys_repasses_fases') Params = <> - Left = 728 - Top = 190 - object zroqryBolUnicoID_DEVEDOR: TIntegerField - FieldName = 'ID_DEVEDOR' + Left = 208 + Top = 40 + object rotblRepasseFaseID_FASE: TIntegerField + FieldName = 'ID_FASE' Required = True end - object zroqryBolUnicoTX_NOME: TWideStringField - FieldName = 'TX_NOME' - Size = 60 + object rotblRepasseFasePR_PRINCIPAL: TFloatField + FieldName = 'PR_PRINCIPAL' end - object zroqryBolUnicoTX_DOCUMENTO: TWideStringField - FieldName = 'TX_DOCUMENTO' - ReadOnly = True - Size = 18 + object rotblRepasseFasePR_JUROS: TFloatField + FieldName = 'PR_JUROS' end - object zroqryBolUnicoTX_PRODUTO: TWideStringField - FieldName = 'TX_PRODUTO' - Size = 100 + object rotblRepasseFasePR_MULTA: TFloatField + FieldName = 'PR_MULTA' + end + object rotblRepasseFasePR_ENCARGOS: TFloatField + FieldName = 'PR_ENCARGOS' end - object zroqryBolUnicoVL_TITULO: TFloatField - FieldName = 'VL_TITULO' - currency = True + object rotblRepasseFasePR_CORRIGIDO: TFloatField + FieldName = 'PR_CORRIGIDO' end - object zroqryBolUnicoVL_CORRIGIDO: TFloatField - FieldName = 'VL_CORRIGIDO' - currency = True + object rotblRepasseFaseMIN_ATRASO: TIntegerField + FieldName = 'MIN_ATRASO' end - object zroqryBolUnicoDT_VENCIMENTO: TDateTimeField - FieldName = 'DT_VENCIMENTO' - Required = True + object rotblRepasseFaseMAX_ATRASO: TIntegerField + FieldName = 'MAX_ATRASO' end - object zroqryBolUnicoID_EMPRESA: TIntegerField - FieldName = 'ID_EMPRESA' - Required = True + object rotblRepasseFaseID_REPASSE: TIntegerField + FieldName = 'ID_REPASSE' end - object zroqryBolUnicoID_TITULO: TIntegerField - FieldName = 'ID_TITULO' - Required = True + object rotblRepasseFaseID_ULTIMO_USUARIO: TIntegerField + FieldName = 'ID_ULTIMO_USUARIO' + end + object rotblRepasseFaseDT_HORA_ULTIMA_ATT: TDateTimeField + FieldName = 'DT_HORA_ULTIMA_ATT' end end - object dtsBolUnico: TDataSource - DataSet = zroqryBolUnico - Left = 728 - Top = 142 + object tblPagador: TClientDataSet + Aggregates = <> + Params = <> + Left = 816 end - object MainMenu1: TMainMenu - Left = 728 - Top = 46 - object mnuCadastro: TMenuItem - Caption = 'Cadastro' - object mnhGrupoBoletos: TMenuItem - Caption = 'Grupos de Empresas' - OnClick = mnhGrupoBoletosClick - end - end + object dtsPagador: TDataSource + DataSet = tblPagador + Left = 887 + Top = 65534 end - object zroqryEmails: TZReadOnlyQuery - Connection = dtmSystem.ZConnection - SQL.Strings = ( - 'select * from chg_emails') + object cdsBoletos: TClientDataSet + Aggregates = <> Params = <> - MasterFields = 'ID_DEVEDOR' - MasterSource = dtsBolUnico - LinkedFields = 'ID_DEVEDOR' - Left = 728 - Top = 94 - object zroqryEmailsTX_EMAIL: TWideStringField - FieldName = 'TX_EMAIL' - Size = 40 + AfterScroll = cdsBoletosAfterScroll + Left = 232 + object cdsBoletosnossoNumero: TWideStringField + FieldName = 'nossoNumero' + Size = 255 end - object zroqryEmailsID_EMAIL: TIntegerField - FieldName = 'ID_EMAIL' - Required = True + object cdsBoletosseuNumero: TWideStringField + FieldName = 'seuNumero' + Size = 15 end - object zroqryEmailsID_DEVEDOR: TIntegerField - FieldName = 'ID_DEVEDOR' + object cdsBoletospagador: TWideMemoField + FieldName = 'pagador' + BlobType = ftWideMemo + Size = 3000 end - object zroqryEmailsID_ULTIMO_USUARIO: TIntegerField - FieldName = 'ID_ULTIMO_USUARIO' + object cdsBoletossituacao: TWideStringField + FieldName = 'situacao' end - object zroqryEmailsDT_HORA_ULTIMA_ATT: TDateTimeField - FieldName = 'DT_HORA_ULTIMA_ATT' + object cdsBoletosdataVencimento: TDateField + FieldName = 'dataVencimento' + end + object cdsBoletosdataHoraSituacao: TWideStringField + FieldName = 'dataHoraSituacao' end end - object dtsEmails: TDataSource - DataSet = zroqryEmails - Left = 328 - Top = 1 + object dtsHist: TDataSource + DataSet = dtmSystem.cdsHist + Left = 670 + Top = 62 end - object zroqryTelefones: TZReadOnlyQuery + object dtsPesquisa: TDataSource + DataSet = zroqryPesquisa + Left = 326 + Top = 30 + end + object zroqryPesquisa: TZReadOnlyQuery Connection = dtmSystem.ZConnection SQL.Strings = ( - 'select * from chg_telefones') + 'select ID_DEVEDOR, TX_NOME, case when TP_CLIENTE = '#39'F'#39 + + 'then CD_CPF when TP_CLIENTE = '#39'J'#39' then CD_CNPJ end as TX_DOCUMEN' + + 'TO' + ' from CHG_DEVEDORES where 1 = 1') Params = <> - MasterFields = 'ID_DEVEDOR' - MasterSource = dtsBolUnico - LinkedFields = 'ID_DEVEDOR' - Left = 360 - Top = 1 - object zroqryTelefonesNR_DDD: TWideStringField - FieldName = 'NR_DDD' - Size = 4 - end - object zroqryTelefonesNR_NUMERO: TWideStringField - FieldName = 'NR_NUMERO' - end - object zroqryTelefonesTP_ATIVO: TWideStringField - FieldName = 'TP_ATIVO' - Size = 1 - end - object zroqryTelefonesTP_TIPOTEL: TWideStringField - FieldName = 'TP_TIPOTEL' - Size = 1 - end - object zroqryTelefonesTP_SMS: TWideStringField - FieldName = 'TP_SMS' - Size = 1 - end - object zroqryTelefonesTX_DESC: TWideStringField - FieldName = 'TX_DESC' - Size = 100 + Left = 1110 + Top = 54 + object zroqryPesquisaTX_NOME: TWideStringField + FieldName = 'TX_NOME' + Size = 60 end - object zroqryTelefonesID_TELEFONE: TIntegerField - FieldName = 'ID_TELEFONE' - Required = True + object zroqryPesquisaTX_DOCUMENTO: TWideStringField + FieldName = 'TX_DOCUMENTO' + ReadOnly = True + Size = 18 end - object zroqryTelefonesID_DEVEDOR: TIntegerField + object zroqryPesquisaID_DEVEDOR: TIntegerField FieldName = 'ID_DEVEDOR' Required = True end - object zroqryTelefonesTX_OBS: TWideMemoField - FieldName = 'TX_OBS' - BlobType = ftWideMemo - end - object zroqryTelefonesID_ULTIMO_USUARIO: TIntegerField - FieldName = 'ID_ULTIMO_USUARIO' - end - object zroqryTelefonesDT_HORA_ULTIMA_ATT: TDateTimeField - FieldName = 'DT_HORA_ULTIMA_ATT' - end end - object dtsTelefones: TDataSource - DataSet = zroqryTelefones - Left = 392 - Top = 1 + object dtsEmpresasTitulos: TDataSource + DataSet = zroqryEmpresasTitulos + Left = 446 + Top = 38 end - object zroqryEnderecos: TZReadOnlyQuery + object zroqryEmpresasTitulos: TZReadOnlyQuery Connection = dtmSystem.ZConnection SQL.Strings = ( - 'select * from chg_enderecos') + 'select * from chg_empresas') Params = <> - MasterFields = 'ID_DEVEDOR' - MasterSource = dtsBolUnico - LinkedFields = 'ID_DEVEDOR' - Left = 200 - Top = 1 - object zroqryEnderecosID_ENDERECO: TIntegerField - FieldName = 'ID_ENDERECO' + Left = 558 + Top = 38 + object zroqryEmpresasTitulosID_EMPRESA: TIntegerField + FieldName = 'ID_EMPRESA' Required = True end - object zroqryEnderecosID_DEVEDOR: TIntegerField - FieldName = 'ID_DEVEDOR' - Required = True + object zroqryEmpresasTitulosTX_NOME: TWideStringField + FieldName = 'TX_NOME' + Size = 100 end - object zroqryEnderecosTP_ENDERECO: TWideStringField - FieldName = 'TP_ENDERECO' - Size = 1 + object zroqryEmpresasTitulosTX_FANTASIA: TWideStringField + FieldName = 'TX_FANTASIA' + Size = 100 end - object zroqryEnderecosTP_ATIVO: TWideStringField - FieldName = 'TP_ATIVO' - Size = 1 + object zroqryEmpresasTitulosTX_CNPJ: TWideStringField + FieldName = 'TX_CNPJ' + Size = 18 end - object zroqryEnderecosTX_LOGRADOURO: TWideStringField - FieldName = 'TX_LOGRADOURO' - Size = 100 + object zroqryEmpresasTitulosTX_IE: TWideStringField + FieldName = 'TX_IE' end - object zroqryEnderecosTX_BAIRRO: TWideStringField - FieldName = 'TX_BAIRRO' + object zroqryEmpresasTitulosTX_ENDERECO: TWideStringField + FieldName = 'TX_ENDERECO' Size = 100 end - object zroqryEnderecosID_CIDADE: TIntegerField + object zroqryEmpresasTitulosTX_COMPLEMENTO: TWideStringField + FieldName = 'TX_COMPLEMENTO' + end + object zroqryEmpresasTitulosID_CIDADE: TIntegerField FieldName = 'ID_CIDADE' end - object zroqryEnderecosID_ESTADO: TIntegerField + object zroqryEmpresasTitulosTX_BAIRRO: TWideStringField + FieldName = 'TX_BAIRRO' + Size = 60 + end + object zroqryEmpresasTitulosID_ESTADO: TIntegerField FieldName = 'ID_ESTADO' end - object zroqryEnderecosTX_CEP: TWideStringField + object zroqryEmpresasTitulosTX_CEP: TWideStringField FieldName = 'TX_CEP' Size = 9 end - object zroqryEnderecosTX_COMPLEMENTO: TWideStringField - FieldName = 'TX_COMPLEMENTO' - Size = 100 + object zroqryEmpresasTitulosTX_TELEFONE: TWideStringField + FieldName = 'TX_TELEFONE' + Size = 40 end - object zroqryEnderecosNR_NUMERO: TFloatField + object zroqryEmpresasTitulosTX_EMAIL: TWideStringField + FieldName = 'TX_EMAIL' + Size = 60 + end + object zroqryEmpresasTitulosTX_WEBSITE: TWideStringField + FieldName = 'TX_WEBSITE' + Size = 60 + end + object zroqryEmpresasTitulosNR_NUMERO: TIntegerField FieldName = 'NR_NUMERO' end - object zroqryEnderecosTP_REFERENCIA: TWideStringField - FieldName = 'TP_REFERENCIA' - Size = 1 + object zroqryEmpresasTitulosTX_IM: TWideStringField + FieldName = 'TX_IM' end - object zroqryEnderecosID_HIGIENIZADORA: TIntegerField - FieldName = 'ID_HIGIENIZADORA' + object zroqryEmpresasTitulosTL_OBSERVACOES: TWideMemoField + FieldName = 'TL_OBSERVACOES' + BlobType = ftWideMemo end - object zroqryEnderecosTP_CONFIRMADO: TWideStringField - FieldName = 'TP_CONFIRMADO' - Size = 1 + object zroqryEmpresasTitulosID_REPASSE: TIntegerField + FieldName = 'ID_REPASSE' end - object zroqryEnderecosID_ULTIMO_USUARIO: TIntegerField - FieldName = 'ID_ULTIMO_USUARIO' + object zroqryEmpresasTitulosTP_ENTRADA: TWideStringField + FieldName = 'TP_ENTRADA' + Required = True + Size = 2 end - object zroqryEnderecosTX_ESTADO: TStringField - FieldKind = fkLookup - FieldName = 'TX_ESTADO' - LookupDataSet = dtmSystem.tblEstados - LookupKeyFields = 'ID_ESTADO' - LookupResultField = 'TX_SIGLA' - KeyFields = 'ID_ESTADO' - Size = 255 - Lookup = True - end - object zroqryEnderecosTX_CIDADE: TStringField - FieldKind = fkLookup - FieldName = 'TX_CIDADE' - LookupDataSet = dtmSystem.tblCidadesConsulta - LookupKeyFields = 'ID_CIDADE' - LookupResultField = 'TX_NOME' - KeyFields = 'ID_CIDADE' - Size = 255 - Lookup = True + object zroqryEmpresasTitulosPR_MULTA: TFloatField + FieldName = 'PR_MULTA' + Required = True end - end - object dtsEnderecos: TDataSource - DataSet = zroqryEnderecos - Left = 136 - Top = 1 - end - object pum_incldel: TPopupMenu - Left = 104 - Top = 1 - object mnuIncluir: TMenuItem - Caption = 'Incluir' - OnClick = mnuIncluirClick + object zroqryEmpresasTitulosPR_JUROS: TFloatField + FieldName = 'PR_JUROS' + Required = True end - object N1: TMenuItem - Caption = '-' + object zroqryEmpresasTitulosNR_PARCELAS: TIntegerField + FieldName = 'NR_PARCELAS' end - object mnuRemover: TMenuItem - Caption = 'Remover' + object zroqryEmpresasTitulosPR_DESC_QUIT_PRIN: TFloatField + FieldName = 'PR_DESC_QUIT_PRIN' + Required = True end - end - object rotblRepasseFase: TZReadOnlyQuery - Connection = dtmSystem.ZConnection - SQL.Strings = ( - 'select * from sys_repasses_fases') - Params = <> - Left = 728 - Top = 376 - object rotblRepasseFaseID_FASE: TIntegerField - FieldName = 'ID_FASE' + object zroqryEmpresasTitulosPR_DESC_QUIT_JUROS: TFloatField + FieldName = 'PR_DESC_QUIT_JUROS' Required = True end - object rotblRepasseFasePR_PRINCIPAL: TFloatField - FieldName = 'PR_PRINCIPAL' + object zroqryEmpresasTitulosPR_DESC_QUIT_MULTA: TFloatField + FieldName = 'PR_DESC_QUIT_MULTA' + Required = True end - object rotblRepasseFasePR_JUROS: TFloatField - FieldName = 'PR_JUROS' + object zroqryEmpresasTitulosPR_DESC_QUIT_IND_FIN: TFloatField + FieldName = 'PR_DESC_QUIT_IND_FIN' + Required = True end - object rotblRepasseFasePR_MULTA: TFloatField - FieldName = 'PR_MULTA' + object zroqryEmpresasTitulosPR_DESC_QUIT_COR: TFloatField + FieldName = 'PR_DESC_QUIT_COR' end - object rotblRepasseFasePR_ENCARGOS: TFloatField - FieldName = 'PR_ENCARGOS' + object zroqryEmpresasTitulosPR_DESC_FINAN_PRIN: TFloatField + FieldName = 'PR_DESC_FINAN_PRIN' + Required = True end - object rotblRepasseFasePR_CORRIGIDO: TFloatField - FieldName = 'PR_CORRIGIDO' + object zroqryEmpresasTitulosPR_DESC_FINAN_JUROS: TFloatField + FieldName = 'PR_DESC_FINAN_JUROS' + Required = True end - object rotblRepasseFaseMIN_ATRASO: TIntegerField - FieldName = 'MIN_ATRASO' + object zroqryEmpresasTitulosPR_DESC_FINAN_MULTA: TFloatField + FieldName = 'PR_DESC_FINAN_MULTA' + Required = True end - object rotblRepasseFaseMAX_ATRASO: TIntegerField - FieldName = 'MAX_ATRASO' + object zroqryEmpresasTitulosPR_DESC_FINAN_IND_FIN: TFloatField + FieldName = 'PR_DESC_FINAN_IND_FIN' + Required = True end - object rotblRepasseFaseID_REPASSE: TIntegerField - FieldName = 'ID_REPASSE' + object zroqryEmpresasTitulosPR_DESC_FINAN_COR: TFloatField + FieldName = 'PR_DESC_FINAN_COR' end - object rotblRepasseFaseID_ULTIMO_USUARIO: TIntegerField + object zroqryEmpresasTitulosPR_INDICADOR_FINANCEIRO: TFloatField + FieldName = 'PR_INDICADOR_FINANCEIRO' + Required = True + end + object zroqryEmpresasTitulosPR_JUROS_PARCELAR: TFloatField + FieldName = 'PR_JUROS_PARCELAR' + end + object zroqryEmpresasTitulosPR_ENTRADA_MIN: TFloatField + FieldName = 'PR_ENTRADA_MIN' + end + object zroqryEmpresasTitulosPR_ENTRADA_MAX: TFloatField + FieldName = 'PR_ENTRADA_MAX' + end + object zroqryEmpresasTitulosTP_CHEQUE: TWideStringField + FieldName = 'TP_CHEQUE' + Size = 1 + end + object zroqryEmpresasTitulosTP_CRED: TWideStringField + FieldName = 'TP_CRED' + Size = 1 + end + object zroqryEmpresasTitulosTP_DIN: TWideStringField + FieldName = 'TP_DIN' + Size = 1 + end + object zroqryEmpresasTitulosID_ULTIMO_USUARIO: TIntegerField FieldName = 'ID_ULTIMO_USUARIO' end - object rotblRepasseFaseDT_HORA_ULTIMA_ATT: TDateTimeField + object zroqryEmpresasTitulosDT_HORA_ULTIMA_ATT: TDateTimeField FieldName = 'DT_HORA_ULTIMA_ATT' end + object zroqryEmpresasTitulosID_DEPARTAMENTO: TIntegerField + FieldName = 'ID_DEPARTAMENTO' + end + object zroqryEmpresasTitulosNR_JUROS: TFloatField + FieldName = 'NR_JUROS' + Required = True + end + object zroqryEmpresasTitulosTP_JUROS: TWideStringField + FieldName = 'TP_JUROS' + Required = True + Size = 1 + end + end + object dtsDevedor: TDataSource + DataSet = dtmSystem.tblDevedores + OnStateChange = dtsDevedorStateChange + Left = 1022 + Top = 349 end end diff --git a/ufrmCentralBoletos.pas b/ufrmCentralBoletos.pas index bc60fca..6d508de 100644 --- a/ufrmCentralBoletos.pas +++ b/ufrmCentralBoletos.pas @@ -4,7 +4,8 @@ interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, - System.Classes, Vcl.Graphics, System.StrUtils, System.DateUtils, System.UITypes, + System.Classes, Vcl.Graphics, System.StrUtils, System.DateUtils, + System.UITypes, System.Math, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, umstMaster, Vcl.ComCtrls, Vcl.StdCtrls, Data.DB, Datasnap.DBClient, Vcl.Grids, Vcl.DBGrids, Vcl.Buttons, System.JSON, MidasLib, @@ -13,15 +14,16 @@ uses IdComponent, IdGlobal, IdTCPConnection, IdTCPClient, IdHTTP, REST.Response.Adapter, rDBComponents, Vcl.Mask, Vcl.DBCtrls, Vcl.Menus, IdCoder, IdCoder3to4, IdCoderMIME, - ZAbstractRODataset, ZDataset, Vcl.ExtCtrls; + ZAbstractRODataset, ZDataset, Vcl.ExtCtrls, IdStack, IdException, + Vcl.CheckLst; type + TMethod = (GET, POST); TStringArray = array of string; TfrmCentralBoletos = class(TmstMaster) dtsBoletos: TDataSource; - tblBoletos: TClientDataSet; IdHTTP: TIdHTTP; IdSSLHandler: TIdSSLIOHandlerSocketOpenSSL; tblDesc1: TClientDataSet; @@ -34,29 +36,6 @@ type dtsMulta: TDataSource; tblMora: TClientDataSet; dtsMora: TDataSource; - tblBoletosnossoNumero: TStringField; - tblBoletosseuNumero: TStringField; - tblBoletoscnpjCpfSacado: TStringField; - tblBoletosnomeSacado: TStringField; - tblBoletoscodigoBaixa: TStringField; - tblBoletossituacao: TStringField; - tblBoletosdataPagtoBaixa: TDateField; - tblBoletosdataVencimento: TDateField; - tblBoletosvalorNominal: TCurrencyField; - tblBoletosvalorTotalRecebimento: TCurrencyField; - tblBoletostelefone: TStringField; - tblBoletosemail: TStringField; - tblBoletosdataEmissao: TDateField; - tblBoletosdataLimite: TDateField; - tblBoletoslinhaDigitavel: TStringField; - tblBoletosvalorJuros: TCurrencyField; - tblBoletosvalorMulta: TCurrencyField; - tblBoletosdesconto1: TBlobField; - tblBoletosdesconto2: TBlobField; - tblBoletosdesconto3: TBlobField; - tblBoletosmulta: TBlobField; - tblBoletosmora: TBlobField; - tblBoletosvalorAbatimento: TCurrencyField; tblDesc1codigo: TStringField; tblDesc1taxa: TFloatField; tblDesc1valor: TCurrencyField; @@ -89,156 +68,174 @@ type dt_fim: TDateTimePicker; cb_filtroordem: TComboBox; dbgrd_boletos: TDBGrid; - gb_desc1: TGroupBox; - Label6: TLabel; - Label7: TLabel; - Label8: TLabel; - DBEdit1: TDBEdit; - DBEdit2: TDBEdit; - DBEdit3: TDBEdit; - gb_desc2: TGroupBox; - Label9: TLabel; - Label10: TLabel; - Label11: TLabel; - DBEdit4: TDBEdit; - DBEdit5: TDBEdit; - DBEdit6: TDBEdit; - gb_desc3: TGroupBox; - Label12: TLabel; - Label13: TLabel; - Label14: TLabel; - DBEdit7: TDBEdit; - DBEdit8: TDBEdit; - DBEdit9: TDBEdit; - gb_multa: TGroupBox; - Label15: TLabel; - Label16: TLabel; - Label17: TLabel; - Label18: TLabel; - DBEdit10: TDBEdit; - DBEdit11: TDBEdit; - DBEdit12: TDBEdit; - rdbdt_entrada: TrDBDateTimePicker; - gb_mora: TGroupBox; - Label19: TLabel; - Label20: TLabel; - Label21: TLabel; - Label22: TLabel; - DBEdit13: TDBEdit; - DBEdit14: TDBEdit; - DBEdit15: TDBEdit; - rDBDateTimePicker1: TrDBDateTimePicker; tsGeraBoleto: TTabSheet; pum_download: TPopupMenu; mnuDownload: TMenuItem; SaveDialog: TSaveDialog; IdDecoderMIME: TIdDecoderMIME; - pcGeraBoletos: TPageControl; - tsGeraUm: TTabSheet; - tsGeraAuto: TTabSheet; - zroqryBolUnico: TZReadOnlyQuery; - dtsBolUnico: TDataSource; MainMenu1: TMainMenu; mnuCadastro: TMenuItem; mnhGrupoBoletos: TMenuItem; - zroqryBolUnicoID_DEVEDOR: TIntegerField; - zroqryBolUnicoTX_NOME: TWideStringField; - zroqryBolUnicoTX_DOCUMENTO: TWideStringField; - zroqryBolUnicoTX_PRODUTO: TWideStringField; - zroqryBolUnicoVL_TITULO: TFloatField; - zroqryBolUnicoVL_CORRIGIDO: TFloatField; - zroqryBolUnicoDT_VENCIMENTO: TDateTimeField; - zroqryBolUnicoID_EMPRESA: TIntegerField; - zroqryEmails: TZReadOnlyQuery; - zroqryEmailsTX_EMAIL: TWideStringField; - dtsEmails: TDataSource; - zroqryEmailsID_EMAIL: TIntegerField; - zroqryEmailsID_DEVEDOR: TIntegerField; - zroqryEmailsID_ULTIMO_USUARIO: TIntegerField; - zroqryEmailsDT_HORA_ULTIMA_ATT: TDateTimeField; - zroqryTelefones: TZReadOnlyQuery; - dtsTelefones: TDataSource; - zroqryTelefonesNR_DDD: TWideStringField; - zroqryTelefonesNR_NUMERO: TWideStringField; - zroqryTelefonesTP_ATIVO: TWideStringField; - zroqryTelefonesTP_TIPOTEL: TWideStringField; - zroqryTelefonesTX_DESC: TWideStringField; - zroqryTelefonesTP_SMS: TWideStringField; - zroqryTelefonesID_TELEFONE: TIntegerField; - zroqryTelefonesID_DEVEDOR: TIntegerField; - zroqryTelefonesTX_OBS: TWideMemoField; - zroqryTelefonesID_ULTIMO_USUARIO: TIntegerField; - zroqryTelefonesDT_HORA_ULTIMA_ATT: TDateTimeField; - zroqryEnderecos: TZReadOnlyQuery; - dtsEnderecos: TDataSource; - zroqryEnderecosID_ENDERECO: TIntegerField; - zroqryEnderecosID_DEVEDOR: TIntegerField; - zroqryEnderecosTP_ENDERECO: TWideStringField; - zroqryEnderecosTP_ATIVO: TWideStringField; - zroqryEnderecosTX_LOGRADOURO: TWideStringField; - zroqryEnderecosTX_BAIRRO: TWideStringField; - zroqryEnderecosID_CIDADE: TIntegerField; - zroqryEnderecosID_ESTADO: TIntegerField; - zroqryEnderecosTX_CEP: TWideStringField; - zroqryEnderecosTX_COMPLEMENTO: TWideStringField; - zroqryEnderecosNR_NUMERO: TFloatField; - zroqryEnderecosTP_REFERENCIA: TWideStringField; - zroqryEnderecosID_HIGIENIZADORA: TIntegerField; - zroqryEnderecosTP_CONFIRMADO: TWideStringField; - zroqryEnderecosID_ULTIMO_USUARIO: TIntegerField; pum_incldel: TPopupMenu; mnuIncluir: TMenuItem; mnuRemover: TMenuItem; N1: TMenuItem; + N2: TMenuItem; + mnuBaixarInter: TMenuItem; + mnuAcertos: TMenuItem; + mnuProtestado: TMenuItem; + mnuDevolucao: TMenuItem; + mnuProtestoAposBaixa: TMenuItem; + mnuPagoDireto: TMenuItem; + mnuSubstituicao: TMenuItem; + mnuFalta: TMenuItem; + mnuAPedidoCliente: TMenuItem; + mnuBaixarCob: TMenuItem; + rotblRepasseFase: TZReadOnlyQuery; + rotblRepasseFaseID_FASE: TIntegerField; + rotblRepasseFasePR_PRINCIPAL: TFloatField; + rotblRepasseFasePR_JUROS: TFloatField; + rotblRepasseFasePR_MULTA: TFloatField; + rotblRepasseFasePR_ENCARGOS: TFloatField; + rotblRepasseFasePR_CORRIGIDO: TFloatField; + rotblRepasseFaseMIN_ATRASO: TIntegerField; + rotblRepasseFaseMAX_ATRASO: TIntegerField; + rotblRepasseFaseID_REPASSE: TIntegerField; + rotblRepasseFaseID_ULTIMO_USUARIO: TIntegerField; + rotblRepasseFaseDT_HORA_ULTIMA_ATT: TDateTimeField; + tblPagador: TClientDataSet; + dtsPagador: TDataSource; + cdsBoletos: TClientDataSet; + DBMemo1: TDBMemo; + cdsBoletosnossoNumero: TWideStringField; + cdsBoletosseuNumero: TWideStringField; + cdsBoletospagador: TWideMemoField; + gbBoleto: TGroupBox; + cdsBoletossituacao: TWideStringField; + cdsBoletosdataVencimento: TDateField; + cdsBoletosdataHoraSituacao: TWideStringField; pcPesquisaGerar: TPageControl; TabSheet1: TTabSheet; TabSheet2: TTabSheet; - dbgrd_bolunico: TDBGrid; - dbgrd_emailsbolunico: TDBGrid; + btn_gerarbolunico: TButton; + gbPesquisa: TGroupBox; + edtPesquisa: TEdit; + rgTipoPesquisa: TRadioGroup; DBGrid1: TDBGrid; + dtsHist: TDataSource; + spdbtnPesquisa: TSpeedButton; DBGrid2: TDBGrid; + Label6: TLabel; + dtsPesquisa: TDataSource; + zroqryPesquisa: TZReadOnlyQuery; + zroqryPesquisaTX_NOME: TWideStringField; + zroqryPesquisaTX_DOCUMENTO: TWideStringField; + zroqryPesquisaID_DEVEDOR: TIntegerField; GroupBox1: TGroupBox; - Label23: TLabel; - Label24: TLabel; - Label25: TLabel; - SpeedButton2: TSpeedButton; - dblucb_filtrobolunico: TDBLookupComboBox; - dtp_vencinbolunico: TDateTimePicker; - dtp_vencoutbolunico: TDateTimePicker; - edt_bairrobolunico: TEdit; - edt_cepbolunico: TEdit; - edt_cidadebolunico: TEdit; - edt_compbolunico: TEdit; - edt_dddbolunico: TEdit; - edt_docbolunico: TEdit; - edt_emailbolunico: TEdit; - edt_endbolunico: TEdit; - edt_endnumbolunico: TEdit; - edt_estadobolunico: TEdit; - edt_nomebolunico: TEdit; - edt_telbolunico: TEdit; - Label26: TLabel; - Label27: TLabel; - Label28: TLabel; - Label29: TLabel; - Label30: TLabel; - Label31: TLabel; - Label32: TLabel; - lbl_dddbolunico: TLabel; - lbl_docbolunico: TLabel; - lbl_emailbolunico: TLabel; - lbl_nomebolunico: TLabel; - lbl_telbolunico: TLabel; - dt_vencbolunico: TDateTimePicker; - Panel1: TPanel; - Label33: TLabel; + dbedtNomeDevBoleto: TDBEdit; + Label7: TLabel; + dbedtDocDevBoleto: TDBEdit; + Label8: TLabel; + dtsEmpresasTitulos: TDataSource; + zroqryEmpresasTitulos: TZReadOnlyQuery; + zroqryEmpresasTitulosID_EMPRESA: TIntegerField; + zroqryEmpresasTitulosTX_NOME: TWideStringField; + zroqryEmpresasTitulosTX_FANTASIA: TWideStringField; + zroqryEmpresasTitulosTX_CNPJ: TWideStringField; + zroqryEmpresasTitulosTX_IE: TWideStringField; + zroqryEmpresasTitulosTX_ENDERECO: TWideStringField; + zroqryEmpresasTitulosTX_COMPLEMENTO: TWideStringField; + zroqryEmpresasTitulosID_CIDADE: TIntegerField; + zroqryEmpresasTitulosTX_BAIRRO: TWideStringField; + zroqryEmpresasTitulosID_ESTADO: TIntegerField; + zroqryEmpresasTitulosTX_CEP: TWideStringField; + zroqryEmpresasTitulosTX_TELEFONE: TWideStringField; + zroqryEmpresasTitulosTX_EMAIL: TWideStringField; + zroqryEmpresasTitulosTX_WEBSITE: TWideStringField; + zroqryEmpresasTitulosNR_NUMERO: TIntegerField; + zroqryEmpresasTitulosTX_IM: TWideStringField; + zroqryEmpresasTitulosTL_OBSERVACOES: TWideMemoField; + zroqryEmpresasTitulosID_REPASSE: TIntegerField; + zroqryEmpresasTitulosTP_ENTRADA: TWideStringField; + zroqryEmpresasTitulosPR_MULTA: TFloatField; + zroqryEmpresasTitulosPR_JUROS: TFloatField; + zroqryEmpresasTitulosNR_PARCELAS: TIntegerField; + zroqryEmpresasTitulosPR_DESC_QUIT_PRIN: TFloatField; + zroqryEmpresasTitulosPR_DESC_QUIT_JUROS: TFloatField; + zroqryEmpresasTitulosPR_DESC_QUIT_MULTA: TFloatField; + zroqryEmpresasTitulosPR_DESC_QUIT_IND_FIN: TFloatField; + zroqryEmpresasTitulosPR_DESC_QUIT_COR: TFloatField; + zroqryEmpresasTitulosPR_DESC_FINAN_PRIN: TFloatField; + zroqryEmpresasTitulosPR_DESC_FINAN_JUROS: TFloatField; + zroqryEmpresasTitulosPR_DESC_FINAN_MULTA: TFloatField; + zroqryEmpresasTitulosPR_DESC_FINAN_IND_FIN: TFloatField; + zroqryEmpresasTitulosPR_DESC_FINAN_COR: TFloatField; + zroqryEmpresasTitulosPR_INDICADOR_FINANCEIRO: TFloatField; + zroqryEmpresasTitulosPR_JUROS_PARCELAR: TFloatField; + zroqryEmpresasTitulosPR_ENTRADA_MIN: TFloatField; + zroqryEmpresasTitulosPR_ENTRADA_MAX: TFloatField; + zroqryEmpresasTitulosTP_CHEQUE: TWideStringField; + zroqryEmpresasTitulosTP_CRED: TWideStringField; + zroqryEmpresasTitulosTP_DIN: TWideStringField; + zroqryEmpresasTitulosID_ULTIMO_USUARIO: TIntegerField; + zroqryEmpresasTitulosDT_HORA_ULTIMA_ATT: TDateTimeField; + zroqryEmpresasTitulosID_DEPARTAMENTO: TIntegerField; + zroqryEmpresasTitulosNR_JUROS: TFloatField; + zroqryEmpresasTitulosTP_JUROS: TWideStringField; + gbPagador: TGroupBox; + lblNomePagador: TLabel; + edtNomePagador: TEdit; + lblDocumentoPagador: TLabel; + edtDocumentoPagador: TEdit; + lblTipoPagador: TLabel; + cbTipoPagador: TComboBox; + lblEmailPagador: TLabel; + edtEmailPagador: TEdit; + lblEnderecoPagador: TLabel; + edtEnderecoPagador: TEdit; + edtNumeroPagador: TEdit; + lblNumeroPagador: TLabel; + lblComplementoPagador: TLabel; + edtComplementoPagador: TEdit; + lblBairroPagador: TLabel; + edtBairroPagador: TEdit; + lblCidadePagador: TLabel; + edtCidadePagador: TEdit; + lblUfPagador: TLabel; + edtUfPagador: TEdit; + lblCepPagador: TLabel; + edtCepPagador: TEdit; + lblDddPagador: TLabel; + edtDddPagador: TEdit; + lblTelefonePagador: TLabel; + edtTelefonePagador: TEdit; + gbDadosBoleto: TGroupBox; + lblSeuNumeroBoleto: TLabel; + edtSeuNumeroBoleto: TEdit; + lblVlNominalBoleto: TLabel; + edtVlNominalBoleto: TEdit; + dtpVencimentoBoleto: TDateTimePicker; + lblVencimentoBoleto: TLabel; + lblDiasCancelamentoBoleto: TLabel; + edtDiasCancelamentoBoleto: TEdit; + gbMensagemBoleto: TGroupBox; + Label49: TLabel; + Label50: TLabel; + Label51: TLabel; + Label52: TLabel; + Label57: TLabel; + edtLinha1Boleto: TEdit; + edtLinha2Boleto: TEdit; + edtLinha3Boleto: TEdit; + edtLinha4Boleto: TEdit; + edtLinha5Boleto: TEdit; GroupBox2: TGroupBox; - cb_desc1: TComboBox; Label34: TLabel; - edt_taxa1bol: TEdit; Label35: TLabel; - edt_val1bol: TEdit; Label36: TLabel; + cb_desc1: TComboBox; + edt_taxa1bol: TEdit; + edt_val1bol: TEdit; dtp_desc1: TDateTimePicker; GroupBox3: TGroupBox; Label37: TLabel; @@ -256,68 +253,113 @@ type edt_taxa3bol: TEdit; edt_val3bol: TEdit; dtp_desc3: TDateTimePicker; - Label43: TLabel; - edt_valorboleto: TEdit; - Label44: TLabel; - edt_abatimentobol: TEdit; - GroupBox5: TGroupBox; - Label45: TLabel; - Label46: TLabel; - cb_multabol: TComboBox; - edt_taxamultabol: TEdit; - edt_vlmultabol: TEdit; GroupBox6: TGroupBox; Label47: TLabel; Label48: TLabel; + Label55: TLabel; cb_morabol: TComboBox; edt_taxamorabol: TEdit; edt_vlmorabol: TEdit; - GroupBox7: TGroupBox; - Label49: TLabel; - edt_linha1bol: TEdit; - edt_linha2bol: TEdit; - edt_linha3bol: TEdit; - edt_linha4bol: TEdit; - Label50: TLabel; - Label51: TLabel; - Label52: TLabel; - btn_gerarbolunico: TButton; - Label53: TLabel; - Label54: TLabel; - cb_dtlimitebol: TComboBox; - cb_agendabol: TComboBox; - zroqryBolUnicoID_TITULO: TIntegerField; - zroqryEnderecosTX_ESTADO: TStringField; - zroqryEnderecosTX_CIDADE: TStringField; - Label55: TLabel; dtp_multa: TDateTimePicker; + GroupBox5: TGroupBox; + Label45: TLabel; + Label46: TLabel; Label56: TLabel; + cb_multabol: TComboBox; + edt_taxamultabol: TEdit; + edt_vlmultabol: TEdit; dtp_mora: TDateTimePicker; - Label57: TLabel; - edt_linha5bol: TEdit; - N2: TMenuItem; - mnuBaixarInter: TMenuItem; - mnuAcertos: TMenuItem; - mnuProtestado: TMenuItem; - mnuDevolucao: TMenuItem; - mnuProtestoAposBaixa: TMenuItem; - mnuPagoDireto: TMenuItem; - mnuSubstituicao: TMenuItem; - mnuFalta: TMenuItem; - mnuAPedidoCliente: TMenuItem; - mnuBaixarCob: TMenuItem; - rotblRepasseFase: TZReadOnlyQuery; - rotblRepasseFaseID_FASE: TIntegerField; - rotblRepasseFasePR_PRINCIPAL: TFloatField; - rotblRepasseFasePR_JUROS: TFloatField; - rotblRepasseFasePR_MULTA: TFloatField; - rotblRepasseFasePR_ENCARGOS: TFloatField; - rotblRepasseFasePR_CORRIGIDO: TFloatField; - rotblRepasseFaseMIN_ATRASO: TIntegerField; - rotblRepasseFaseMAX_ATRASO: TIntegerField; - rotblRepasseFaseID_REPASSE: TIntegerField; - rotblRepasseFaseID_ULTIMO_USUARIO: TIntegerField; - rotblRepasseFaseDT_HORA_ULTIMA_ATT: TDateTimeField; + gbBeneficiarioBoleto: TGroupBox; + Label14: TLabel; + edtNomeBeneficiario: TEdit; + Label15: TLabel; + edtDocumentoBeneficiario: TEdit; + Label16: TLabel; + cbTipoBeneficiario: TComboBox; + Label17: TLabel; + edtEnderecoBeneficiario: TEdit; + Label18: TLabel; + edtBairroBeneficiario: TEdit; + Label19: TLabel; + edtCidadeBeneficiario: TEdit; + Label20: TLabel; + edtUfBeneficiario: TEdit; + Label21: TLabel; + edtCepBeneficiario: TEdit; + dtsDevedor: TDataSource; + Label13: TLabel; + dblucbEndDevBoleto: TDBLookupComboBox; + Label9: TLabel; + dblucbTelDevBoleto: TDBLookupComboBox; + Label10: TLabel; + dblucbEmailDevBoleto: TDBLookupComboBox; + navPrincipal: TDBNavigator; + GroupBox7: TGroupBox; + Label11: TLabel; + Label12: TLabel; + Label22: TLabel; + Label23: TLabel; + Label24: TLabel; + dbEdtLinha1Boleto: TDBEdit; + dbEdtLinha2Boleto: TDBEdit; + dbEdtLinha3Boleto: TDBEdit; + dbEdtLinha4Boleto: TDBEdit; + dbEdtLinha5Boleto: TDBEdit; + btnPreparaBoleto: TButton; + GroupBox8: TGroupBox; + Label25: TLabel; + Label26: TLabel; + Label27: TLabel; + DBLookupComboBox5: TDBLookupComboBox; + DBEdit5: TDBEdit; + DBEdit6: TDBEdit; + DBEdit7: TDBEdit; + GroupBox9: TGroupBox; + Label28: TLabel; + Label29: TLabel; + Label30: TLabel; + DBLookupComboBox6: TDBLookupComboBox; + DBEdit8: TDBEdit; + DBEdit9: TDBEdit; + DBEdit10: TDBEdit; + GroupBox10: TGroupBox; + Label31: TLabel; + Label32: TLabel; + Label33: TLabel; + DBLookupComboBox7: TDBLookupComboBox; + DBEdit11: TDBEdit; + DBEdit14: TDBEdit; + DBEdit17: TDBEdit; + GroupBox11: TGroupBox; + Label43: TLabel; + Label44: TLabel; + Label53: TLabel; + DBLookupComboBox8: TDBLookupComboBox; + DBEdit12: TDBEdit; + DBEdit15: TDBEdit; + DBEdit18: TDBEdit; + GroupBox12: TGroupBox; + Label54: TLabel; + Label58: TLabel; + Label59: TLabel; + DBLookupComboBox9: TDBLookupComboBox; + DBEdit13: TDBEdit; + DBEdit16: TDBEdit; + DBEdit19: TDBEdit; + Label60: TLabel; + Label61: TLabel; + Label62: TLabel; + DBEdit20: TDBEdit; + DBEdit21: TDBEdit; + DBEdit22: TDBEdit; + Label63: TLabel; + DBEdit23: TDBEdit; + btnGerarBoleto: TButton; + btnFichaCliente: TButton; + GroupBox13: TGroupBox; + DBLookupComboBox10: TDBLookupComboBox; + DBGrid3: TDBGrid; + DBNavigator1: TDBNavigator; procedure FormCreate(Sender: TObject); procedure SpeedButton1Click(Sender: TObject); procedure dtsBoletosDataChange(Sender: TObject; Field: TField); @@ -327,12 +369,8 @@ type procedure dbgrd_boletosMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure mnhGrupoBoletosClick(Sender: TObject); - procedure SpeedButton2Click(Sender: TObject); procedure dbgrd_bolunicoMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); - procedure mnuIncluirClick(Sender: TObject); - procedure edt_valorboletoKeyPress(Sender: TObject; var Key: Char); - procedure edt_abatimentobolKeyPress(Sender: TObject; var Key: Char); procedure btn_gerarbolunicoClick(Sender: TObject); procedure mnuAcertosClick(Sender: TObject); procedure mnuProtestadoClick(Sender: TObject); @@ -343,17 +381,48 @@ type procedure mnuFaltaClick(Sender: TObject); procedure mnuAPedidoClienteClick(Sender: TObject); procedure mnuBaixarCobClick(Sender: TObject); + procedure cdsBoletosAfterScroll(DataSet: TDataSet); + procedure spdbtnPesquisaClick(Sender: TObject); + procedure DBGrid2DblClick(Sender: TObject); + procedure cbSituacaoChange(Sender: TObject); + procedure btnPreparaBoletoClick(Sender: TObject); + procedure dtpVencimentoIniChange(Sender: TObject); + procedure dtpVencimentoFimChange(Sender: TObject); + procedure clbEmpresasTitulosClickCheck(Sender: TObject); + procedure dtsDevedorStateChange(Sender: TObject); + procedure DBEdit6KeyPress(Sender: TObject; var Key: Char); + procedure DBEdit7KeyPress(Sender: TObject; var Key: Char); + procedure btnGerarBoletoClick(Sender: TObject); + procedure btnFichaClienteClick(Sender: TObject); + procedure DBNavigator1BeforeAction(Sender: TObject; Button: TNavigateBtn); private opcoes_situacao, opcoes_datatipo, opcoes_ordem: TStringList; JSONBoletoUnico: TJSONObject; vl_bol: currency; function RequestJSON(URL: String; Body: TStringStream = nil): TJSONObject; + function POST2(URL: String; Body: TStringStream = nil): TJSONObject; function RequestBase64(URL: String; Body: TStringStream = nil): string; function SendJSON(URL: String; JSON: TJSONObject): string; function ValidadorPagador: TStringArray; function ValidadorDescontos: TStringArray; function ValidadorMultaMora: TStringArray; + function ValidadorBeneficiado: TStringArray; + function ValidadorBoleto: TStringArray; + procedure JsonToDataset2(aDataset: TDataSet; aJSON: string); + + procedure JsonToClientDataSetString(aDataset: TDataSet; aJSON: string); + procedure JsonArrayToDataset(aDataset: TDataSet; aJSON: TJSONArray); + + procedure HorScrollBar(ListBox: TCheckListBox; MaxWidth: Integer); + procedure AdjustCheckListBox(ListBox: TCheckListBox); + + procedure FiltrarTitulos; + + function Request(Method: TMethod; URL: String; Body: TStringStream = nil) + : TJSONObject; + function JsonArrayToText(jObj: TJSONObject; strField: string): string; + { Private declarations } public { Public declarations } @@ -366,10 +435,10 @@ implementation {$R *.dfm} -uses udtmSystem, ufrmGrupoBoletoEmpresas; +uses udtmSystem, ufrmGrupoBoletoEmpresas, ucadDevedores; var - jsonBoletoBase: string = '{' + ' "pagador":{' + ' "cnpjCpf":"",' + + jsonBoletoBase: string = '{' + ' "pagador":{' + ' "cpfCnpj":"",' + ' "nome":"",' + ' "cep":"",' + ' "endereco":"",' + ' "numero":"",' + ' "complemento":"",' + ' "bairro":"",' + ' "cidade":"",' + ' "uf":"",' + ' "email":"",' + @@ -389,6 +458,40 @@ var ' "mora":{' + ' "codigoMora":"",' + ' "valor":0,' + ' "taxa":0,' + ' "data":""' + ' },' + ' "cnpjCPFBeneficiario":"",' + ' "numDiasAgenda":""' + '}'; + jsonBase: string = + '{"seuNumero": "", "valorNominal": 0, "dataVencimento": "", "numDiasAgenda": 0, ' + + '"pagador": {"cpfCnpj": "", "tipoPessoa": "", "nome": "", "endereco": "", "cidade": "", "uf": "", "cep": ""}, ' + + '"desconto1": {"codigoDesconto": "", "taxa": 0, "valor": 0}, ' + + '"desconto2": {"codigoDesconto": "", "taxa": 0, "valor": 0}, ' + + '"desconto3": {"codigoDesconto": "", "taxa": 0, "valor": 0}, ' + '"multa":{}'+'}'; + + situacoes: array [0 .. 6] of string = ( + 'A', + 'AC', + 'AB', + 'AJ', + 'B', + 'QC', + 'QB' + ); + +procedure TfrmCentralBoletos.AdjustCheckListBox(ListBox: TCheckListBox); +var + i, nMaxWidth, nItemWidth: Integer; +begin + // ajusta o checklistbox pra ter scroll horizontal + nMaxWidth := ListBox.ClientWidth; + for i := 0 to ListBox.Items.Count - 1 do + begin + nItemWidth := ListBox.Canvas.TextWidth(ListBox.Items[i]) + 20; + if (nItemWidth > nMaxWidth) then + nMaxWidth := nItemWidth; + end; + if (nMaxWidth > ListBox.ClientWidth) then + begin + ListBox.ScrollWidth := nMaxWidth; + end; +end; procedure TfrmCentralBoletos.btn_gerarbolunicoClick(Sender: TObject); var @@ -426,32 +529,29 @@ begin with dtmSystem do begin tblBoletos.Append; - tblBoletosNR_NOSSO_NUMERO.AsString := - inttostr(dtmSystem.seqBoletos.GetCurrentValue + 1).PadLeft(15, '0'); - tblBoletosDT_EMISSAO.AsDateTime := Date; - tblBoletosVL_NOMINAL.AsCurrency := StrToCurr(edt_valorboleto.Text); - if edt_abatimentobol.Text <> '' then - begin - tblBoletosVL_ABATIMENTO.AsCurrency := StrToCurr(edt_abatimentobol.Text); - end - else - begin - tblBoletosVL_ABATIMENTO.AsCurrency := 0; - end; - tblBoletosDT_VENCIMENTO.AsDateTime := dt_vencbolunico.Date; - tblBoletosID_GRUPO.AsInteger := tblGrupoBoletosID_GRUPO.AsInteger; - tblBoletos.Post; - for i := 0 to dbgrd_bolunico.SelectedRows.Count - 1 do - begin - zroqryBolUnico.GotoBookmark - (pointer(dbgrd_bolunico.SelectedRows.Items[i])); - tblBoletoTitulos.Append; - tblBoletoTitulosID_DEVEDOR.AsInteger := - zroqryBolUnicoID_DEVEDOR.AsInteger; - tblBoletoTitulosID_TITULO.AsInteger := zroqryBolUnicoID_TITULO.AsInteger; - tblBoletoTitulosID_BOLETO.AsInteger := tblBoletosID.AsInteger; - tblBoletoTitulos.Post; - end; + + // tblBoletosVL_NOMINAL.AsCurrency := StrToCurr(edt_valorboleto.Text); + // if edt_abatimentobol.Text <> '' then + // begin + // tblBoletosVL_ABATIMENTO.AsCurrency := StrToCurr(edt_abatimentobol.Text); + // end + // else + // begin + // tblBoletosVL_ABATIMENTO.AsCurrency := 0; + // end; + // tblBoletosDT_VENCIMENTO.AsDateTime := dt_vencbolunico.Date; + tblBoletos.POST; + // for i := 0 to dbgrd_bolunico.SelectedRows.Count - 1 do + // begin + // zroqryBolUnico.GotoBookmark + // (pointer(dbgrd_bolunico.SelectedRows.Items[i])); + // tblBoletoTitulos.Append; + // tblBoletoTitulosID_DEVEDOR.AsInteger := + // zroqryBolUnicoID_DEVEDOR.AsInteger; + // tblBoletoTitulosID_TITULO.AsInteger := zroqryBolUnicoID_TITULO.AsInteger; + // tblBoletoTitulosID_BOLETO.AsInteger := tblBoletosID.AsInteger; + // tblBoletoTitulos.POST; + // end; end; try @@ -461,134 +561,134 @@ begin end; - JSONPair := JSONBoletoUnico.Get('seuNumero'); + JSONPair := JSONBoletoUnico.GET('seuNumero'); JSONPair.JsonValue.Free; - JSONPair.JsonValue := TJSONString.create - (dtmSystem.tblBoletosNR_NOSSO_NUMERO.AsString); + // JSONPair.JsonValue := TJSONString.create + // (dtmSystem.tblBoletosNR_NOSSO_NUMERO.AsString); - JSONPair := JSONBoletoUnico.Get('cnpjCPFBeneficiario'); + JSONPair := JSONBoletoUnico.GET('cnpjCPFBeneficiario'); JSONPair.JsonValue.Free; JSONPair.JsonValue := TJSONString.create (StringReplace(StringReplace(StringReplace(dtmSystem.tblEmpresaTX_CNPJ. AsString, '.', '', [rfReplaceAll]), '-', '', [rfReplaceAll]), '/', '', [rfReplaceAll])); - JSONPair := JSONBoletoUnico.Get('valorNominal'); + JSONPair := JSONBoletoUnico.GET('valorNominal'); JSONPair.JsonValue.Free; - JSONPair.JsonValue := TJSONNumber.create - (dtmSystem.tblBoletosVL_NOMINAL.AsString); + // JSONPair.JsonValue := TJSONNumber.create + // (dtmSystem.tblBoletosVL_NOMINAL.AsString); - JSONPair := JSONBoletoUnico.Get('valorAbatimento'); + JSONPair := JSONBoletoUnico.GET('valorAbatimento'); JSONPair.JsonValue.Free; - JSONPair.JsonValue := TJSONNumber.create - (dtmSystem.tblBoletosVL_ABATIMENTO.AsString); + // JSONPair.JsonValue := TJSONNumber.create + // (dtmSystem.tblBoletosVL_ABATIMENTO.AsString); - JSONPair := JSONBoletoUnico.Get('dataEmissao'); + JSONPair := JSONBoletoUnico.GET('dataEmissao'); JSONPair.JsonValue.Free; JSONPair.JsonValue := TJSONString.create(FormatDateTime('yyyy-mm-dd', Date)); - JSONPair := JSONBoletoUnico.Get('dataVencimento'); + JSONPair := JSONBoletoUnico.GET('dataVencimento'); JSONPair.JsonValue.Free; - JSONPair.JsonValue := TJSONString.create(FormatDateTime('yyyy-mm-dd', - dtmSystem.tblBoletosDT_VENCIMENTO.AsDateTime)); + // JSONPair.JsonValue := TJSONString.create(FormatDateTime('yyyy-mm-dd', + // dtmSystem.tblBoletosDT_VENCIMENTO.AsDateTime)); - JSONPair := JSONBoletoUnico.Get('numDiasAgenda'); + JSONPair := JSONBoletoUnico.GET('numDiasAgenda'); JSONPair.JsonValue.Free; - JSONPair.JsonValue := TJSONString.create(cb_agendabol.Text); + // JSONPair.JsonValue := TJSONString.create(cb_agendabol.Text); - JSONPair := JSONBoletoUnico.Get('dataLimite'); + JSONPair := JSONBoletoUnico.GET('dataLimite'); JSONPair.JsonValue.Free; - JSONPair.JsonValue := TJSONString.create(cb_dtlimitebol.Text); + // JSONPair.JsonValue := TJSONString.create(cb_dtlimitebol.Text); pagador := JSONBoletoUnico.Values['pagador'] as TJSONObject; - JSONPair := pagador.Get('cnpjCpf'); + JSONPair := pagador.GET('cnpjCpf'); JSONPair.JsonValue.Free; - JSONPair.JsonValue := TJSONString.create(edt_docbolunico.Text); + // JSONPair.JsonValue := TJSONString.create(edt_docbolunico.Text); - JSONPair := pagador.Get('tipoPessoa'); + JSONPair := pagador.GET('tipoPessoa'); JSONPair.JsonValue.Free; - if length(edt_docbolunico.Text) = 11 then - begin - JSONPair.JsonValue := TJSONString.create('FISICA'); - end - else - begin - JSONPair.JsonValue := TJSONString.create('JURIDICA'); - end; - - JSONPair := pagador.Get('nome'); + // if length(edt_docbolunico.Text) = 11 then + // begin + // JSONPair.JsonValue := TJSONString.create('FISICA'); + // end + // else + // begin + // JSONPair.JsonValue := TJSONString.create('JURIDICA'); + // end; + + JSONPair := pagador.GET('nome'); JSONPair.JsonValue.Free; - JSONPair.JsonValue := TJSONString.create(edt_nomebolunico.Text); + // JSONPair.JsonValue := TJSONString.create(edt_nomebolunico.Text); - JSONPair := pagador.Get('endereco'); + JSONPair := pagador.GET('endereco'); JSONPair.JsonValue.Free; - JSONPair.JsonValue := TJSONString.create(edt_endbolunico.Text); + // JSONPair.JsonValue := TJSONString.create(edt_endbolunico.Text); - JSONPair := pagador.Get('numero'); + JSONPair := pagador.GET('numero'); JSONPair.JsonValue.Free; - JSONPair.JsonValue := TJSONString.create(edt_endnumbolunico.Text); + // JSONPair.JsonValue := TJSONString.create(edt_endnumbolunico.Text); - JSONPair := pagador.Get('complemento'); + JSONPair := pagador.GET('complemento'); JSONPair.JsonValue.Free; - JSONPair.JsonValue := TJSONString.create(edt_compbolunico.Text); + // JSONPair.JsonValue := TJSONString.create(edt_compbolunico.Text); - JSONPair := pagador.Get('bairro'); + JSONPair := pagador.GET('bairro'); JSONPair.JsonValue.Free; - JSONPair.JsonValue := TJSONString.create(edt_bairrobolunico.Text); + // JSONPair.JsonValue := TJSONString.create(edt_bairrobolunico.Text); - JSONPair := pagador.Get('cidade'); + JSONPair := pagador.GET('cidade'); JSONPair.JsonValue.Free; - JSONPair.JsonValue := TJSONString.create(edt_cidadebolunico.Text); + // JSONPair.JsonValue := TJSONString.create(edt_cidadebolunico.Text); - JSONPair := pagador.Get('uf'); + JSONPair := pagador.GET('uf'); JSONPair.JsonValue.Free; - JSONPair.JsonValue := TJSONString.create(edt_estadobolunico.Text); + // JSONPair.JsonValue := TJSONString.create(edt_estadobolunico.Text); - JSONPair := pagador.Get('cep'); + JSONPair := pagador.GET('cep'); JSONPair.JsonValue.Free; - JSONPair.JsonValue := TJSONString.create(edt_cepbolunico.Text); + // JSONPair.JsonValue := TJSONString.create(edt_cepbolunico.Text); - JSONPair := pagador.Get('email'); + JSONPair := pagador.GET('email'); JSONPair.JsonValue.Free; - JSONPair.JsonValue := TJSONString.create(edt_emailbolunico.Text); + // JSONPair.JsonValue := TJSONString.create(edt_emailbolunico.Text); - JSONPair := pagador.Get('ddd'); + JSONPair := pagador.GET('ddd'); JSONPair.JsonValue.Free; - JSONPair.JsonValue := TJSONString.create(edt_dddbolunico.Text); + // JSONPair.JsonValue := TJSONString.create(edt_dddbolunico.Text); - JSONPair := pagador.Get('telefone'); + JSONPair := pagador.GET('telefone'); JSONPair.JsonValue.Free; - JSONPair.JsonValue := TJSONString.create(edt_telbolunico.Text); + // JSONPair.JsonValue := TJSONString.create(edt_telbolunico.Text); mensagem := JSONBoletoUnico.Values['mensagem'] as TJSONObject; - JSONPair := mensagem.Get('linha1'); + JSONPair := mensagem.GET('linha1'); JSONPair.JsonValue.Free; - JSONPair.JsonValue := TJSONString.create(edt_linha1bol.Text); + // JSONPair.JsonValue := TJSONString.create(edt_linha1bol.Text); - JSONPair := mensagem.Get('linha2'); + JSONPair := mensagem.GET('linha2'); JSONPair.JsonValue.Free; - JSONPair.JsonValue := TJSONString.create(edt_linha2bol.Text); + // JSONPair.JsonValue := TJSONString.create(edt_linha2bol.Text); - JSONPair := mensagem.Get('linha3'); + JSONPair := mensagem.GET('linha3'); JSONPair.JsonValue.Free; - JSONPair.JsonValue := TJSONString.create(edt_linha3bol.Text); + // JSONPair.JsonValue := TJSONString.create(edt_linha3bol.Text); - JSONPair := mensagem.Get('linha4'); + JSONPair := mensagem.GET('linha4'); JSONPair.JsonValue.Free; - JSONPair.JsonValue := TJSONString.create(edt_linha4bol.Text); + // JSONPair.JsonValue := TJSONString.create(edt_linha4bol.Text); - JSONPair := mensagem.Get('linha5'); + JSONPair := mensagem.GET('linha5'); JSONPair.JsonValue.Free; - JSONPair.JsonValue := TJSONString.create(edt_linha5bol.Text); + // JSONPair.JsonValue := TJSONString.create(edt_linha5bol.Text); desc1 := JSONBoletoUnico.Values['desconto1'] as TJSONObject; - JSONPair := desc1.Get('codigoDesconto'); + JSONPair := desc1.GET('codigoDesconto'); JSONPair.JsonValue.Free; JSONPair.JsonValue := TJSONString.create(cb_desc1.Text); - JSONPair := desc1.Get('data'); + JSONPair := desc1.GET('data'); JSONPair.JsonValue.Free; if cb_desc1.ItemIndex = 0 then begin @@ -600,21 +700,21 @@ begin dtp_desc1.Date)); end; - JSONPair := desc1.Get('taxa'); + JSONPair := desc1.GET('taxa'); JSONPair.JsonValue.Free; JSONPair.JsonValue := TJSONNumber.create(edt_taxa1bol.Text); - JSONPair := desc1.Get('valor'); + JSONPair := desc1.GET('valor'); JSONPair.JsonValue.Free; JSONPair.JsonValue := TJSONNumber.create(edt_val1bol.Text); desc2 := JSONBoletoUnico.Values['desconto2'] as TJSONObject; - JSONPair := desc2.Get('codigoDesconto'); + JSONPair := desc2.GET('codigoDesconto'); JSONPair.JsonValue.Free; JSONPair.JsonValue := TJSONString.create(cb_desc2.Text); - JSONPair := desc2.Get('data'); + JSONPair := desc2.GET('data'); JSONPair.JsonValue.Free; if cb_desc2.ItemIndex = 0 then begin @@ -626,21 +726,21 @@ begin dtp_desc2.Date)); end; - JSONPair := desc2.Get('taxa'); + JSONPair := desc2.GET('taxa'); JSONPair.JsonValue.Free; JSONPair.JsonValue := TJSONNumber.create(edt_taxa2bol.Text); - JSONPair := desc2.Get('valor'); + JSONPair := desc2.GET('valor'); JSONPair.JsonValue.Free; JSONPair.JsonValue := TJSONNumber.create(edt_val2bol.Text); desc3 := JSONBoletoUnico.Values['desconto3'] as TJSONObject; - JSONPair := desc3.Get('codigoDesconto'); + JSONPair := desc3.GET('codigoDesconto'); JSONPair.JsonValue.Free; JSONPair.JsonValue := TJSONString.create(cb_desc3.Text); - JSONPair := desc3.Get('data'); + JSONPair := desc3.GET('data'); JSONPair.JsonValue.Free; if cb_desc3.ItemIndex = 0 then begin @@ -652,21 +752,21 @@ begin dtp_desc3.Date)); end; - JSONPair := desc3.Get('taxa'); + JSONPair := desc3.GET('taxa'); JSONPair.JsonValue.Free; JSONPair.JsonValue := TJSONNumber.create(edt_taxa3bol.Text); - JSONPair := desc3.Get('valor'); + JSONPair := desc3.GET('valor'); JSONPair.JsonValue.Free; JSONPair.JsonValue := TJSONNumber.create(edt_val3bol.Text); multa := JSONBoletoUnico.Values['multa'] as TJSONObject; - JSONPair := multa.Get('codigoMulta'); + JSONPair := multa.GET('codigoMulta'); JSONPair.JsonValue.Free; JSONPair.JsonValue := TJSONString.create(cb_multabol.Text); - JSONPair := multa.Get('data'); + JSONPair := multa.GET('data'); JSONPair.JsonValue.Free; if cb_multabol.ItemIndex = 0 then begin @@ -678,21 +778,21 @@ begin dtp_multa.Date)); end; - JSONPair := multa.Get('taxa'); + JSONPair := multa.GET('taxa'); JSONPair.JsonValue.Free; JSONPair.JsonValue := TJSONNumber.create(edt_taxamultabol.Text); - JSONPair := multa.Get('valor'); + JSONPair := multa.GET('valor'); JSONPair.JsonValue.Free; JSONPair.JsonValue := TJSONNumber.create(edt_vlmultabol.Text); mora := JSONBoletoUnico.Values['mora'] as TJSONObject; - JSONPair := mora.Get('codigoMora'); + JSONPair := mora.GET('codigoMora'); JSONPair.JsonValue.Free; JSONPair.JsonValue := TJSONString.create(cb_morabol.Text); - JSONPair := mora.Get('data'); + JSONPair := mora.GET('data'); JSONPair.JsonValue.Free; if cb_morabol.ItemIndex = 2 then begin @@ -704,11 +804,11 @@ begin dtp_mora.Date)); end; - JSONPair := mora.Get('taxa'); + JSONPair := mora.GET('taxa'); JSONPair.JsonValue.Free; JSONPair.JsonValue := TJSONNumber.create(edt_taxamorabol.Text); - JSONPair := mora.Get('valor'); + JSONPair := mora.GET('valor'); JSONPair.JsonValue.Free; JSONPair.JsonValue := TJSONNumber.create(edt_vlmorabol.Text); @@ -718,12 +818,12 @@ begin if resp = 'Error' then begin - while dtmSystem.tblBoletoTitulos.Locate('ID_BOLETO', - dtmSystem.tblBoletosID.AsInteger, []) do - begin - dtmSystem.tblBoletoTitulos.Delete; - end; - dtmSystem.tblBoletos.Delete; + // while dtmSystem.tblBoletoTitulos.Locate('ID_BOLETO', + // dtmSystem.tblBoletosID.AsInteger, []) do + // begin + // dtmSystem.tblBoletoTitulos.DELETE; + // end; + dtmSystem.tblBoletos.DELETE; dtmSystem.seqBoletos.BlockSize := -1; dtmSystem.seqBoletos.GetNextValue; dtmSystem.seqBoletos.BlockSize := 1; @@ -733,106 +833,286 @@ begin resposta := TJSONObject.ParseJSONValue(resp) as TJSONObject; dtmSystem.tblBoletos.Edit; - dtmSystem.tblBoletosCD_COD_BARRAS.AsString := - resposta.Values['codigoBarras'].Value; - dtmSystem.tblBoletosCD_COD_BARRAS.AsString := - resposta.Values['linhaDigitavel'].Value; - dtmSystem.tblBoletos.Post; - Showmessage('Boleto de Nº ' + dtmSystem.tblBoletosNR_NOSSO_NUMERO.AsString + - ' gerado com sucesso!'#13#10 + - ' Aguarde aproximadamente por 5 minutos para poder consultá-lo.'); + // dtmSystem.tblBoletosCD_COD_BARRAS.AsString := + // resposta.Values['codigoBarras'].Value; + // dtmSystem.tblBoletosCD_COD_BARRAS.AsString := + // resposta.Values['linhaDigitavel'].Value; + // dtmSystem.tblBoletos.POST; + // Showmessage('Boleto de Nº ' + dtmSystem.tblBoletosNR_NOSSO_NUMERO.AsString + + // ' gerado com sucesso!'#13#10 + + // ' Aguarde aproximadamente por 5 minutos para poder consultá-lo.'); end; end; -procedure TfrmCentralBoletos.dbgrd_boletosDrawColumnCell(Sender: TObject; - const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); +procedure TfrmCentralBoletos.btnFichaClienteClick(Sender: TObject); begin - case AnsiIndexStr(tblBoletossituacao.AsString, ['BAIXADO', 'PAGO']) of - 0: - dbgrd_boletos.Canvas.Brush.Color := $7AA0FF; - 1: - dbgrd_boletos.Canvas.Brush.Color := $FFF8F0; + inherited; + cadDevedores := TcadDevedores.create(Self); + try + cadDevedores.ShowModal; + finally + cadDevedores.Free; end; - dbgrd_boletos.DefaultDrawColumnCell(Rect, DataCol, Column, State); + end; -procedure TfrmCentralBoletos.dbgrd_boletosMouseUp(Sender: TObject; - Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +procedure TfrmCentralBoletos.btnGerarBoletoClick(Sender: TObject); var - Pt: TPoint; - Coord: TGridCoord; + resValidador: TStringArray; begin inherited; - Pt := dbgrd_boletos.ScreenToClient(Mouse.CursorPos); - Coord := dbgrd_boletos.MouseCoord(Pt.X, Pt.Y); - if (Coord.Y > 0) and not(tblBoletos.IsEmpty) and (Button = mbRight) then + Screen.Cursor := crHourGlass; + SetLength(resValidador, 2); + resValidador := ValidadorPagador; + if resValidador[0] = 'False' then begin - pum_download.Popup(Mouse.CursorPos.X, Mouse.CursorPos.Y); + MessageDlg(resValidador[1], mtError, [mbOK], 0); + abort; end; -end; - -procedure TfrmCentralBoletos.dbgrd_bolunicoMouseUp(Sender: TObject; - Button: TMouseButton; Shift: TShiftState; X, Y: Integer); -var - Pt: TPoint; - Coord: TGridCoord; -begin - inherited; - Pt := dbgrd_bolunico.ScreenToClient(Mouse.CursorPos); - Coord := dbgrd_bolunico.MouseCoord(Pt.X, Pt.Y); - if (Coord.Y > 0) and not(zroqryBolUnico.IsEmpty) and (Button = mbRight) then + resValidador := ValidadorDescontos; + if resValidador[0] = 'False' then + begin + MessageDlg(resValidador[1], mtError, [mbOK], 0); + abort; + end; + resValidador := ValidadorMultaMora; + if resValidador[0] = 'False' then begin - pum_incldel.Popup(Mouse.CursorPos.X, Mouse.CursorPos.Y); + MessageDlg(resValidador[1], mtError, [mbOK], 0); + abort; + end; + resValidador := ValidadorBeneficiado; + if resValidador[0] = 'False' then + begin + MessageDlg(resValidador[1], mtError, [mbOK], 0); + abort; + end; + resValidador := ValidadorBoleto; + if resValidador[0] = 'False' then + begin + MessageDlg(resValidador[1], mtError, [mbOK], 0); + abort; end; -end; -procedure TfrmCentralBoletos.dtsBoletosDataChange(Sender: TObject; - Field: TField); -begin - if not tblBoletos.IsEmpty then + if dtmSystem.tblDevEmpBoletos.IsEmpty then begin - if tblBoletosdesconto1.AsString <> '' then - begin - tblDesc1.ReadOnly := False; - JsonToDataset2(tblDesc1, '[' + TJSONObject.ParseJSONValue - (tblBoletosdesconto1.AsString).ToString + ']'); - tblDesc1.ReadOnly := True; - end; - if tblBoletosdesconto2.AsString <> '' then - begin - tblDesc2.ReadOnly := False; - JsonToDataset2(tblDesc2, '[' + TJSONObject.ParseJSONValue - (tblBoletosdesconto2.AsString).ToString + ']'); - tblDesc2.ReadOnly := True; - end; - if tblBoletosdesconto3.AsString <> '' then - begin - tblDesc3.ReadOnly := False; - JsonToDataset2(tblDesc3, '[' + TJSONObject.ParseJSONValue - (tblBoletosdesconto3.AsString).ToString + ']'); - tblDesc3.ReadOnly := True; - end; - if tblBoletosmulta.AsString <> '' then - begin - tblMulta.ReadOnly := False; - JsonToDataset2(tblMulta, '[' + TJSONObject.ParseJSONValue - (tblBoletosmulta.AsString).ToString + ']'); - tblMulta.ReadOnly := True; - end; - if tblBoletosmora.AsString <> '' then + if MessageDlg('Este devedor não possui empresas vinculadas ao boleto.' + + ' Não será possível vincular o boleto a títulos do Sistema. Deseja continuar?', + mtWarning, [mbYes, mbNo], 0) = mrNo then begin - tblMora.ReadOnly := False; - JsonToDataset2(tblMora, '[' + TJSONObject.ParseJSONValue - (tblBoletosmora.AsString).ToString + ']'); - tblMora.ReadOnly := True; + abort; end; end; + + Screen.Cursor := crDefault; end; -procedure TfrmCentralBoletos.edt_abatimentobolKeyPress(Sender: TObject; - var Key: Char); -begin +procedure TfrmCentralBoletos.btnPreparaBoletoClick(Sender: TObject); +var + i: Integer; + docHelper: string; + selecionouAlgo: boolean; + vlNominal: currency; +begin + inherited; + // Showmessage(inttostr(dbgrdTitulos.SelectedRows.Count)); + // for i := 0 to dbgrdTitulos.SelectedRows.Count - 1 do + // begin + // dbgrdTitulos.DataSource.DataSet.GotoBookmark + // (Pointer(dbgrdTitulos.SelectedRows.Items[i])); + // Showmessage(dbgrdTitulos.DataSource.DataSet.FieldByName + // ('tx_produto').AsString) + // end; + + Screen.Cursor := crHourGlass; + + // Zerando a página + + edtNomePagador.Clear; + edtDocumentoPagador.Clear; + cbTipoPagador.ItemIndex := -1; + edtEmailPagador.Clear; + edtEnderecoPagador.Clear; + edtNumeroPagador.Clear; + edtComplementoPagador.Clear; + edtBairroPagador.Clear; + edtCidadePagador.Clear; + edtUfPagador.Clear; + edtCepPagador.Clear; + edtDddPagador.Clear; + edtTelefonePagador.Clear; + + edtSeuNumeroBoleto.Clear; + edtVlNominalBoleto.Clear; + dtpVencimentoBoleto.Date := Date; + edtDiasCancelamentoBoleto.Text := '0'; + cb_multabol.ItemIndex := -1; + cb_morabol.ItemIndex := -1; + cb_desc1.ItemIndex := -1; + cb_desc2.ItemIndex := -1; + cb_desc3.ItemIndex := -1; + edt_taxamultabol.Clear; + edt_taxamorabol.Clear; + edt_taxa1bol.Clear; + edt_taxa2bol.Clear; + edt_taxa3bol.Clear; + edt_vlmorabol.Clear; + edt_vlmultabol.Clear; + edt_val1bol.Clear; + edt_val2bol.Clear; + edt_val3bol.Clear; + dtp_mora.Date := Date; + dtp_multa.Date := Date; + dtp_desc1.Date := Date; + dtp_desc2.Date := Date; + dtp_desc3.Date := Date; + edtLinha1Boleto.Clear; + edtLinha2Boleto.Clear; + edtLinha3Boleto.Clear; + edtLinha4Boleto.Clear; + edtLinha5Boleto.Clear; + + edtNomeBeneficiario.Clear; + edtDocumentoBeneficiario.Clear; + cbTipoBeneficiario.ItemIndex := -1; + edtEnderecoBeneficiario.Clear; + edtBairroBeneficiario.Clear; + edtCidadeBeneficiario.Clear; + edtUfBeneficiario.Clear; + edtCepBeneficiario.Clear; + + with dtmSystem do + begin + try + try + edtNomePagador.Text := tblDevedoresTX_NOME.AsString; + cbTipoPagador.ItemIndex := + IfThen(tblDevedoresTP_CLIENTE.AsString = 'F', 0, 1); + if tblDevedoresTP_CLIENTE.AsString = 'F' then + begin + docHelper := StringReplace(tblDevedoresCD_CPF.AsString, '.', '', + [rfReplaceAll]); + docHelper := StringReplace(docHelper, '-', '', [rfReplaceAll]); + docHelper := docHelper.PadLeft(14, '0'); + end + else + begin + docHelper := StringReplace(tblDevedoresCD_CNPJ.AsString, '.', '', + [rfReplaceAll]); + docHelper := StringReplace(tblDevedoresCD_CNPJ.AsString, '-', '', + [rfReplaceAll]); + docHelper := StringReplace(tblDevedoresCD_CNPJ.AsString, '/', '', + [rfReplaceAll]); + end; + edtDocumentoPagador.Text := docHelper; + if not tblEmail.IsEmpty then + begin + edtEmailPagador.Text := tblEmailTX_EMAIL.AsString; + end + else + begin + edtEmailPagador.Text := ''; + end; + if not tblEnderecos.IsEmpty then + begin + edtEnderecoPagador.Text := tblEnderecosTX_LOGRADOURO.AsString; + edtNumeroPagador.Text := tblEnderecosNR_NUMERO.AsString; + edtComplementoPagador.Text := tblEnderecosTX_COMPLEMENTO.AsString; + edtBairroPagador.Text := tblEnderecosTX_BAIRRO.AsString; + edtCidadePagador.Text := tblEnderecosTX_CIDADE.AsString; + edtUfPagador.Text := tblEnderecosTX_UF.AsString; + end + else + begin + edtEnderecoPagador.Clear; + edtNumeroPagador.Clear; + edtComplementoPagador.Clear; + edtBairroPagador.Clear; + edtCidadePagador.Clear; + edtUfPagador.Clear; + edtCepPagador.Clear; + end; + if not tblTelefones.IsEmpty then + begin + edtDddPagador.Text := tblTelefonesNR_DDD.AsString; + edtTelefonePagador.Text := tblTelefonesNR_NUMERO.AsString; + end + else + begin + edtDddPagador.Clear; + edtTelefonePagador.Clear; + end; + + cb_multabol.ItemIndex := -1; + cb_morabol.ItemIndex := -1; + cb_desc1.ItemIndex := -1; + cb_desc2.ItemIndex := -1; + cb_desc3.ItemIndex := -1; + edt_taxamultabol.Clear; + edt_taxamorabol.Clear; + edt_taxa1bol.Clear; + edt_taxa2bol.Clear; + edt_taxa3bol.Clear; + edt_vlmorabol.Clear; + edt_vlmultabol.Clear; + edt_val1bol.Clear; + edt_val2bol.Clear; + edt_val3bol.Clear; + dtp_mora.Date := Date; + dtp_multa.Date := Date; + dtp_desc1.Date := Date; + dtp_desc2.Date := Date; + dtp_desc3.Date := Date; + + edtLinha1Boleto.Clear; + edtLinha2Boleto.Clear; + edtLinha3Boleto.Clear; + edtLinha4Boleto.Clear; + edtLinha5Boleto.Clear; + + edtNomeBeneficiario.Text := tblEmpresaTX_NOME.AsString; + edtDocumentoBeneficiario.Text := tblEmpresaTX_CNPJ.AsString; + cbTipoBeneficiario.ItemIndex := 1; + edtEnderecoBeneficiario.Text := tblEmpresaTX_ENDERECO.AsString; + edtBairroBeneficiario.Text := tblEmpresaTX_BAIRRO.AsString; + edtCidadeBeneficiario.Text := tblEmpresaTX_CIDADE.AsString; + edtUfBeneficiario.Text := tblEmpresaTX_UF.AsString; + edtCepBeneficiario.Text := tblEmpresaTX_CEP.AsString; + + pcPesquisaGerar.TabIndex := 1; + except + + end; + finally + Screen.Cursor := crDefault; + end; + end; + +end; + +procedure TfrmCentralBoletos.cbSituacaoChange(Sender: TObject); +begin + inherited; + FiltrarTitulos; + +end; + +procedure TfrmCentralBoletos.cdsBoletosAfterScroll(DataSet: TDataSet); +begin + inherited; + JsonToDataset2(tblPagador, Format('[%s]', + [cdsBoletos.FieldByName('pagador').AsString])); +end; + +procedure TfrmCentralBoletos.clbEmpresasTitulosClickCheck(Sender: TObject); +begin + inherited; + FiltrarTitulos; +end; + +procedure TfrmCentralBoletos.DBEdit6KeyPress(Sender: TObject; var Key: Char); +begin inherited; if not(Key in [#8, '0' .. '9', System.SysUtils.FormatSettings.DecimalSeparator]) then @@ -840,28 +1120,216 @@ begin Key := #0; end else if (Key = System.SysUtils.FormatSettings.DecimalSeparator) and - (Pos(Key, edt_abatimentobol.Text) > 0) then + (Pos(Key, (Sender as TDBEdit).Text) > 0) then begin Key := #0; end; end; -procedure TfrmCentralBoletos.edt_valorboletoKeyPress(Sender: TObject; - var Key: Char); +procedure TfrmCentralBoletos.DBEdit7KeyPress(Sender: TObject; var Key: Char); begin inherited; if not(Key in [#8, '0' .. '9', System.SysUtils.FormatSettings.DecimalSeparator]) then begin Key := #0; - end - else if (Key = System.SysUtils.FormatSettings.DecimalSeparator) and - (Pos(Key, edt_valorboleto.Text) > 0) then + end; +end; + +procedure TfrmCentralBoletos.dbgrd_boletosDrawColumnCell(Sender: TObject; + const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); +begin + // case AnsiIndexStr(tblBoletossituacao.AsString, ['BAIXADO', 'PAGO']) of + // 0: + // dbgrd_boletos.Canvas.Brush.Color := $7AA0FF; + // 1: + // dbgrd_boletos.Canvas.Brush.Color := $FFF8F0; + // end; + // dbgrd_boletos.DefaultDrawColumnCell(Rect, DataCol, Column, State); +end; + +procedure TfrmCentralBoletos.dbgrd_boletosMouseUp(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +var + Pt: TPoint; + Coord: TGridCoord; +begin + inherited; + Pt := dbgrd_boletos.ScreenToClient(Mouse.CursorPos); + Coord := dbgrd_boletos.MouseCoord(Pt.X, Pt.Y); + if (Coord.Y > 0) and not(cdsBoletos.IsEmpty) and (Button = mbRight) then begin - Key := #0; + pum_download.Popup(Mouse.CursorPos.X, Mouse.CursorPos.Y); + end; +end; + +procedure TfrmCentralBoletos.dbgrd_bolunicoMouseUp(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +var + Pt: TPoint; + Coord: TGridCoord; +begin + inherited; + // Pt := dbgrd_bolunico.ScreenToClient(Mouse.CursorPos); + // Coord := dbgrd_bolunico.MouseCoord(Pt.X, Pt.Y); + // if (Coord.Y > 0) and not(zroqryBolUnico.IsEmpty) and (Button = mbRight) then + // begin + // pum_incldel.Popup(Mouse.CursorPos.X, Mouse.CursorPos.Y); + // end; +end; + +procedure TfrmCentralBoletos.DBGrid2DblClick(Sender: TObject); +begin + inherited; + with dtmSystem do + begin + Screen.Cursor := crHourGlass; + OpenOrRefresh(tblDevedores); + if tblDevedores.Locate('ID_DEVEDOR', zroqryPesquisaID_DEVEDOR.AsInteger, []) + then + begin + cdsHist.DisableControls; + + if cdsHist.RecordCount > 10 then + begin + cdsHist.First; + cdsHist.DELETE; + end; + + if not(cdsHist.Locate('TX_NOME', zroqryPesquisaTX_NOME.AsString, + [loCaseInsensitive, loPartialKey])) then + begin + cdsHist.Append; + cdsHisttx_nome.AsString := zroqryPesquisaTX_NOME.AsString; + cdsHistid_devedor.AsInteger := zroqryPesquisaID_DEVEDOR.AsInteger; + cdsHist.POST; + end; + + cdsHist.EnableControls; + if not Assigned(dtsDevedor.DataSet) then + begin + dtsDevedor.DataSet := dtmSystem.tblDevedores; + end; + OpenOrRefresh(tblEnderecos); + OpenOrRefresh(tblTelefones); + OpenOrRefresh(tblEmail); + OpenOrRefresh(tblTitulos); + OpenOrRefresh(tblHistorico); + btnFichaCliente.Enabled := true; + end; + Screen.Cursor := crDefault; + end; +end; + +procedure TfrmCentralBoletos.DBNavigator1BeforeAction(Sender: TObject; + Button: TNavigateBtn); +begin + inherited; + if Button = nbPost then + begin + dtmSystem.tblDevEmpBoletosID_DEVEDOR.AsInteger := dtmSystem.id_devedor; end; end; +procedure TfrmCentralBoletos.dtpVencimentoFimChange(Sender: TObject); +begin + inherited; + FiltrarTitulos; +end; + +procedure TfrmCentralBoletos.dtpVencimentoIniChange(Sender: TObject); +begin + inherited; + FiltrarTitulos; +end; + +procedure TfrmCentralBoletos.dtsBoletosDataChange(Sender: TObject; + Field: TField); +begin + // if not tblBoletos.IsEmpty then + // begin + // if tblBoletosdesconto1.AsString <> '' then + // begin + // tblDesc1.ReadOnly := False; + // JsonToDataset2(tblDesc1, '[' + TJSONObject.ParseJSONValue + // (tblBoletosdesconto1.AsString).ToString + ']'); + // tblDesc1.ReadOnly := True; + // end; + // if tblBoletosdesconto2.AsString <> '' then + // begin + // tblDesc2.ReadOnly := False; + // JsonToDataset2(tblDesc2, '[' + TJSONObject.ParseJSONValue + // (tblBoletosdesconto2.AsString).ToString + ']'); + // tblDesc2.ReadOnly := True; + // end; + // if tblBoletosdesconto3.AsString <> '' then + // begin + // tblDesc3.ReadOnly := False; + // JsonToDataset2(tblDesc3, '[' + TJSONObject.ParseJSONValue + // (tblBoletosdesconto3.AsString).ToString + ']'); + // tblDesc3.ReadOnly := True; + // end; + // if tblBoletosmulta.AsString <> '' then + // begin + // tblMulta.ReadOnly := False; + // JsonToDataset2(tblMulta, '[' + TJSONObject.ParseJSONValue + // (tblBoletosmulta.AsString).ToString + ']'); + // tblMulta.ReadOnly := True; + // end; + // if tblBoletosmora.AsString <> '' then + // begin + // tblMora.ReadOnly := False; + // JsonToDataset2(tblMora, '[' + TJSONObject.ParseJSONValue + // (tblBoletosmora.AsString).ToString + ']'); + // tblMora.ReadOnly := True; + // end; + // end; +end; + +procedure TfrmCentralBoletos.dtsDevedorStateChange(Sender: TObject); +begin + inherited; + dbedtNomeDevBoleto.ReadOnly := not(dtsDevedor.DataSet.State in [dsEdit]); + dbedtDocDevBoleto.ReadOnly := not(dtsDevedor.DataSet.State in [dsEdit]); + dblucbEndDevBoleto.ReadOnly := not(dtsDevedor.DataSet.State in [dsEdit]); + dblucbTelDevBoleto.ReadOnly := not(dtsDevedor.DataSet.State in [dsEdit]); + dblucbEmailDevBoleto.ReadOnly := not(dtsDevedor.DataSet.State in [dsEdit]); + dbEdtLinha1Boleto.ReadOnly := not(dtsDevedor.DataSet.State in [dsEdit]); + dbEdtLinha2Boleto.ReadOnly := not(dtsDevedor.DataSet.State in [dsEdit]); + dbEdtLinha3Boleto.ReadOnly := not(dtsDevedor.DataSet.State in [dsEdit]); + dbEdtLinha4Boleto.ReadOnly := not(dtsDevedor.DataSet.State in [dsEdit]); + dbEdtLinha5Boleto.ReadOnly := not(dtsDevedor.DataSet.State in [dsEdit]); + + DBLookupComboBox5.ReadOnly := not(dtsDevedor.DataSet.State in [dsEdit]); + DBEdit6.ReadOnly := not(dtsDevedor.DataSet.State in [dsEdit]); + DBEdit5.ReadOnly := not(dtsDevedor.DataSet.State in [dsEdit]); + DBEdit7.ReadOnly := not(dtsDevedor.DataSet.State in [dsEdit]); + + DBLookupComboBox6.ReadOnly := not(dtsDevedor.DataSet.State in [dsEdit]); + DBEdit9.ReadOnly := not(dtsDevedor.DataSet.State in [dsEdit]); + DBEdit8.ReadOnly := not(dtsDevedor.DataSet.State in [dsEdit]); + DBEdit10.ReadOnly := not(dtsDevedor.DataSet.State in [dsEdit]); + + DBLookupComboBox7.ReadOnly := not(dtsDevedor.DataSet.State in [dsEdit]); + DBEdit11.ReadOnly := not(dtsDevedor.DataSet.State in [dsEdit]); + DBEdit14.ReadOnly := not(dtsDevedor.DataSet.State in [dsEdit]); + DBEdit17.ReadOnly := not(dtsDevedor.DataSet.State in [dsEdit]); + + DBLookupComboBox8.ReadOnly := not(dtsDevedor.DataSet.State in [dsEdit]); + DBEdit12.ReadOnly := not(dtsDevedor.DataSet.State in [dsEdit]); + DBEdit15.ReadOnly := not(dtsDevedor.DataSet.State in [dsEdit]); + DBEdit18.ReadOnly := not(dtsDevedor.DataSet.State in [dsEdit]); + + DBLookupComboBox9.ReadOnly := not(dtsDevedor.DataSet.State in [dsEdit]); + DBEdit13.ReadOnly := not(dtsDevedor.DataSet.State in [dsEdit]); + DBEdit16.ReadOnly := not(dtsDevedor.DataSet.State in [dsEdit]); + DBEdit19.ReadOnly := not(dtsDevedor.DataSet.State in [dsEdit]); +end; + +procedure TfrmCentralBoletos.FiltrarTitulos; +begin +end; + procedure TfrmCentralBoletos.FormCreate(Sender: TObject); begin inherited; @@ -891,88 +1359,152 @@ begin dt_inicio.Date := StartOfTheMonth(Date); dt_fim.Date := EndOfTheMonth(Date); - dt_vencbolunico.Date := Date; - dtp_vencinbolunico.Date := StartOfTheMonth(Date); - dtp_vencoutbolunico.Date := EndOfTheMonth(Date); + // dt_vencbolunico.Date := Date; + // dtp_vencinbolunico.Date := StartOfTheMonth(Date); + // dtp_vencoutbolunico.Date := EndOfTheMonth(Date); - IdSSLHandler.SSLOptions.CertFile := dtmSystem.public_key; - IdSSLHandler.SSLOptions.KeyFile := dtmSystem.private_key; - IdSSLHandler.SSLOptions.RootCertFile := dtmSystem.certificate_key; with dtmSystem do begin - if not tblEstados.Active then - begin - tblEstados.Open; - end - else - begin - tblEstados.Refresh; - end; - if not tblCidades.Active then - begin - tblCidades.Open; - end - else - begin - tblCidades.Refresh; - end; - if not tblCidadesConsulta.Active then - begin - tblCidadesConsulta.Open; - end - else - begin - tblCidadesConsulta.Refresh; - end; - if not tblGrupoBoletos.Active then - begin - tblGrupoBoletos.Open; - end; - tblGrupoBoletos.First; - if not tblBoletos.Active then - begin - tblBoletos.Open; - end; - if not tblBoletoTitulos.Active then - begin - tblBoletoTitulos.Open; - end; - dblucb_filtrobolunico.KeyValue := tblGrupoBoletosID_GRUPO.AsInteger; + OpenOrRefresh(tblEstados); + OpenOrRefresh(tblCidades); + OpenOrRefreshRO(tblCidadesConsulta); + OpenOrRefresh(tblBoletos); + OpenOrRefresh(tblBoletoTitulos); + OpenOrRefresh(tblEmpresa); + OpenOrRefresh(tblDevEmpBoletos); + // dblucb_filtrobolunico.KeyValue := tblGrupoBoletosID_GRUPO.AsInteger; end; - zroqryBolUnico.Open; - zroqryEmails.Open; - zroqryTelefones.Open; - zroqryEnderecos.Open; - pcGeraBoletos.TabIndex := 0; + + IdSSLHandler.SSLOptions.CertFile := dtmSystem.tblEmpresaPATH_CERT.AsString; + IdSSLHandler.SSLOptions.KeyFile := dtmSystem.tblEmpresaPATH_KEY.AsString; + IdSSLHandler.SSLOptions.RootCertFile := + dtmSystem.tblEmpresaPATH_CERT.AsString; + GIdDefaultTextEncoding := encUTF8; + + dtsDevedor.DataSet := nil; + + // zroqryBolUnico.Open; + // zroqryEmails.Open; + // zroqryTelefones.Open; + // zroqryEnderecos.Open; + // pcGeraBoletos.TabIndex := 0; pcBoletos.TabIndex := 0; pcPesquisaGerar.TabIndex := 0; end; +procedure TfrmCentralBoletos.HorScrollBar(ListBox: TCheckListBox; + MaxWidth: Integer); +var + i, w: Integer; +begin + if MaxWidth = 0 then + SendMessage(ListBox.Handle, LB_SETHORIZONTALEXTENT, MaxWidth, 0) + else + begin + { get largest item } + for i := 0 to ListBox.Items.Count - 1 do + with ListBox do + begin + w := Canvas.TextWidth(Items[i]); + if w > MaxWidth then + MaxWidth := w; + end; + SendMessage(ListBox.Handle, LB_SETHORIZONTALEXTENT, + MaxWidth + GetSystemMetrics(SM_CXFRAME), 0); + end; +end; + +procedure TfrmCentralBoletos.JsonArrayToDataset(aDataset: TDataSet; + aJSON: TJSONArray); +var + vConv: TCustomJSONDataSetAdapter; +begin + if (aJSON.ToString = EmptyStr) then + begin + Exit; + end; + vConv := TCustomJSONDataSetAdapter.create(Nil); + try + vConv.DataSet := aDataset; + vConv.UpdateDataSet(aJSON); + finally + vConv.Free; + aJSON.Free; + end; +end; + +function TfrmCentralBoletos.JsonArrayToText(jObj: TJSONObject; + strField: string): string; +var + j: Integer; +begin + with jObj do + begin + with TStringList.create do + try + try + for j := 0 to Pred(GetValue(strField).Count) do + begin + Add(GetValue(strField).Items[j].ToJSON); + end; + Result := Text; + except + on E: Exception do + Result := GetValue(strField); + end; + + finally + Free; + end; + end; +end; + +procedure TfrmCentralBoletos.JsonToClientDataSetString(aDataset: TDataSet; + aJSON: string); +var + jObj: TJSONArray; + vConv: TCustomJSONDataSetAdapter; +begin + if (aJSON = EmptyStr) then + begin + Exit; + end; + jObj := TJSONObject.ParseJSONValue(aJSON) as TJSONArray; + vConv := TCustomJSONDataSetAdapter.create(Nil); + try + vConv.DataSet := aDataset; + vConv.UpdateDataSet(jObj); + finally + vConv.Free; + jObj.Free; + end; +end; + procedure TfrmCentralBoletos.JsonToDataset2(aDataset: TDataSet; aJSON: string); var - JObj: TJSONArray; + jObj: TJSONArray; vConv: TCustomJSONDataSetAdapter; begin if (aJSON = EmptyStr) then begin Exit; end; - JObj := TJSONObject.ParseJSONValue(aJSON) as TJSONArray; + jObj := TJSONObject.ParseJSONValue(aJSON) as TJSONArray; vConv := TCustomJSONDataSetAdapter.create(Nil); try vConv.DataSet := aDataset; - vConv.UpdateDataSet(JObj); + vConv.UpdateDataSet(jObj); finally vConv.Free; - JObj.Free; + jObj.Free; end; end; procedure TfrmCentralBoletos.mnhGrupoBoletosClick(Sender: TObject); begin inherited; - frmGrupoBoletoEmpresas := TfrmGrupoBoletoEmpresas.create(self); + frmGrupoBoletoEmpresas := TfrmGrupoBoletoEmpresas.create(Self); frmGrupoBoletoEmpresas.ShowModal; end; @@ -981,15 +1513,15 @@ var resp: string; begin inherited; - resp := SendJSON - ('https://apis.bancointer.com.br/openbanking/v1/certificado/boletos/' + - tblBoletosnossoNumero.AsString + '/baixas', - TJSONObject.ParseJSONValue('{"codigoBaixa": "ACERTOS"}') as TJSONObject); - if resp <> 'Error' then - begin - Showmessage('Boleto Nº ' + tblBoletosseuNumero.AsString + - ' baixado com sucesso!'); - end; + // resp := SendJSON + // ('https://apis.bancointer.com.br/openbanking/v1/certificado/boletos/' + + // cdsBoletosnossoNumero.AsString + '/baixas', + // TJSONObject.ParseJSONValue('{"codigoBaixa": "ACERTOS"}') as TJSONObject); + // if resp <> 'Error' then + // begin + // Showmessage('Boleto Nº ' + tblBoletosseuNumero.AsString + + // ' baixado com sucesso!'); + // end; end; procedure TfrmCentralBoletos.mnuAPedidoClienteClick(Sender: TObject); @@ -997,16 +1529,16 @@ var resp: string; begin inherited; - resp := SendJSON - ('https://apis.bancointer.com.br/openbanking/v1/certificado/boletos/' + - tblBoletosnossoNumero.AsString + '/baixas', - TJSONObject.ParseJSONValue('{"codigoBaixa": "APEDIDODOCLIENTE"}') - as TJSONObject); - if resp <> 'Error' then - begin - Showmessage('Boleto Nº ' + tblBoletosseuNumero.AsString + - ' baixado com sucesso!'); - end; + // resp := SendJSON + // ('https://apis.bancointer.com.br/openbanking/v1/certificado/boletos/' + + // tblBoletosnossoNumero.AsString + '/baixas', + // TJSONObject.ParseJSONValue('{"codigoBaixa": "APEDIDODOCLIENTE"}') + // as TJSONObject); + // if resp <> 'Error' then + // begin + // Showmessage('Boleto Nº ' + tblBoletosseuNumero.AsString + + // ' baixado com sucesso!'); + // end; end; procedure TfrmCentralBoletos.mnuBaixarCobClick(Sender: TObject); @@ -1018,141 +1550,141 @@ var mes, ano: string; begin inherited; - if not dtmSystem.tblBoletos.Locate('NR_NOSSO_NUMERO', - tblBoletosseuNumero.AsString, []) then - begin - Showmessage('Não foi possível encontrar o boleto desejado no sistema.'); - abort; - end - else - begin - with dtmSystem do - begin - - total_recebido := tblBoletosvalorTotalRecebimento.AsCurrency; - nominal_boleto := tblBoletosvalorNominal.AsCurrency; - - tblBoletoTitulos.First; - while not tblBoletoTitulos.Eof do - begin - tblDevedores.Locate('ID_DEVEDOR', - tblBoletoTitulosID_DEVEDOR.AsInteger, []); - tblTitulos.Locate('ID_TITULO', tblBoletoTitulosID_TITULO.AsInteger, []); - prct_rateio := ((tblTitulosVL_TITULO.AsCurrency * 100) / - nominal_boleto) / 100; - recebido_rateio := (prct_rateio * total_recebido); - - tblTitulos.Edit; - tblTitulosVL_CORRIGIDO.AsCurrency := recebido_rateio; - if recebido_rateio < tblTitulosVL_TITULO.AsCurrency then - begin - tblTitulosVL_DESC_PRINCIPAL.AsCurrency := - tblTitulosVL_TITULO.AsCurrency - recebido_rateio; - end; - - if tblMultacodigo.AsString <> 'NAOTEMMULTA' then - begin - atraso := DaysBetween(tblBoletosdataPagtoBaixa.AsDateTime, - IncDay(tblMultadata.AsDateTime, -1)); - if atraso > 0 then - begin - if tblMultacodigo.AsString = 'VALORFIXO' then - begin - tblTitulosVL_MULTA.AsCurrency := - (tblMultavalor.AsCurrency * prct_rateio); - end - else - begin - tblTitulosVL_MULTA.AsCurrency := - ((tblTitulosVL_TITULO.AsCurrency * tblMultataxa.AsFloat) / 100) - * prct_rateio; - end; - end; - end; - - if tblMoracodigo.AsString <> 'ISENTO' then - begin - atraso := DaysBetween(tblBoletosdataPagtoBaixa.AsDateTime, - IncDay(tblMoradata.AsDateTime, -1)); - if atraso > 0 then - begin - if tblMoracodigo.AsString = 'VALORDIA' then - begin - tblTitulosVL_JUROS.AsCurrency := - (tblMoravalor.AsCurrency * atraso) * prct_rateio; - end - else - begin - tblTitulosVL_MULTA.AsCurrency := - ((tblTitulosVL_TITULO.AsCurrency * ((tblMultataxa.AsFloat / 30) - / 100)) * atraso) * prct_rateio; - end; - end; - end; - - mes := inttostr(strtoint(copy(FormatDateTime('yyyy-mm-dd', - tblBoletosdataPagtoBaixa.AsDateTime), 6, 2))); - ano := copy(FormatDateTime('yyyy-mm-dd', - tblBoletosdataPagtoBaixa.AsDateTime), 1, 4); - - atraso_repasse := DaysBetween(tblBoletosdataPagtoBaixa.AsDateTime, - tblTitulosDT_VENCIMENTO.AsDateTime); - - tblCHGEmpresa.Locate('ID_EMPRESA', tblTitulosID_EMPRESA.AsInteger, []); - - tblEmpresaRepasse.Locate('ID_MES;ID_ANO', VarArrayOf([mes, ano]), []); - - rotblRepasseFase.Close; - rotblRepasseFase.SQL.Text := - 'select * from sys_repasses_fases where id_repasse = ' + - QuotedStr(tblEmpresaRepasseID_ITEM.AsString) + ' and min_atraso <= ' - + inttostr(atraso_repasse) + ' and ' + inttostr(atraso_repasse) + - ' <= max_atraso'; - rotblRepasseFase.Open; - - if not rotblRepasseFase.IsEmpty then - begin - help_pr := (rotblRepasseFasePR_PRINCIPAL.AsCurrency / 100); - help_j := (rotblRepasseFasePR_JUROS.AsCurrency / 100); - help_m := (rotblRepasseFasePR_MULTA.AsCurrency / 100); - help_cor := (rotblRepasseFasePR_CORRIGIDO.AsCurrency / 100); - end - else - begin - help_pr := (dtmSystem.tblEmpresaRepassePR_PRINCIPAL.AsCurrency / 100); - help_j := (dtmSystem.tblEmpresaRepassePR_JUROS.AsCurrency / 100); - help_m := (dtmSystem.tblEmpresaRepassePR_MULTA.AsCurrency / 100); - help_cor := - (dtmSystem.tblEmpresaRepassePR_CORRIGIDO.AsCurrency / 100); - end; - - tblTitulosVL_REPASSE_PRIN.AsCurrency := - (tblTitulosVL_TITULO.AsCurrency - - tblTitulosVL_DESC_PRINCIPAL.AsCurrency) * help_pr; - tblTitulosVL_REPASSE_JUROS.AsCurrency := - tblTitulosVL_JUROS.AsCurrency * help_j; - tblTitulosVL_REPASSE_MULTA.AsCurrency := - tblTitulosVL_MULTA.AsCurrency * help_m; - tblTitulosVL_REPASSE_ENCARGOS.AsCurrency := 0; - tblTitulosVL_REPASSE_CORRIGIDO.AsCurrency := - tblTitulosVL_CORRIGIDO.AsCurrency * help_cor; - - tblTitulosTP_SITUACAO.AsString := 'QC'; - tblTitulosTP_PRESTACAO.AsString := 'N'; - tblTitulos.Post; - tblHistorico.Append; - tblHistoricoID_DEVEDOR.AsInteger := tblTitulosID_DEVEDOR.AsInteger; - tblHistoricoID_COBRADOR.AsInteger := id_usuario; - tblHistoricoDT_CONTATO.AsDateTime := Now; - tblHistoricoTL_MEMO.AsString := 'Título ' + - tblTitulosTX_PRODUTO.AsString + ' foi baixado pelo boleto de nº ' + - tblBoletosseuNumero.AsString + '.'; - tblHistorico.Post; - tblBoletoTitulos.Next; - end; - Showmessage('Títulos baixados com sucesso!'); - end; - end; + // if not dtmSystem.tblBoletos.Locate('NR_NOSSO_NUMERO', + // tblBoletosseuNumero.AsString, []) then + // begin + // Showmessage('Não foi possível encontrar o boleto desejado no sistema.'); + // abort; + // end + // else + // begin + // with dtmSystem do + // begin + // + /// / total_recebido := tblBoletosvalorTotalRecebimento.AsCurrency; + /// / nominal_boleto := tblBoletosvalorNominal.AsCurrency; + // + // tblBoletoTitulos.First; + // while not tblBoletoTitulos.Eof do + // begin + // tblDevedores.Locate('ID_DEVEDOR', + // tblBoletoTitulosID_DEVEDOR.AsInteger, []); + // tblTitulos.Locate('ID_TITULO', tblBoletoTitulosID_TITULO.AsInteger, []); + // prct_rateio := ((tblTitulosVL_TITULO.AsCurrency * 100) / + // nominal_boleto) / 100; + // recebido_rateio := (prct_rateio * total_recebido); + // + // tblTitulos.Edit; + // tblTitulosVL_CORRIGIDO.AsCurrency := recebido_rateio; + // if recebido_rateio < tblTitulosVL_TITULO.AsCurrency then + // begin + // tblTitulosVL_DESC_PRINCIPAL.AsCurrency := + // tblTitulosVL_TITULO.AsCurrency - recebido_rateio; + // end; + // + // if tblMultacodigo.AsString <> 'NAOTEMMULTA' then + // begin + /// / atraso := DaysBetween(tblBoletosdataPagtoBaixa.AsDateTime, + /// / IncDay(tblMultadata.AsDateTime, -1)); + // if atraso > 0 then + // begin + // if tblMultacodigo.AsString = 'VALORFIXO' then + // begin + // tblTitulosVL_MULTA.AsCurrency := + // (tblMultavalor.AsCurrency * prct_rateio); + // end + // else + // begin + // tblTitulosVL_MULTA.AsCurrency := + // ((tblTitulosVL_TITULO.AsCurrency * tblMultataxa.AsFloat) / 100) + // * prct_rateio; + // end; + // end; + // end; + // + // if tblMoracodigo.AsString <> 'ISENTO' then + // begin + /// / atraso := DaysBetween(tblBoletosdataPagtoBaixa.AsDateTime, + /// / IncDay(tblMoradata.AsDateTime, -1)); + // if atraso > 0 then + // begin + // if tblMoracodigo.AsString = 'VALORDIA' then + // begin + // tblTitulosVL_JUROS.AsCurrency := + // (tblMoravalor.AsCurrency * atraso) * prct_rateio; + // end + // else + // begin + // tblTitulosVL_MULTA.AsCurrency := + // ((tblTitulosVL_TITULO.AsCurrency * ((tblMultataxa.AsFloat / 30) + // / 100)) * atraso) * prct_rateio; + // end; + // end; + // end; + // + /// / mes := inttostr(strtoint(copy(FormatDateTime('yyyy-mm-dd', + /// / tblBoletosdataPagtoBaixa.AsDateTime), 6, 2))); + /// / ano := copy(FormatDateTime('yyyy-mm-dd', + /// / tblBoletosdataPagtoBaixa.AsDateTime), 1, 4); + /// / + /// / atraso_repasse := DaysBetween(tblBoletosdataPagtoBaixa.AsDateTime, + /// / tblTitulosDT_VENCIMENTO.AsDateTime); + // + // tblCHGEmpresa.Locate('ID_EMPRESA', tblTitulosID_EMPRESA.AsInteger, []); + // + // tblEmpresaRepasse.Locate('ID_MES;ID_ANO', VarArrayOf([mes, ano]), []); + // + // rotblRepasseFase.Close; + // rotblRepasseFase.SQL.Text := + // 'select * from sys_repasses_fases where id_repasse = ' + + // QuotedStr(tblEmpresaRepasseID_ITEM.AsString) + ' and min_atraso <= ' + // + inttostr(atraso_repasse) + ' and ' + inttostr(atraso_repasse) + + // ' <= max_atraso'; + // rotblRepasseFase.Open; + // + // if not rotblRepasseFase.IsEmpty then + // begin + // help_pr := (rotblRepasseFasePR_PRINCIPAL.AsCurrency / 100); + // help_j := (rotblRepasseFasePR_JUROS.AsCurrency / 100); + // help_m := (rotblRepasseFasePR_MULTA.AsCurrency / 100); + // help_cor := (rotblRepasseFasePR_CORRIGIDO.AsCurrency / 100); + // end + // else + // begin + // help_pr := (dtmSystem.tblEmpresaRepassePR_PRINCIPAL.AsCurrency / 100); + // help_j := (dtmSystem.tblEmpresaRepassePR_JUROS.AsCurrency / 100); + // help_m := (dtmSystem.tblEmpresaRepassePR_MULTA.AsCurrency / 100); + // help_cor := + // (dtmSystem.tblEmpresaRepassePR_CORRIGIDO.AsCurrency / 100); + // end; + // + // tblTitulosVL_REPASSE_PRIN.AsCurrency := + // (tblTitulosVL_TITULO.AsCurrency - + // tblTitulosVL_DESC_PRINCIPAL.AsCurrency) * help_pr; + // tblTitulosVL_REPASSE_JUROS.AsCurrency := + // tblTitulosVL_JUROS.AsCurrency * help_j; + // tblTitulosVL_REPASSE_MULTA.AsCurrency := + // tblTitulosVL_MULTA.AsCurrency * help_m; + // tblTitulosVL_REPASSE_ENCARGOS.AsCurrency := 0; + // tblTitulosVL_REPASSE_CORRIGIDO.AsCurrency := + // tblTitulosVL_CORRIGIDO.AsCurrency * help_cor; + // + // tblTitulosTP_SITUACAO.AsString := 'QC'; + // tblTitulosTP_PRESTACAO.AsString := 'N'; + // tblTitulos.POST; + // tblHistorico.Append; + // tblHistoricoID_DEVEDOR.AsInteger := tblTitulosID_DEVEDOR.AsInteger; + // tblHistoricoID_COBRADOR.AsInteger := id_usuario; + // tblHistoricoDT_CONTATO.AsDateTime := Now; + // tblHistoricoTL_MEMO.AsString := 'Título ' + + // tblTitulosTX_PRODUTO.AsString + ' foi baixado pelo boleto de nº ' + + // tblBoletosseuNumero.AsString + '.'; + // tblHistorico.POST; + // tblBoletoTitulos.Next; + // end; + // Showmessage('Títulos baixados com sucesso!'); + // end; + // end; end; @@ -1161,15 +1693,15 @@ var resp: string; begin inherited; - resp := SendJSON - ('https://apis.bancointer.com.br/openbanking/v1/certificado/boletos/' + - tblBoletosnossoNumero.AsString + '/baixas', - TJSONObject.ParseJSONValue('{"codigoBaixa": "DEVOLUCAO"}') as TJSONObject); - if resp <> 'Error' then - begin - Showmessage('Boleto Nº ' + tblBoletosseuNumero.AsString + - ' baixado com sucesso!'); - end; + // resp := SendJSON + // ('https://apis.bancointer.com.br/openbanking/v1/certificado/boletos/' + + // tblBoletosnossoNumero.AsString + '/baixas', + // TJSONObject.ParseJSONValue('{"codigoBaixa": "DEVOLUCAO"}') as TJSONObject); + // if resp <> 'Error' then + // begin + // Showmessage('Boleto Nº ' + tblBoletosseuNumero.AsString + + // ' baixado com sucesso!'); + // end; end; procedure TfrmCentralBoletos.mnuDownloadClick(Sender: TObject); @@ -1178,21 +1710,16 @@ var fileStream: TFileStream; begin inherited; - IdHTTP.Request.CustomHeaders.Clear; - IdHTTP.Request.CustomHeaders.Add('Content-Type: application/json'); - IdHTTP.Request.CustomHeaders.Add('x-inter-conta-corrente: ' + - dtmSystem.conta_corrente); - - try - Base64 := RequestBase64 - ('https://apis.bancointer.com.br/openbanking/v1/certificado/boletos/' + - tblBoletosnossoNumero.AsString + '/pdf'); - except - on E: EIdHTTPProtocolException do - Showmessage(IdHTTP.ResponseText + #13#10 + E.ErrorMessage) - else - showexception(exceptobject, exceptaddr); - end; + // try + // Base64 := RequestBase64 + // ('https://apis.bancointer.com.br/openbanking/v1/certificado/boletos/' + + // tblBoletosnossoNumero.AsString + '/pdf'); + // except + // on E: EIdHTTPProtocolException do + // Showmessage(IdHTTP.ResponseText + #13#10 + E.ErrorMessage) + // else + // showexception(exceptobject, exceptaddr); + // end; if IdHTTP.ResponseCode <> 200 then begin @@ -1222,86 +1749,16 @@ var resp: string; begin inherited; - resp := SendJSON - ('https://apis.bancointer.com.br/openbanking/v1/certificado/boletos/' + - tblBoletosnossoNumero.AsString + '/baixas', - TJSONObject.ParseJSONValue('{"codigoBaixa": "FALTADESOLUCAO"}') - as TJSONObject); - if resp <> 'Error' then - begin - Showmessage('Boleto Nº ' + tblBoletosseuNumero.AsString + - ' baixado com sucesso!'); - end; -end; - -procedure TfrmCentralBoletos.mnuIncluirClick(Sender: TObject); -var - i: Integer; -begin - dtmSystem.tblGrupoBoletos.Refresh; - zroqryBolUnico.GotoBookmark(pointer(dbgrd_bolunico.SelectedRows.Items[0])); - edt_nomebolunico.Text := zroqryBolUnicoTX_NOME.AsString; - edt_docbolunico.Text := - StringReplace - (StringReplace(StringReplace(zroqryBolUnicoTX_DOCUMENTO.AsString, '.', '', - [rfReplaceAll]), '-', '', [rfReplaceAll]), '/', '', [rfReplaceAll]); - // edt_docbolunico.Text := zroqryBolUnicoTX_DOCUMENTO.AsString; - if not zroqryEmails.IsEmpty then - begin - edt_emailbolunico.Text := zroqryEmailsTX_EMAIL.AsString; - end; - if not zroqryTelefones.IsEmpty then - begin - edt_dddbolunico.Text := zroqryTelefonesNR_DDD.AsString; - edt_telbolunico.Text := StringReplace(zroqryTelefonesNR_NUMERO.AsString, - '-', '', [rfReplaceAll]); - end; - if not zroqryEnderecos.IsEmpty then - begin - edt_cepbolunico.Text := - StringReplace(StringReplace(zroqryEnderecosTX_CEP.AsString, '.', '', - [rfReplaceAll]), '-', '', [rfReplaceAll]); - edt_endnumbolunico.Text := zroqryEnderecosNR_NUMERO.AsString; - edt_compbolunico.Text := zroqryEnderecosTX_COMPLEMENTO.AsString; - edt_bairrobolunico.Text := zroqryEnderecosTX_BAIRRO.AsString; - edt_cidadebolunico.Text := zroqryEnderecosTX_CIDADE.AsString; - edt_estadobolunico.Text := zroqryEnderecosTX_ESTADO.AsString; - edt_endbolunico.Text := zroqryEnderecosTX_LOGRADOURO.AsString; - end; - dt_vencbolunico.Date := zroqryBolUnicoDT_VENCIMENTO.AsDateTime; - - cb_desc1.ItemIndex := dtmSystem.tblGrupoBoletosTP_DESC1.AsInteger; - cb_desc2.ItemIndex := dtmSystem.tblGrupoBoletosTP_DESC2.AsInteger; - cb_desc3.ItemIndex := dtmSystem.tblGrupoBoletosTP_DESC3.AsInteger; - cb_multabol.ItemIndex := dtmSystem.tblGrupoBoletosTP_MULTA.AsInteger; - cb_morabol.ItemIndex := dtmSystem.tblGrupoBoletosTP_MORA.AsInteger; - - edt_taxa1bol.Text := dtmSystem.tblGrupoBoletosPR_DESC1.AsString; - edt_taxa2bol.Text := dtmSystem.tblGrupoBoletosPR_DESC2.AsString; - edt_taxa3bol.Text := dtmSystem.tblGrupoBoletosPR_DESC3.AsString; - edt_taxamultabol.Text := dtmSystem.tblGrupoBoletosPR_MULTA.AsString; - edt_taxamorabol.Text := dtmSystem.tblGrupoBoletosPR_MORA.AsString; - - edt_val1bol.Text := dtmSystem.tblGrupoBoletosNR_DESC1.AsString; - edt_val2bol.Text := dtmSystem.tblGrupoBoletosNR_DESC2.AsString; - edt_val3bol.Text := dtmSystem.tblGrupoBoletosNR_DESC3.AsString; - edt_vlmultabol.Text := dtmSystem.tblGrupoBoletosNR_MULTA.AsString; - edt_vlmorabol.Text := dtmSystem.tblGrupoBoletosNR_MORA.AsString; - - dtp_desc1.Date := dtmSystem.tblGrupoBoletosDT_DESC1.AsDateTime; - dtp_desc2.Date := dtmSystem.tblGrupoBoletosDT_DESC2.AsDateTime; - dtp_desc3.Date := dtmSystem.tblGrupoBoletosDT_DESC3.AsDateTime; - - for i := 0 to dbgrd_bolunico.SelectedRows.Count - 1 do - begin - zroqryBolUnico.GotoBookmark(pointer(dbgrd_bolunico.SelectedRows.Items[i])); - vl_bol := vl_bol + zroqryBolUnicoVL_TITULO.AsCurrency; - end; - edt_valorboleto.Text := FormatFloat('0.##', vl_bol); - - pcPesquisaGerar.TabIndex := 1; - - edt_nomebolunico.SetFocus; + // resp := SendJSON + // ('https://apis.bancointer.com.br/openbanking/v1/certificado/boletos/' + + // tblBoletosnossoNumero.AsString + '/baixas', + // TJSONObject.ParseJSONValue('{"codigoBaixa": "FALTADESOLUCAO"}') + // as TJSONObject); + // if resp <> 'Error' then + // begin + // Showmessage('Boleto Nº ' + tblBoletosseuNumero.AsString + + // ' baixado com sucesso!'); + // end; end; procedure TfrmCentralBoletos.mnuPagoDiretoClick(Sender: TObject); @@ -1309,16 +1766,16 @@ var resp: string; begin inherited; - resp := SendJSON - ('https://apis.bancointer.com.br/openbanking/v1/certificado/boletos/' + - tblBoletosnossoNumero.AsString + '/baixas', - TJSONObject.ParseJSONValue('{"codigoBaixa": "PAGODIRETOAOCLIENTE"}') - as TJSONObject); - if resp <> 'Error' then - begin - Showmessage('Boleto Nº ' + tblBoletosseuNumero.AsString + - ' baixado com sucesso!'); - end; + // resp := SendJSON + // ('https://apis.bancointer.com.br/openbanking/v1/certificado/boletos/' + + // tblBoletosnossoNumero.AsString + '/baixas', + // TJSONObject.ParseJSONValue('{"codigoBaixa": "PAGODIRETOAOCLIENTE"}') + // as TJSONObject); + // if resp <> 'Error' then + // begin + // Showmessage('Boleto Nº ' + tblBoletosseuNumero.AsString + + // ' baixado com sucesso!'); + // end; end; procedure TfrmCentralBoletos.mnuProtestadoClick(Sender: TObject); @@ -1326,15 +1783,15 @@ var resp: string; begin inherited; - resp := SendJSON - ('https://apis.bancointer.com.br/openbanking/v1/certificado/boletos/' + - tblBoletosnossoNumero.AsString + '/baixas', - TJSONObject.ParseJSONValue('{"codigoBaixa": "PROTESTADO"}') as TJSONObject); - if resp <> 'Error' then - begin - Showmessage('Boleto Nº ' + tblBoletosseuNumero.AsString + - ' baixado com sucesso!'); - end; + // resp := SendJSON + // ('https://apis.bancointer.com.br/openbanking/v1/certificado/boletos/' + + // tblBoletosnossoNumero.AsString + '/baixas', + // TJSONObject.ParseJSONValue('{"codigoBaixa": "PROTESTADO"}') as TJSONObject); + // if resp <> 'Error' then + // begin + // Showmessage('Boleto Nº ' + tblBoletosseuNumero.AsString + + // ' baixado com sucesso!'); + // end; end; procedure TfrmCentralBoletos.mnuProtestoAposBaixaClick(Sender: TObject); @@ -1342,16 +1799,16 @@ var resp: string; begin inherited; - resp := SendJSON - ('https://apis.bancointer.com.br/openbanking/v1/certificado/boletos/' + - tblBoletosnossoNumero.AsString + '/baixas', - TJSONObject.ParseJSONValue('{"codigoBaixa": "PROTESTOAPOSBAIXA"}') - as TJSONObject); - if resp <> 'Error' then - begin - Showmessage('Boleto Nº ' + tblBoletosseuNumero.AsString + - ' baixado com sucesso!'); - end; + // resp := SendJSON + // ('https://apis.bancointer.com.br/openbanking/v1/certificado/boletos/' + + // tblBoletosnossoNumero.AsString + '/baixas', + // TJSONObject.ParseJSONValue('{"codigoBaixa": "PROTESTOAPOSBAIXA"}') + // as TJSONObject); + // if resp <> 'Error' then + // begin + // Showmessage('Boleto Nº ' + tblBoletosseuNumero.AsString + + // ' baixado com sucesso!'); + // end; end; procedure TfrmCentralBoletos.mnuSubstituicaoClick(Sender: TObject); @@ -1359,15 +1816,166 @@ var resp: string; begin inherited; - resp := SendJSON - ('https://apis.bancointer.com.br/openbanking/v1/certificado/boletos/' + - tblBoletosnossoNumero.AsString + '/baixas', - TJSONObject.ParseJSONValue('{"codigoBaixa": "SUBSTITUICAO"}') - as TJSONObject); - if resp <> 'Error' then + // resp := SendJSON + // ('https://apis.bancointer.com.br/openbanking/v1/certificado/boletos/' + + // tblBoletosnossoNumero.AsString + '/baixas', + // TJSONObject.ParseJSONValue('{"codigoBaixa": "SUBSTITUICAO"}') + // as TJSONObject); + // if resp <> 'Error' then + // begin + // Showmessage('Boleto Nº ' + tblBoletosseuNumero.AsString + + // ' baixado com sucesso!'); + // end; +end; + +function TfrmCentralBoletos.POST2(URL: String; Body: TStringStream) + : TJSONObject; +var + iDResponse: String; +begin + Screen.Cursor := crHourGlass; + try + iDResponse := IdHTTP.POST(URL, Body); + except + on E: EIdHTTPProtocolException do + Showmessage('Error on request: '#13#10 + E.Message); + end; + + Result := TJSONObject.ParseJSONValue(iDResponse) as TJSONObject; + Screen.Cursor := crDefault; + +end; + +function TfrmCentralBoletos.Request(Method: TMethod; URL: String; + Body: TStringStream): TJSONObject; +var + bodyString: string; + jsonResponse: TJSONObject; + retry: boolean; + iDResponse: String; + SStrm: TStringStream; +begin + IdHTTP.IOHandler.DefStringEncoding := IndyTextEncoding_UTF8; + + retry := true; + + while retry do + begin + if IdHTTP.Request.CustomHeaders.Values['Authorization'] = '' then + begin + try + bodyString := + Format('client_id=%s&client_secret=%s&scope=boleto-cobranca.read boleto-cobranca.write&grant_type=client_credentials', + [dtmSystem.tblEmpresaCLIENT_ID.AsString, + dtmSystem.tblEmpresaCLIENT_SECRET.AsString]); + + iDResponse := + IdHTTP.POST('https://cdpj.partners.bancointer.com.br/oauth/v2/token', + TStringStream.create(bodyString, TEncoding.UTF8)); + + jsonResponse := TJSONObject.ParseJSONValue(iDResponse) as TJSONObject; + if Assigned(jsonResponse) then + begin + IdHTTP.Request.CustomHeaders.Values['Authorization'] := + Format('Bearer %s', + [jsonResponse.GetValue('access_token')]); + end; + except + on E: Exception do + begin + MessageDlg(E.Message, mtError, [mbOK], 0); + retry := false; + end; + end; + end + else + begin + try + SStrm := TStringStream.create('', TEncoding.UTF8); + case Method of + GET: + begin + // iDResponse := IdHTTP.GET(URL + Format('?%s', [Body.DataString])); + IdHTTP.GET(URL + Format('?%s', [Body.DataString]), SStrm); + end; + POST: + begin + // iDResponse := IdHTTP.POST(URL, Body); + IdHTTP.POST(URL, Body, SStrm); + end; + end; + + iDResponse := SStrm.DataString; + + retry := false; + except + on E: EIdHTTPProtocolException do + begin + + retry := false; + SStrm.Free; + Result := nil; + case E.ErrorCode of + 400: + begin + MessageDlg(E.Message, mtError, [mbOK], 0); + end; + + 401: + begin + IdHTTP.Request.CustomHeaders.Values['Authorization'] := ''; + retry := true; + end; + + 403: + begin + MessageDlg(E.Message, mtError, [mbOK], 0); + end; + + 500: + begin + MessageDlg(E.Message, mtError, [mbOK], 0); + + raise Exception.create('500 - Erro ao processar a requisição!'); + end; + else + begin + MessageDlg(E.Message, mtError, [mbOK], 0); + end; + end; + end; + on E: EIDSocketError do + begin + SStrm.Free; + MessageDlg(E.Message, mtError, [mbOK], 0); + retry := false; + Result := nil; + end; + on E: EIdConnClosedGracefully do + begin + SStrm.Free; + MessageDlg(E.Message, mtError, [mbOK], 0); + retry := false; + Result := nil; + end; + else + begin + SStrm.Free; + MessageDlg('Error não identificado.', mtError, [mbOK], 0); + retry := false; + Result := nil; + end; + end; + end; + end; + if iDResponse <> '' then begin - Showmessage('Boleto Nº ' + tblBoletosseuNumero.AsString + - ' baixado com sucesso!'); + try + Result := TJSONObject.ParseJSONValue(iDResponse) as TJSONObject; + except + MessageDlg('Error não identificado.', mtError, [mbOK], 0); + Result := nil; + end; end; end; @@ -1377,9 +1985,9 @@ var Response: TStringStream; begin Screen.Cursor := crHourGlass; - Response := TStringStream.create('', TEncoding.utf8); + Response := TStringStream.create('', TEncoding.UTF8); try - IdHTTP.Get(URL, Response); + IdHTTP.GET(URL, Response); except on E: EIdHTTPProtocolException do Showmessage('Error on request: '#13#10 + E.ErrorMessage); @@ -1395,13 +2003,9 @@ var Response: TStringStream; begin Screen.Cursor := crHourGlass; - Response := TStringStream.create('', TEncoding.utf8); - IdHTTP.Request.CustomHeaders.Clear; - IdHTTP.Request.CustomHeaders.Add('Content-Type: application/json'); - IdHTTP.Request.CustomHeaders.Add('x-inter-conta-corrente: ' + - dtmSystem.conta_corrente); + Response := TStringStream.create('', TEncoding.UTF8); try - IdHTTP.Get(URL, Response); + IdHTTP.GET(URL, Response); except on E: EIdHTTPProtocolException do Showmessage('Error on request: '#13#10 + E.ErrorMessage); @@ -1420,21 +2024,17 @@ begin Screen.Cursor := crHourGlass; try - JSONToSend := TStringStream.create(JSON.ToString, TEncoding.utf8); + JSONToSend := TStringStream.create(JSON.ToString, TEncoding.UTF8); except end; // JSONToReturn := TStringStream.create(''); try - IdHTTP.Request.ContentType := 'application/json'; IdHTTP.Request.Accept := 'application/json'; IdHTTP.Request.CharSet := 'utf-8'; - IdHTTP.Request.CustomHeaders.Clear; - IdHTTP.Request.CustomHeaders.Add('x-inter-conta-corrente: ' + - dtmSystem.conta_corrente); try - string_return := IdHTTP.Post(URL, JSONToSend); + string_return := IdHTTP.POST(URL, JSONToSend); Result := string_return; except on E: EIdHTTPProtocolException do @@ -1449,389 +2049,790 @@ begin Screen.Cursor := crDefault; end; +procedure TfrmCentralBoletos.spdbtnPesquisaClick(Sender: TObject); +var + strPesquisa, strQuery, strHelpDoc: string; +begin + inherited; + Screen.Cursor := crHourGlass; + if Trim(edtPesquisa.Text) = '' then + begin + Screen.Cursor := crDefault; + abort; + end; + strPesquisa := Trim(edtPesquisa.Text); + strPesquisa := Ansiuppercase(StringReplace(strPesquisa, ' ', '%', + [rfReplaceAll])); + strQuery := 'select ID_DEVEDOR, TX_NOME, case when TP_CLIENTE = ''F'' ' + + 'then CD_CPF when TP_CLIENTE = ''J'' then CD_CNPJ end as TX_DOCUMENTO from ' + + 'CHG_DEVEDORES where '; + case rgTipoPesquisa.ItemIndex of + 0: + begin + strQuery := strQuery + 'upper(TX_NOME COLLATE WIN_PTBR) LIKE ' + + QuotedStr('%' + strPesquisa + '%'); + end; + 1: + begin + strPesquisa := StringReplace(strPesquisa, '.', '', [rfReplaceAll]); + strPesquisa := StringReplace(strPesquisa, '-', '', [rfReplaceAll]); + strPesquisa := StringReplace(strPesquisa, '/', '', [rfReplaceAll]); + if length(strPesquisa) < 14 then + begin + strHelpDoc := copy(strPesquisa, 1, 3) + '.' + copy(strPesquisa, 4, 3) + + '.' + copy(strPesquisa, 7, 3) + '-' + RightStr(strPesquisa, 2); + strQuery := strQuery + 'CD_CPF like ' + QuotedStr(strHelpDoc); + end + else if length(strPesquisa) >= 14 then + begin + strHelpDoc := copy(strPesquisa, 1, 2) + '.' + copy(strPesquisa, 3, 3) + + '.' + copy(strPesquisa, 6, 3) + '/' + copy(strPesquisa, 9, 4) + + '-' + RightStr(strPesquisa, 2); + strQuery := strQuery + 'CD_CNPJ like ' + QuotedStr(strHelpDoc); + end; + end; + end; + strQuery := strQuery + ' order by tx_nome'; + zroqryPesquisa.Close; + zroqryPesquisa.SQL.Text := strQuery; + zroqryPesquisa.Open; + Application.ProcessMessages; + Screen.Cursor := crDefault; +end; + procedure TfrmCentralBoletos.SpeedButton1Click(Sender: TObject); var JSON: TJSONObject; - Params: string; + params, content: string; begin + // + // Params := '?'; + // Params := Params + 'filtrarPor=' + opcoes_situacao + // [cb_filtrosituacao.ItemIndex] + '&'; + // Params := Params + 'dataInicial=' + FormatDateTime('yyyy-mm-dd', + // dt_inicio.Date) + '&'; + // Params := Params + 'dataFinal=' + FormatDateTime('yyyy-mm-dd', + // dt_fim.Date) + '&'; + // Params := Params + 'filtrarDataPor=' + opcoes_datatipo + // [cb_filtroordem.ItemIndex] + '&'; + // // Params := Params + 'ordenarPor=NOMESACADO' + opcoes_ordem + // // [cb_filtrotipodata.ItemIndex]; + // try + // JSON := RequestJSON + // ('https://apis.bancointer.com.br/openbanking/v1/certificado/boletos' + // + Params); + // + // except + // on E: EIdHTTPProtocolException do + // begin + // Showmessage(IdHTTP.ResponseText + #13#10 + E.ErrorMessage); + // Screen.Cursor := crDefault; + // end + // else + // begin + // showexception(exceptobject, exceptaddr); + // Screen.Cursor := crDefault; + // end; + // end; + // + // if IdHTTP.ResponseCode <> 200 then + // begin + // Showmessage('Transação não pode ser inicada (' + + // inttostr(IdHTTP.ResponseCode) + ').'); + // end + // else + // begin + // tblBoletos.ReadOnly := False; + // Screen.Cursor := crHourGlass; + // JsonToDataset2(tblBoletos, JSON.GetValue('content').ToString); + // // if tblBoletos.IsEmpty then + // // begin + // // dbgrd_boletos.PopupMenu := nil; + // // end + // // else + // // begin + // // dbgrd_boletos.PopupMenu := pum_download; + // // end; + // Screen.Cursor := crDefault; + // tblBoletos.ReadOnly := True; + // end; + + // try + // clientId := '9f0b9a45-8a50-4daa-beb8-e22edb7f44cb'; + // clientSecret := '2377cb46-5fe9-41fc-818f-8cf11ab0f851'; + // AnsiQuotedStr('client_id', '"'); + // bodyString := + // Format('client_id=%s&client_secret=%s&scope=boleto-cobranca.read&grant_type=client_credentials', + // [clientId, clientSecret]); + // // client_id=&client_secret=&scope=boleto-cobranca.read&grant_type=client_credentials + // // bodyString := Format('{%s:%s,%s:%s,%s:%s,%s:%s}', + // // [ + // // AnsiQuotedStr('client_id', '"'), AnsiQuotedStr(clientId, '"'), + // // AnsiQuotedStr('client_secret', '"'), AnsiQuotedStr(clientSecret, '"'), + // // AnsiQuotedStr('scope', '"'), AnsiQuotedStr('boleto-cobranca.read', '"'), + // // AnsiQuotedStr('grant_type', '"'), AnsiQuotedStr('client_credentials', '"') + // // ]); + // + // JSON := POST('https://cdpj.partners.bancointer.com.br/oauth/v2/token', + // TStringStream.create(bodyString, TEncoding.UTF8)); + // Showmessage(JSON.ToString); + // except + // on E: Exception do + // begin + // Showmessage(E.Message); + // end; + // end; - Params := '?'; - Params := Params + 'filtrarPor=' + opcoes_situacao - [cb_filtrosituacao.ItemIndex] + '&'; - Params := Params + 'dataInicial=' + FormatDateTime('yyyy-mm-dd', - dt_inicio.Date) + '&'; - Params := Params + 'dataFinal=' + FormatDateTime('yyyy-mm-dd', - dt_fim.Date) + '&'; - Params := Params + 'filtrarDataPor=' + opcoes_datatipo - [cb_filtroordem.ItemIndex] + '&'; - // Params := Params + 'ordenarPor=NOMESACADO' + opcoes_ordem - // [cb_filtrotipodata.ItemIndex]; + Screen.Cursor := crHourGlass; try - JSON := RequestJSON - ('https://apis.bancointer.com.br/openbanking/v1/certificado/boletos' - + Params); + params := Format('dataInicial=%s&', + [FormatDateTime('yyyy-mm-dd', dt_inicio.Date)]); + params := Format('%sdataFinal=%s', [params, FormatDateTime('yyyy-mm-dd', + dt_fim.Date)]); - except - on E: EIdHTTPProtocolException do - begin - Showmessage(IdHTTP.ResponseText + #13#10 + E.ErrorMessage); - Screen.Cursor := crDefault; - end - else - begin - showexception(exceptobject, exceptaddr); - Screen.Cursor := crDefault; - end; - end; + JSON := Request(GET, + 'https://cdpj.partners.bancointer.com.br/cobranca/v2/boletos', + TStringStream.create(params, TEncoding.UTF8)); - if IdHTTP.ResponseCode <> 200 then - begin - Showmessage('Transação não pode ser inicada (' + - inttostr(IdHTTP.ResponseCode) + ').'); - end - else - begin - tblBoletos.ReadOnly := False; - Screen.Cursor := crHourGlass; - JsonToDataset2(tblBoletos, JSON.GetValue('content').ToString); - // if tblBoletos.IsEmpty then - // begin - // dbgrd_boletos.PopupMenu := nil; - // end - // else - // begin - // dbgrd_boletos.PopupMenu := pum_download; - // end; + JsonArrayToDataset(cdsBoletos, JSON.GetValue('content')); + finally Screen.Cursor := crDefault; - tblBoletos.ReadOnly := True; end; end; -procedure TfrmCentralBoletos.SpeedButton2Click(Sender: TObject); -var - emp: string; +function TfrmCentralBoletos.ValidadorBeneficiado: TStringArray; begin - inherited; - zroqryBolUnico.Close; - emp := dblucb_filtrobolunico.KeyValue; - with zroqryBolUnico.SQL do + SetLength(Result, 2); + Result[0] := 'True'; + Result[1] := ''; + + with dtmSystem do begin - Clear; - Add('select'); - Add('d.ID_DEVEDOR,'); - Add('d.TX_NOME,'); - Add('case when d.TP_CLIENTE = ' + QuotedStr('F') + - ' then d.CD_CPF when d.TP_CLIENTE = ' + QuotedStr('F') + - ' then d.CD_CNPJ end as TX_DOCUMENTO,'); - Add('t.TX_PRODUTO,'); - Add('t.VL_TITULO,'); - Add('t.VL_CORRIGIDO,'); - Add('t.DT_VENCIMENTO,'); - Add('t.ID_EMPRESA,'); - Add('t.ID_TITULO'); - Add('from chg_titulos t'); - Add('left join CHG_DEVEDORES d on d.ID_DEVEDOR = t.ID_DEVEDOR'); - Add('where'); - Add('t.ID_EMPRESA in (select ID_EMPRESA from CHG_GRUPO_BOLETO_EMPRESAS where ID_GRUPO_BOLETO = ' - + emp + ')'); - Add('and'); - Add('(t.TP_SITUACAO = ' + QuotedStr('A') + ' or t.TP_SITUACAO = ' + - QuotedStr('AC') + ')'); - Add('and'); - Add('(t.DT_VENCIMENTO >= cast(' + QuotedStr(FormatDateTime('yyyy-mm-dd', - dtp_vencinbolunico.Date)) + ' as date) and t.DT_VENCIMENTO <= cast(' + - QuotedStr(FormatDateTime('yyyy-mm-dd', dtp_vencoutbolunico.Date)) + - ' as date))'); - Add('order by d.TX_NOME, t.TX_PRODUTO'); + if Trim(tblEmpresaTX_NOME.AsString) = '' then + begin + Result[0] := 'False'; + Result[1] := 'Nome do Beneficiário não pode estar vazio.'; + Exit; + end; + if Trim(tblEmpresaTX_CNPJ.AsString) = '' then + begin + Result[0] := 'False'; + Result[1] := 'CNPJ do Beneficiário não pode estar vazio.'; + Exit; + end; + if Trim(tblEmpresaTX_CEP.AsString) = '' then + begin + Result[0] := 'False'; + Result[1] := 'CEP do Beneficiário não pode estar vazio.'; + Exit; + end; + if Trim(tblEmpresaTX_ENDERECO.AsString) = '' then + begin + Result[0] := 'False'; + Result[1] := + 'Endereço (Logradouro) do Beneficiário não pode estar vazio.'; + Exit; + end; + if Trim(tblEmpresaTX_BAIRRO.AsString) = '' then + begin + Result[0] := 'False'; + Result[1] := 'Bairro do Beneficiário não pode estar vazio.'; + Exit; + end; + if Trim(tblEmpresaTX_CIDADE.AsString) = '' then + begin + Result[0] := 'False'; + Result[1] := 'Cidade do Beneficiário não pode estar vazia.'; + Exit; + end; + if Trim(tblEmpresaTX_UF.AsString) = '' then + begin + Result[0] := 'False'; + Result[1] := 'UF do Beneficiário não pode estar vazia.'; + Exit; + end; end; - zroqryBolUnico.Open; +end; + +function TfrmCentralBoletos.ValidadorBoleto: TStringArray; +begin + SetLength(Result, 2); + Result[0] := 'True'; + Result[1] := ''; + with dtmSystem do begin - edt_taxa1bol.Text := dtmSystem.tblGrupoBoletosPR_DESC1.AsString; - edt_val1bol.Text := dtmSystem.tblGrupoBoletosNR_DESC1.AsString; - dtp_desc1.Date := dtmSystem.tblGrupoBoletosDT_DESC1.AsDateTime; - cb_desc1.ItemIndex := dtmSystem.tblGrupoBoletosTP_DESC1.AsInteger;; + if tblDevedoresVL_NOMINAL_BOLETO.AsFloat <= 0 then + begin + Result[0] := 'False'; + Result[1] := 'Valor do Boleto não pode ser menor ou igual a 0.'; + Exit; + end; + if tblDevedoresNR_DIA_VENCIMENTO.AsInteger <= 0 then + begin + Result[0] := 'False'; + Result[1] := 'Dia do mês para o vencimento não pode ser 0.'; + Exit; + end; + if tblDevedoresNR_DIAS_AGENDA.AsInteger < 0 then + begin + Result[0] := 'False'; + Result[1] := + 'Quantidade de dias para cancelamento automático do boleto não pode ser menor que 0.'; + Exit; + end; end; - end; function TfrmCentralBoletos.ValidadorDescontos: TStringArray; begin - setlength(Result, 2); + SetLength(Result, 2); Result[0] := 'True'; Result[1] := ''; - case cb_desc1.ItemIndex of - 2, 5, 6: - begin - if edt_taxa1bol.Text = '' then - begin - Result[0] := 'False'; - Result[1] := - 'Taxa do Desconto 1 não pode estar vazia para o tipo de desconto escolhido.'; - Exit; - end; - end; - 1, 3, 4: - begin - if edt_val1bol.Text = '' then - begin - Result[0] := 'False'; - Result[1] := - 'Valor do Desconto 1 não pode estar vazia para o tipo de desconto escolhido.'; - Exit; - end; - end; - 0: - begin - if edt_taxa1bol.Text <> '0' then - begin - Result[0] := 'False'; - Result[1] := - 'Taxa do Desconto 1 deve ser 0 para o tipo de desconto escolhido.'; - Exit; - end; - if edt_val1bol.Text <> '0' then - begin - Result[0] := 'False'; - Result[1] := - 'Valor do Desconto 1 deve ser 0 para o tipo de desconto escolhido.'; - Exit; - end; - end; - end; - case cb_desc2.ItemIndex of - 2, 5, 6: - begin - if edt_taxa2bol.Text = '' then + { 1, 'NAOTEMDESCONTO' + 2, 'VALORFIXODATAINFORMADA' + 3, 'PERCENTUALDATAINFORMADA' } + + with dtmSystem do + begin + if Trim(tblDevedoresTP_DESC_BOLETO_1.AsString) = '' then + begin + Result[0] := 'False'; + Result[1] := 'Selecione o tipo de Desconto para o 1º Desconto.'; + Exit; + end + else + begin + case tblDevedoresTP_DESC_BOLETO_1.AsInteger of + 1: + begin + if tblDevedoresPR_DESC_BOLETO_1.AsFloat <> 0 then + begin + Result[0] := 'False'; + Result[1] := 'Taxa do 1º Desconto deve ser 0.'; + Exit; + end; + if tblDevedoresVL_DESC_BOLETO_1.AsFloat <> 0 then + begin + Result[0] := 'False'; + Result[1] := 'Valor do 1º Desconto deve ser 0.'; + Exit; + end; + end; + 2: + begin + if tblDevedoresPR_DESC_BOLETO_1.AsFloat <> 0 then + begin + Result[0] := 'False'; + Result[1] := 'Taxa do 1º Desconto deve ser 0.'; + Exit; + end; + if tblDevedoresVL_DESC_BOLETO_1.AsFloat = 0 then + begin + Result[0] := 'False'; + Result[1] := 'Valor do 1º Desconto não pode ser 0.'; + Exit; + end; + if tblDevedoresNR_DIAS_DESC_BOLETO_1.AsInteger < 1 then + begin + Result[0] := 'False'; + Result[1] := + 'Qtd. de Dias antes do Vencimento para 1º Desconto não pode ser menor que 1.'; + Exit; + end; + end; + 3: + begin + if tblDevedoresVL_DESC_BOLETO_1.AsFloat <> 0 then + begin + Result[0] := 'False'; + Result[1] := 'Valor do 1º Desconto deve ser 0.'; + Exit; + end; + if tblDevedoresPR_DESC_BOLETO_1.AsFloat = 0 then + begin + Result[0] := 'False'; + Result[1] := 'Taxa do 1º Desconto não pode ser 0.'; + Exit; + end; + if tblDevedoresNR_DIAS_DESC_BOLETO_1.AsInteger < 1 then + begin + Result[0] := 'False'; + Result[1] := + 'Qtd. de Dias antes do Vencimento para 1º Desconto não pode ser menor que 1.'; + Exit; + end; + end + else begin Result[0] := 'False'; - Result[1] := - 'Taxa do Desconto 2 não pode estar vazia para o tipo de desconto escolhido.'; + Result[1] := 'Tipo de Desconto para 1º Desconto não existe.'; Exit; end; end; - 1, 3, 4: - begin - if edt_val2bol.Text = '' then + end; + if Trim(tblDevedoresTP_DESC_BOLETO_2.AsString) = '' then + begin + Result[0] := 'False'; + Result[1] := 'Selecione o tipo de Desconto para o 2º Desconto.'; + Exit; + end + else + begin + case tblDevedoresTP_DESC_BOLETO_2.AsInteger of + 1: + begin + if tblDevedoresPR_DESC_BOLETO_2.AsFloat <> 0 then + begin + Result[0] := 'False'; + Result[1] := 'Taxa do 2º Desconto deve ser 0.'; + Exit; + end; + if tblDevedoresVL_DESC_BOLETO_2.AsFloat <> 0 then + begin + Result[0] := 'False'; + Result[1] := 'Valor do 2º Desconto deve ser 0.'; + Exit; + end; + end; + 2: + begin + if tblDevedoresPR_DESC_BOLETO_2.AsFloat <> 0 then + begin + Result[0] := 'False'; + Result[1] := 'Taxa do 2º Desconto deve ser 0.'; + Exit; + end; + if tblDevedoresVL_DESC_BOLETO_2.AsFloat = 0 then + begin + Result[0] := 'False'; + Result[1] := 'Valor do 2º Desconto não pode ser 0.'; + Exit; + end; + if tblDevedoresNR_DIAS_DESC_BOLETO_2.AsInteger < 1 then + begin + Result[0] := 'False'; + Result[1] := + 'Qtd. de Dias antes do Vencimento para 2º Desconto não pode ser menor que 1.'; + Exit; + end; + end; + 3: + begin + if tblDevedoresVL_DESC_BOLETO_2.AsFloat <> 0 then + begin + Result[0] := 'False'; + Result[1] := 'Valor do 2º Desconto deve ser 0.'; + Exit; + end; + if tblDevedoresPR_DESC_BOLETO_2.AsFloat = 0 then + begin + Result[0] := 'False'; + Result[1] := 'Taxa do 2º Desconto não pode ser 0.'; + Exit; + end; + if tblDevedoresNR_DIAS_DESC_BOLETO_2.AsInteger < 1 then + begin + Result[0] := 'False'; + Result[1] := + 'Qtd. de Dias antes do Vencimento para 2º Desconto não pode ser menor que 1.'; + Exit; + end; + end + else begin Result[0] := 'False'; - Result[1] := - 'Valor do Desconto 2 não pode estar vazia para o tipo de desconto escolhido.'; + Result[1] := 'Tipo de Desconto para 2º Desconto não existe.'; Exit; end; end; - 0: - begin - if edt_taxa2bol.Text <> '0' then - begin - Result[0] := 'False'; - Result[1] := - 'Taxa do Desconto 2 deve ser 0 para o tipo de desconto escolhido.'; - Exit; - end; - if edt_val2bol.Text <> '0' then + end; + if Trim(tblDevedoresTP_DESC_BOLETO_3.AsString) = '' then + begin + Result[0] := 'False'; + Result[1] := 'Selecione o tipo de Desconto para o 3º Desconto.'; + Exit; + end + else + begin + case tblDevedoresTP_DESC_BOLETO_3.AsInteger of + 1: + begin + if tblDevedoresPR_DESC_BOLETO_3.AsFloat <> 0 then + begin + Result[0] := 'False'; + Result[1] := 'Taxa do 3º Desconto deve ser 0.'; + Exit; + end; + if tblDevedoresVL_DESC_BOLETO_3.AsFloat <> 0 then + begin + Result[0] := 'False'; + Result[1] := 'Valor do 3º Desconto deve ser 0.'; + Exit; + end; + end; + 2: + begin + if tblDevedoresPR_DESC_BOLETO_3.AsFloat <> 0 then + begin + Result[0] := 'False'; + Result[1] := 'Taxa do 3º Desconto deve ser 0.'; + Exit; + end; + if tblDevedoresVL_DESC_BOLETO_3.AsFloat = 0 then + begin + Result[0] := 'False'; + Result[1] := 'Valor do 3º Desconto não pode ser 0.'; + Exit; + end; + if tblDevedoresNR_DIAS_DESC_BOLETO_3.AsInteger < 1 then + begin + Result[0] := 'False'; + Result[1] := + 'Qtd. de Dias antes do Vencimento para 3º Desconto não pode ser menor que 1.'; + Exit; + end; + end; + 3: + begin + if tblDevedoresVL_DESC_BOLETO_3.AsFloat <> 0 then + begin + Result[0] := 'False'; + Result[1] := 'Valor do 3º Desconto deve ser 0.'; + Exit; + end; + if tblDevedoresPR_DESC_BOLETO_3.AsFloat = 0 then + begin + Result[0] := 'False'; + Result[1] := 'Taxa do 3º Desconto não pode ser 0.'; + Exit; + end; + if tblDevedoresNR_DIAS_DESC_BOLETO_3.AsInteger < 1 then + begin + Result[0] := 'False'; + Result[1] := + 'Qtd. de Dias antes do Vencimento para 3º Desconto não pode ser menor que 1.'; + Exit; + end; + end + else begin Result[0] := 'False'; - Result[1] := - 'Valor do Desconto 2 deve ser 0 para o tipo de desconto escolhido.'; + Result[1] := 'Tipo de Desconto para 3º Desconto não existe.'; Exit; end; end; + end; end; - case cb_desc3.ItemIndex of - 2, 5, 6: - begin - if edt_taxa3bol.Text = '' then - begin - Result[0] := 'False'; - Result[1] := - 'Taxa do Desconto 3 não pode estar vazia para o tipo de desconto escolhido.'; - Exit; - end; - end; - 1, 3, 4: - begin - if edt_val3bol.Text = '' then +end; + +function TfrmCentralBoletos.ValidadorMultaMora: TStringArray; +begin + SetLength(Result, 2); + Result[0] := 'True'; + Result[1] := ''; + + { 1, 'NAOTEMMULTA' + 2, 'VALORFIXO' + 3, 'PERCENTUAL' + + 1, 'VALORDIA' + 2, 'TAXAMENSAL' + 3, 'ISENTO' } + + with dtmSystem do + begin + if Trim(tblDevedoresTP_MULTA_BOLETO.AsString) = '' then + begin + Result[0] := 'False'; + Result[1] := 'Selecione o tipo de Multa.'; + Exit; + end + else + begin + case tblDevedoresTP_MULTA_BOLETO.AsInteger of + 1: + begin + if tblDevedoresPR_MULTA_BOLETO.AsFloat <> 0 then + begin + Result[0] := 'False'; + Result[1] := 'Taxa da Multa deve ser 0.'; + Exit; + end; + if tblDevedoresVL_MULTA_BOLETO.AsFloat <> 0 then + begin + Result[0] := 'False'; + Result[1] := 'Valor da Multa deve ser 0.'; + Exit; + end; + end; + 2: + begin + if tblDevedoresPR_MULTA_BOLETO.AsFloat <> 0 then + begin + Result[0] := 'False'; + Result[1] := 'Taxa da Multa deve ser 0.'; + Exit; + end; + if tblDevedoresVL_MULTA_BOLETO.AsFloat = 0 then + begin + Result[0] := 'False'; + Result[1] := 'Valor da Multa não pode ser 0.'; + Exit; + end; + if tblDevedoresNR_DIAS_MULTA_BOLETO.AsInteger < 1 then + begin + Result[0] := 'False'; + Result[1] := + 'Qtd. de Dias para Cobrar Multa não pode ser menor que 1.'; + Exit; + end; + end; + 3: + begin + if tblDevedoresVL_MULTA_BOLETO.AsFloat <> 0 then + begin + Result[0] := 'False'; + Result[1] := 'Valor da Multa deve ser 0.'; + Exit; + end; + if tblDevedoresPR_MULTA_BOLETO.AsFloat = 0 then + begin + Result[0] := 'False'; + Result[1] := 'Taxa da Multa não pode ser 0.'; + Exit; + end; + if tblDevedoresNR_DIAS_MULTA_BOLETO.AsInteger < 1 then + begin + Result[0] := 'False'; + Result[1] := + 'Qtd. de Dias para Cobrar Multa não pode ser menor que 1.'; + Exit; + end; + end + else begin Result[0] := 'False'; - Result[1] := - 'Valor do Desconto 3 não pode estar vazia para o tipo de desconto escolhido.'; + Result[1] := 'Tipo de Multa não existe.'; Exit; end; end; - 0: - begin - if edt_taxa3bol.Text <> '0' then - begin - Result[0] := 'False'; - Result[1] := - 'Taxa do Desconto 3 deve ser 0 para o tipo de desconto escolhido.'; - Exit; - end; - if edt_val3bol.Text <> '0' then + end; + + if Trim(tblDevedoresTP_MULTA_BOLETO.AsString) = '' then + begin + Result[0] := 'False'; + Result[1] := 'Selecione o tipo de Multa.'; + Exit; + end + else + begin + case tblDevedoresTP_MULTA_BOLETO.AsInteger of + 3: + begin + if tblDevedoresPR_MORA_BOLETO.AsFloat <> 0 then + begin + Result[0] := 'False'; + Result[1] := 'Taxa da Mora deve ser 0.'; + Exit; + end; + if tblDevedoresVL_MORA_BOLETO.AsFloat <> 0 then + begin + Result[0] := 'False'; + Result[1] := 'Valor da Mora deve ser 0.'; + Exit; + end; + end; + 1: + begin + if tblDevedoresPR_MORA_BOLETO.AsFloat <> 0 then + begin + Result[0] := 'False'; + Result[1] := 'Taxa da Mora deve ser 0.'; + Exit; + end; + if tblDevedoresVL_MORA_BOLETO.AsFloat = 0 then + begin + Result[0] := 'False'; + Result[1] := 'Valor da Mora não pode ser 0.'; + Exit; + end; + if tblDevedoresNR_MORA_BOLETO.AsInteger < 1 then + begin + Result[0] := 'False'; + Result[1] := + 'Qtd. de Dias para Cobrar Mora não pode ser menor que 1.'; + Exit; + end; + end; + 2: + begin + if tblDevedoresVL_MORA_BOLETO.AsFloat <> 0 then + begin + Result[0] := 'False'; + Result[1] := 'Valor da Mora deve ser 0.'; + Exit; + end; + if tblDevedoresPR_MORA_BOLETO.AsFloat = 0 then + begin + Result[0] := 'False'; + Result[1] := 'Taxa da Mora não pode ser 0.'; + Exit; + end; + if tblDevedoresNR_MORA_BOLETO.AsInteger < 1 then + begin + Result[0] := 'False'; + Result[1] := + 'Qtd. de Dias para Cobrar Mora não pode ser menor que 1.'; + Exit; + end; + end + else begin Result[0] := 'False'; - Result[1] := - 'Valor do Desconto 3 deve ser 0 para o tipo de desconto escolhido.'; + Result[1] := 'Tipo de Mora não existe.'; Exit; end; end; + end; end; end; -function TfrmCentralBoletos.ValidadorMultaMora: TStringArray; +function TfrmCentralBoletos.ValidadorPagador: TStringArray; begin - setlength(Result, 2); + SetLength(Result, 2); Result[0] := 'True'; Result[1] := ''; - case cb_multabol.ItemIndex of - 1: + with dtmSystem do + begin + if Trim(tblDevedoresTX_NOME.AsString) = '' then + begin + Result[0] := 'False'; + Result[1] := 'Nome do pagador não pode estar vazio.'; + Exit; + end; + if Trim(tblDevedoresCD_DOCUMENTO.AsString) = '' then + begin + Result[0] := 'False'; + Result[1] := 'Documento do pagador não pode estar vazio.'; + Exit; + end; + if tblDevedoresID_ENDERECO_BOLETO.IsNull then + begin + Result[0] := 'False'; + Result[1] := 'Escolha um endereço do pagador para utilizar no Boleto.'; + Exit; + end + else + begin + if Trim(tblEnderecosTX_LOGRADOURO.AsString) = '' then begin - if edt_vlmultabol.Text = '' then - begin - Result[0] := 'False'; - Result[1] := - 'Valor da Multa não pode estar vazia para o tipo de multa escolhida.'; - Exit; - end; + Result[0] := 'False'; + Result[1] := 'Endereço (Logradouro) do pagador não pode estar vazio.'; + Exit; end; - 2: + if tblEnderecosID_CIDADE.IsNull then begin - if edt_taxamultabol.Text = '' then - begin - Result[0] := 'False'; - Result[1] := - 'Taxa da Multa não pode estar vazia para o tipo de multa escolhida.'; - Exit; - end; - end; - 0: + Result[0] := 'False'; + Result[1] := 'Endereço deve constar uma Cidade.'; + Exit; + end + else begin - if edt_vlmultabol.Text <> '0' then + if Trim(tblEnderecosTX_CIDADE.AsString) = '' then begin Result[0] := 'False'; - Result[1] := - 'Valor da Multa 3 deve ser 0 para o tipo de multa escolhida.'; - Exit; - end; - if edt_taxamultabol.Text <> '0' then - begin - Result[0] := 'False'; - Result[1] := - 'Taxa da Multa deve ser 0 para o tipo de multa escolhida.'; + Result[1] := 'Cidade do pagador não pode estar vazia.'; Exit; end; end; - end; - case cb_morabol.ItemIndex of - 1: + if tblEnderecosID_ESTADO.IsNull then begin - if edt_taxamorabol.Text = '' then - begin - Result[0] := 'False'; - Result[1] := - 'Taxa de Mora não pode estar vazia para o tipo de mora escolhida.'; - Exit; - end; - end; - 2: + Result[0] := 'False'; + Result[1] := 'Endereço deve constar uma UF.'; + Exit; + end + else begin - if edt_vlmorabol.Text = '' then + if Trim(tblEnderecosTX_UF.AsString) = '' then begin Result[0] := 'False'; - Result[1] := - 'Valor de Mora não pode estar vazia para o tipo de mora escolhida.'; + Result[1] := 'UF do pagador não pode estar vazia.'; Exit; end; end; - 0: + if Trim(tblEnderecosTX_CEP.AsString) = '' then begin - if edt_taxamorabol.Text <> '0' then - begin - Result[0] := 'False'; - Result[1] := 'Taxa de Mora deve ser 0 para o tipo de mora escolhida.'; - Exit; - end; - if edt_vlmorabol.Text <> '0' then - begin - Result[0] := 'False'; - Result[1] := - 'Valor de Mora deve ser 0 para o tipo de mora escolhido.'; - Exit; - end; + Result[0] := 'False'; + Result[1] := 'CEP do pagador não pode estar vazio.'; + Exit; end; + end; end; -end; - -function TfrmCentralBoletos.ValidadorPagador: TStringArray; -begin - setlength(Result, 2); - Result[0] := 'True'; - Result[1] := ''; - if edt_nomebolunico.Text = '' then - begin - Result[0] := 'False'; - Result[1] := 'Nome do pagador não pode estar vazio.'; - Exit; - end; - if edt_docbolunico.Text = '' then - begin - Result[0] := 'False'; - Result[1] := 'Documento do pagador não pode estar vazio.'; - Exit; - end - else if (length(edt_docbolunico.Text) <> 11) and - (length(edt_docbolunico.Text) <> 14) then - begin - Result[0] := 'False'; - Result[1] := 'Documento do pagador inválido.'; - Exit; - end; - if edt_cepbolunico.Text = '' then - begin - Result[0] := 'False'; - Result[1] := 'CEP do pagador não pode estar vazio.'; - Exit; - end - else if length(edt_cepbolunico.Text) <> 8 then - begin - Result[0] := 'False'; - Result[1] := 'CEP do pagador inválido.'; - Exit; - end; - if edt_endbolunico.Text = '' then - begin - Result[0] := 'False'; - Result[1] := 'Endereço do pagador não pode estar vazio.'; - Exit; - end; - if edt_endnumbolunico.Text = '' then - begin - Result[0] := 'False'; - Result[1] := 'Número do Endereço do pagador não pode estar vazio.'; - Exit; - end; - if edt_bairrobolunico.Text = '' then - begin - Result[0] := 'False'; - Result[1] := 'Bairro do pagador não pode estar vazio.'; - Exit; - end; - if edt_cidadebolunico.Text = '' then - begin - Result[0] := 'False'; - Result[1] := 'Cidade do pagador não pode estar vazio.'; - Exit; - end; - if edt_estadobolunico.Text = '' then - begin - Result[0] := 'False'; - Result[1] := 'UF do pagador não pode estar vazio.'; - Exit; - end; + // if edt_nomebolunico.Text = '' then + // begin + // Result[0] := 'False'; + // Result[1] := 'Nome do pagador não pode estar vazio.'; + // Exit; + // end; + // if edt_docbolunico.Text = '' then + // begin + // Result[0] := 'False'; + // Result[1] := 'Documento do pagador não pode estar vazio.'; + // Exit; + // end + // else if (length(edt_docbolunico.Text) <> 11) and + // (length(edt_docbolunico.Text) <> 14) then + // begin + // Result[0] := 'False'; + // Result[1] := 'Documento do pagador inválido.'; + // Exit; + // end; + // if edt_cepbolunico.Text = '' then + // begin + // Result[0] := 'False'; + // Result[1] := 'CEP do pagador não pode estar vazio.'; + // Exit; + // end + // else if length(edt_cepbolunico.Text) <> 8 then + // begin + // Result[0] := 'False'; + // Result[1] := 'CEP do pagador inválido.'; + // Exit; + // end; + // if edt_endbolunico.Text = '' then + // begin + // Result[0] := 'False'; + // Result[1] := 'Endereço do pagador não pode estar vazio.'; + // Exit; + // end; + // if edt_endnumbolunico.Text = '' then + // begin + // Result[0] := 'False'; + // Result[1] := 'Número do Endereço do pagador não pode estar vazio.'; + // Exit; + // end; + // if edt_bairrobolunico.Text = '' then + // begin + // Result[0] := 'False'; + // Result[1] := 'Bairro do pagador não pode estar vazio.'; + // Exit; + // end; + // if edt_cidadebolunico.Text = '' then + // begin + // Result[0] := 'False'; + // Result[1] := 'Cidade do pagador não pode estar vazio.'; + // Exit; + // end; + // if edt_estadobolunico.Text = '' then + // begin + // Result[0] := 'False'; + // Result[1] := 'UF do pagador não pode estar vazio.'; + // Exit; + // end; end; end. diff --git a/ufrmCobranca.dfm b/ufrmCobranca.dfm index b5db848..78e272e 100644 --- a/ufrmCobranca.dfm +++ b/ufrmCobranca.dfm @@ -95,6 +95,7 @@ object frmCobranca: TfrmCobranca OnDrawPanel = stsbarDrawPanel end object tmr_login: TTimer + Enabled = False Interval = 1 OnTimer = tmr_loginTimer Left = 16 @@ -297,6 +298,7 @@ object frmCobranca: TfrmCobranca end object mnuEnvBancoOnline: TMenuItem Caption = 'Enviar Banco online' + Visible = False OnClick = mnuEnvBancoOnlineClick end end @@ -323,8 +325,8 @@ object frmCobranca: TfrmCobranca Enabled = False Interval = 1 OnTimer = timer_displayTimer - Left = 16 - Top = 64 + Left = 32 + Top = 128 end object dtsAgenda: TDataSource DataSet = queryagenda diff --git a/ufrmCobranca.pas b/ufrmCobranca.pas index b78f6df..691cee7 100644 --- a/ufrmCobranca.pas +++ b/ufrmCobranca.pas @@ -10,10 +10,13 @@ uses Vcl.Grids, Vcl.DBGrids, IniFiles, RLPreview, RLPreviewForm, DateUtils, FireDAC.Stan.Def, FireDAC.Phys.IBWrapper, FireDAC.Phys.FBDef, FireDAC.UI.Intf, FireDAC.VCLUI.Wait, FireDAC.Comp.UI, FireDAC.Phys, - System.StrUtils, + System.StrUtils, IoUtils, FireDAC.Phys.IBBase, FireDAC.Phys.FB, FireDAC.Stan.Intf, Datasnap.DBClient, Vcl.DBCtrls, Vcl.AppEvnts; +const + WM_STARTUP = WM_USER; + type TfrmCobranca = class(TForm) tmr_login: TTimer; @@ -151,6 +154,7 @@ type private FValidKeyCombo: Boolean; procedure ChecaPermissoes; + procedure WMStartup(var Msg: TMessage); message WM_STARTUP; { Private declarations } public { Public declarations } @@ -186,7 +190,7 @@ uses urelHistorico, ufrmCentralPlanilhamento, ufrmRankings, uimpDevedores, urelRelacaoAcordo, urelPrestacaoAnaSin, uconfRelGerencia, ufrmDepartamentos, ufrmLogActions, uconfrelAcordos, - ufrmCentralBoletos, ufrmRemessa; + ufrmCentralBoletos, ufrmRemessa, uHelperFunctions; procedure TfrmCobranca.FormCanResize(Sender: TObject; var NewWidth, NewHeight: Integer; var Resize: Boolean); @@ -546,6 +550,7 @@ procedure TfrmCobranca.FormShow(Sender: TObject); begin // saber que a form já foi mostrada para impedir o redimensionamento after_show := true; + PostMessage(Handle, WM_STARTUP, 0, 0); end; procedure TfrmCobranca.ImportaodeDevedores1Click(Sender: TObject); @@ -577,10 +582,7 @@ begin // mnuAtendimento.Visible := dtmSystem.VerificarPermissao('CBR.04.04'); // abertura da janela de atendimento - if not dtmSystem.tblDevedores.Active then - begin - dtmSystem.tblDevedores.Open; - end; + dtmSystem.OpenOrRefresh(dtmSystem.tblDevedores); if dtmSystem.tblDevedores.RecordCount = 0 then begin MessageDlg @@ -590,17 +592,14 @@ begin else begin frmAtendimento := TfrmAtendimento.Create(self); - // frmAtendimento.Parent := pnl_principal; frmAtendimento.ShowModal; mnuFerramentas.Visible := dtmSystem.VerificarPermissao('CBR.01'); mnuAtendimento.Visible := dtmSystem.VerificarPermissao('CBR.01.03'); - end; end; procedure TfrmCobranca.mnuEntradaClick(Sender: TObject); begin - // chama janela de config do relatório de entrada confrelBordero := TconfrelBordero.Create(self); confrelBordero.ShowModal; @@ -680,10 +679,8 @@ begin with dtmSystem do begin // abre a tabela usuários - if not(tblUsuarios.Active) then - begin - tblUsuarios.Open; - end; + + OpenOrRefresh(tblUsuarios); if tblUsuarios.IsEmpty then begin @@ -724,26 +721,16 @@ begin Free; end; end; - - // abre as tabelas pra ver os acessos - if not tblPermissoes.Active then - begin - tblPermissoes.Open; - end; - if not tblGrupos.Active then - begin - tblGrupos.Open; - end; - if not tblGruposPermissoes.Active then - begin - tblGruposPermissoes.Open; - end; - if acesso = false then begin Application.Terminate; // se o usuário não teve acesso (qualquer motivo), fecha o programa end; + // abre as tabelas pra ver os acessos + + OpenOrRefresh(tblPermissoes); + OpenOrRefresh(tblGrupos); + OpenOrRefresh(tblGruposPermissoes); if acesso = true then begin @@ -759,7 +746,7 @@ begin hoje := DateToStr(Date); hoje := RightStr(hoje, 4) + '-' + copy(hoje, 4, 2) + '-' + LeftStr(hoje, 2); - with dtmSystem.zroqryContatos.SQL do + with zroqryContatos.SQL do begin Clear; Add('select'); @@ -777,33 +764,8 @@ begin Add('group by h.id_cobrador, u.tx_nome'); Add('order by NOME, qtde_acionamentos desc'); end; - dtmSystem.zroqryContatos.Open; - // verificação de permissão de acessos + zroqryContatos.Open; - // mnuFerramentas.Visible := VerificarPermissao('CBR.04'); - // mnuCobrancaTel.Visible := VerificarPermissao('CBR.04.01'); - // mnuPesquisa.Visible := VerificarPermissao('CBR.04.02'); - // mnuGerCampanha.Visible := VerificarPermissao('CBR.04.03'); - // mnuAtendimento.Visible := VerificarPermissao('CBR.04.04'); // - // mnuAgendamento.Visible := VerificarPermissao('CBR.04.05'); - - // mnuCadastros.Visible := VerificarPermissao('CBR.02'); - // mnuBeneficiarios.Visible := VerificarPermissao('CBR.02.01'); - // mnuUsuarios.Visible := VerificarPermissao('CBR.02.02'); - // mnuDevedores.Visible := VerificarPermissao('CBR.02.03'); - // mnuReferencias.Visible := VerificarPermissao('CBR.02.04'); - // mnuEmpresa.Visible := VerificarPermissao('CBR.02.05'); - // mnuContas.Visible := VerificarPermissao('CBR.02.06'); - - // mnuRelatorios.Visible := VerificarPermissao('CBR.03'); - // mnuEntrada.Visible := VerificarPermissao('CBR.03.01'); - // mnuPrestacaoContas.Visible := VerificarPermissao('CBR.03.02'); - - // mnuOpcoes.Visible := VerificarPermissao('CBR.01'); - // mnuIndices.Visible := VerificarPermissao('CBR.01.01'); - // mnuModeloRepasse.Visible := VerificarPermissao('CBR.01.02'); - // mnuBancoDados.Visible := VerificarPermissao('CBR.01.03'); - // mnuConfLayout.Visible := VerificarPermissao('CBR.01.04'); MakePermissoes; ChecaPermissoes; perm_caddev := true; @@ -1591,7 +1553,8 @@ end; procedure TfrmCobranca.tmr_updateTimer(Sender: TObject); begin - with TIniFile.Create(dtmSystem.path_executavel + '\version_control.ini') do + with TMemIniFile.Create(dtmSystem.path_executavel + '\version_control.ini', + TEncoding.UTF8) do begin dtmSystem.version := ReadString('Dados', 'version', ''); end; @@ -1601,6 +1564,215 @@ begin end; end; +procedure TfrmCobranca.WMStartup(var Msg: TMessage); +var + hoje: string; +begin + // primeiro login ao abrir o programa + // verificar alterar login para comentários na maioria das coisas aqui + + tmr_login.Enabled := false; + // para o timer pra não ficar ocorrendo a cada segundo + // abre o arquivo ini para ler o caminho do banco + + with dtmSystem do + begin + OpenOrRefresh(tblUsuarios); + + if tblUsuarios.IsEmpty then + begin + exit; + end; + + with TfrmLogin.Create(nil) do + begin + try + ShowModal; + finally + Free; + end; + end; + + if acesso = false then + begin + Application.Terminate; + end; + + if dtmSystem.acesso_manager = true then + begin + exit; + end; + + //tblPermissoes.Open; + OpenOrRefresh(tblGrupos); + OpenOrRefresh(tblGruposPermissoes); + + if acesso = true then + begin + + if VerificarVersao = true then + begin + MessageDlg('Este programa se encontra desatualizado.' + + ' Ele será fechado para atualizar para a mais nova versão.', + mtWarning, [mbOK], 0); + TFile.copy(dtmSystem.path_att + '\' + dtmSystem.exe + '.exe', + ExtractFilePath(Application.ExeName) + dtmSystem.exe + + '__update.exe'); + WinExec('Updater.exe', 0); + Application.ShowMainForm := false; + Application.Terminate; + end; + + tmr_update.Enabled := true; + memo_update.Left := memo_update.Parent.Width - memo_update.Width; + + {*if tblEstados.IsEmpty then + begin + frmProgressEC := TfrmProgressEC.Create(self); + frmProgressEC.ShowModal; + end;} + // dtmSystem.tblEstados.Close; + // dtmSystem.tblCidades.Close; + stsbar.Panels[0].Text := 'Usuário: ' + dtmSystem.tx_usuario; + stsbar.Panels[1].Text := 'Grupo: ' + dtmSystem.tx_grupo; + stsbar.Panels[2].Text := 'Banco de dados: ' + + dtmSystem.ZConnection.Database; + stsbar.Panels[3].Text := 'Versão: ' + GetAppVersionStr; + + hoje := DateToStr(Date); + hoje := RightStr(hoje, 4) + '-' + copy(hoje, 4, 2) + '-' + + LeftStr(hoje, 2); + with zroqryContatos.SQL do + begin + Clear; + Add('select'); + Add('h.id_cobrador,'); + Add('case when u.tx_nome is not NULL then u.tx_nome when u.tx_nome is NULL then ' + + Quotedstr('Usuário Inexistente') + ' end as NOME,'); + Add('COUNT (DISTINCT h.ID_DEVEDOR) as qtde_acionamentos'); + Add('from chg_historico h'); + Add('left join sys_usuarios u on h.id_cobrador = u.id_usuario'); + Add('where h.id_cobrador in (select id_usuario from sys_usuarios where tp_ativo = ' + + Quotedstr('S') + ')'); + Add('and CAST(h.dt_contato AS DATE) >= ' + Quotedstr(hoje) + ' and'); + Add('CAST(h.dt_contato AS DATE) <= ' + Quotedstr(hoje)); + Add('and h.id_cobrador = ' + inttostr(dtmSystem.id_usuario)); + Add('group by h.id_cobrador, u.tx_nome'); + Add('order by NOME, qtde_acionamentos desc'); + end; + zroqryContatos.Open; + + // verificação de permissão de acessos + + MakePermissoes; + + ChecaPermissoes; + // showmessage(dtmSystem.path_executavel); + // showmessage(dtmSystem.GetAppVersionStr + ' - ' + dtmSystem.version); + + // if id_usuario <> 71 then + // begin + // mnuRankings.Visible := false; + // end; + + atualizaagenda; + + timer_display.Enabled := true; + timer_display.Interval := 1; + + // Parte do processo de controle de sessão do usuário + // Desabilitado a pedido da Bruna + // with dtmSystem do + // begin + // tblLogins.Open; + // tblLogins.Append; + // tblLoginsID_USUARIO.AsInteger := id_usuario; + // tblLoginsDT_LOGIN.AsDateTime := Date; + // tblLoginsHR_LOGIN.AsDateTime := now; + // tblLogins.Post; + // tblLogins.Close; + // if not tblSessao.Active then + // begin + // tblSessao.Open; + // end; + // if not(tblSessao.Locate('ID_USUARIO', id_usuario, [])) then + // begin + // tblSessao.Append; + // tblSessaoID_USUARIO.AsInteger := id_usuario; + // tblSessaoTP_ATIVA.AsInteger := 1; + // tblSessao.Post; + // end; + // end; + // tmr_sessao.Enabled := true; + + {*if tblEmpresa.IsEmpty then // gera a empresa padrão caso não tenha + begin + MessageDlg + ('A empresa do programa não se encontra cadastrada. Por favor configure uma nova.', + mtWarning, [mbOK], 0); + with TcadEmpresa.Create(self) do + begin + ShowModal; + end; + end;} + + {*if not(tblCHGEmpresa.Active) then + begin + tblCHGEmpresa.Open; + end; + if tblCHGEmpresa.IsEmpty then + begin + MessageDlg + ('Para que o financiamento possa ser realizado de forma correta por' + + ' favor cadastre o primeiro credor com os dados da empresa compradora do programa.', + mtWarning, [mbOK], 0); + with TcadCredor.Create(self) do + begin + ShowModal; + end; + end;} + + // with TIniFile.Create(ExtractFilePath(Application.ExeName) + + // 'popup.ini') do + {*with TIniFile.Create(dtmSystem.path_executavel + '\popup.ini') do + begin + msg := ReadString('MENSAGEM', 'Texto', ''); + try + data_termino := StrToDate(ReadString('MENSAGEM', 'Data-Fim', '')); + except + data_termino := 0; + end; + end; + if msg <> '' then + begin + if now < data_termino then + begin + MessageDlg(msg, mtInformation, [mbOK], 0); + end; + end;} + with TIniFile.Create(ExtractFilePath(Application.ExeName) + + 'sistema.ini') do + begin + dtmSystem.public_key := ReadString('cert', 'pub-key', ''); + dtmSystem.private_key := ReadString('cert', 'priv-key', ''); + dtmSystem.certificate_key := ReadString('cert', 'cert-key', ''); + dtmSystem.conta_corrente := ReadString('cert', 'cc', ''); + end; + if (dtmSystem.public_key <> '') and (dtmSystem.id_grupo = 1) then + begin + mnuBoletos.Visible := true; + end + else + begin + mnuBoletos.Visible := false; + end; + end; + end; + + frmCobranca.BorderIcons := frmCobranca.BorderIcons - [biMaximize]; + // desabilita o botão de maximizar +end; + procedure TfrmCobranca.mnuVerrecibosClick(Sender: TObject); begin frmAchaRecibo := TfrmAchaRecibo.Create(self); @@ -1898,6 +2070,11 @@ end; procedure TfrmCobranca.appEventsException(Sender: TObject; E: Exception); begin + LogError('Exceptions', Format('%s - %s', ['ToString', E.ToString])); + LogError('Exceptions', Format('%s - %s', ['HelpContext', InttoStr(E.HelpContext)])); + LogError('Exceptions', Format('%s - %s', ['Message', E.Message])); + LogError('Exceptions', Format('%s - %s', ['ToString', E.UnitName])); + LogError('Exceptions', Format('%s - %s', ['StackTrace', E.StackTrace])); if AnsiPos('-902', E.Message) > 0 then begin timer_display.Enabled := false; diff --git a/ufrmGrupoBoletoEmpresas.dfm b/ufrmGrupoBoletoEmpresas.dfm index b7b7862..3297349 100644 --- a/ufrmGrupoBoletoEmpresas.dfm +++ b/ufrmGrupoBoletoEmpresas.dfm @@ -1,15 +1,16 @@ inherited frmGrupoBoletoEmpresas: TfrmGrupoBoletoEmpresas Caption = 'Grupo de Empresas para Boleto' - ClientHeight = 527 + ClientHeight = 518 ClientWidth = 817 - ExplicitWidth = 833 - ExplicitHeight = 565 + ExplicitWidth = 825 + ExplicitHeight = 549 PixelsPerInch = 96 TextHeight = 13 inherited GroupBox2: TGroupBox - Top = 200 + Top = 194 Width = 803 Height = 302 + Anchors = [akLeft, akBottom] ExplicitTop = 200 ExplicitWidth = 803 ExplicitHeight = 302 @@ -23,21 +24,35 @@ inherited frmGrupoBoletoEmpresas: TfrmGrupoBoletoEmpresas ExplicitTop = 24 ExplicitWidth = 780 ExplicitHeight = 260 + object Label15: TLabel + Left = 0 + Top = 66 + Width = 44 + Height = 13 + Caption = 'Empresa:' + end + object Label16: TLabel + Left = 411 + Top = 66 + Width = 32 + Height = 13 + Caption = 'Grupo:' + end object DBNavigator1: TDBNavigator - Left = 3 - Top = 16 - Width = 480 - Height = 41 + Left = 0 + Top = 11 + Width = 660 + Height = 49 DataSource = dtsDB2 TabOrder = 0 end - object DBGrid1: TDBGrid - Left = 3 - Top = 119 - Width = 643 - Height = 120 - DataSource = dtmSystem.dtsGrupoBoletoEmpresas - Options = [dgIndicator, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgConfirmDelete, dgCancelOnExit] + object dbgrdGrupoEmpresa: TDBGrid + Left = 0 + Top = 107 + Width = 780 + Height = 153 + Align = alBottom + Options = [dgTitles, dgIndicator, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgConfirmDelete, dgCancelOnExit] TabOrder = 1 TitleFont.Charset = DEFAULT_CHARSET TitleFont.Color = clWindowText @@ -48,33 +63,52 @@ inherited frmGrupoBoletoEmpresas: TfrmGrupoBoletoEmpresas item Expanded = False FieldName = 'TX_EMPRESA' + Title.Caption = 'Empresa' + Width = 300 + Visible = True + end + item + Expanded = False + FieldName = 'TX_GRUPO' + Title.Caption = 'Grupo' + Width = 300 Visible = True end> end object DBLookupComboBox1: TDBLookupComboBox - Left = 3 - Top = 80 - Width = 480 + Left = 0 + Top = 83 + Width = 369 Height = 21 DataField = 'ID_EMPRESA' - DataSource = dtmSystem.dtsGrupoBoletoEmpresas KeyField = 'ID_EMPRESA' ListField = 'TX_FANTASIA' ListSource = dtmSystem.dtsCHGEmpresa TabOrder = 2 end + object DBLookupComboBox2: TDBLookupComboBox + Left = 411 + Top = 83 + Width = 369 + Height = 21 + DataField = 'ID_GRUPO_BOLETO' + KeyField = 'ID_GRUPO' + ListField = 'TX_NOME' + TabOrder = 3 + end end end end inherited stbStatus: TStatusBar - Top = 508 + Top = 499 Width = 817 ExplicitTop = 508 ExplicitWidth = 817 end inherited grpDescricao: TGroupBox Width = 803 - Height = 139 + Height = 133 + Anchors = [akLeft, akTop, akBottom] ExplicitWidth = 803 ExplicitHeight = 139 object Label1: TLabel [1] @@ -104,11 +138,15 @@ inherited frmGrupoBoletoEmpresas: TfrmGrupoBoletoEmpresas Top = 3 Width = 537 Height = 130 - ActivePage = TabSheet1 + ActivePage = TabSheet3 Style = tsButtons TabOrder = 2 object TabSheet1: TTabSheet Caption = 'Desconto 1' + ExplicitLeft = 0 + ExplicitTop = 0 + ExplicitWidth = 0 + ExplicitHeight = 0 object Label2: TLabel Left = 320 Top = 19 @@ -123,13 +161,6 @@ inherited frmGrupoBoletoEmpresas: TfrmGrupoBoletoEmpresas Height = 13 Caption = 'Valor:' end - object Label4: TLabel - Left = 320 - Top = 74 - Width = 27 - Height = 13 - Caption = 'Data:' - end object DBRadioGroup1: TDBRadioGroup Left = -4 Top = -15 @@ -140,20 +171,12 @@ inherited frmGrupoBoletoEmpresas: TfrmGrupoBoletoEmpresas Items.Strings = ( 'N'#227'o tem desconto.' 'Valor fixo at'#233' data informada.' - 'Percentual at'#233' data informada.' - 'Valor por antecipa'#231#227'o (dia corrido).' - 'Valor por antecipa'#231#227'o (dia '#250'til).' - 'Percentual sobre o valor nominal por dia corrido.' - 'Percentual sobre o valor nominal por dia '#250'til.') + 'Percentual at'#233' data informada.') TabOrder = 0 Values.Strings = ( '0' '1' - '2' - '3' - '4' - '5' - '6') + '2') end object DBEdit2: TDBEdit Left = 376 @@ -173,32 +196,14 @@ inherited frmGrupoBoletoEmpresas: TfrmGrupoBoletoEmpresas DataSource = dtsDB TabOrder = 2 end - object rDBDateTimePicker1: TrDBDateTimePicker - Left = 376 - Top = 70 - Width = 121 - Height = 21 - Date = 43017.406126562500000000 - Time = 43017.406126562500000000 - TabOrder = 4 - DataField = 'DT_DESC1' - DataSource = dtsDB - ReadOnly = True - DBEditLabel.OwnCaption = 'Data de cadastramento:' - DBEditLabel.Visible = False - FormatEmpty = '__.__.__' - end end object TabSheet2: TTabSheet Caption = 'Desconto 2' ImageIndex = 1 - object Label5: TLabel - Left = 320 - Top = 74 - Width = 27 - Height = 13 - Caption = 'Data:' - end + ExplicitLeft = 0 + ExplicitTop = 0 + ExplicitWidth = 0 + ExplicitHeight = 0 object Label6: TLabel Left = 320 Top = 46 @@ -223,20 +228,12 @@ inherited frmGrupoBoletoEmpresas: TfrmGrupoBoletoEmpresas Items.Strings = ( 'N'#227'o tem desconto.' 'Valor fixo at'#233' data informada.' - 'Percentual at'#233' data informada.' - 'Valor por antecipa'#231#227'o (dia corrido).' - 'Valor por antecipa'#231#227'o (dia '#250'til).' - 'Percentual sobre o valor nominal por dia corrido.' - 'Percentual sobre o valor nominal por dia '#250'til.') + 'Percentual at'#233' data informada.') TabOrder = 1 Values.Strings = ( '0' '1' - '2' - '3' - '4' - '5' - '6') + '2') end object DBEdit4: TDBEdit Left = 376 @@ -247,21 +244,6 @@ inherited frmGrupoBoletoEmpresas: TfrmGrupoBoletoEmpresas DataSource = dtsDB TabOrder = 0 end - object rDBDateTimePicker2: TrDBDateTimePicker - Left = 376 - Top = 70 - Width = 121 - Height = 21 - Date = 43017.406126562500000000 - Time = 43017.406126562500000000 - TabOrder = 3 - DataField = 'DT_DESC2' - DataSource = dtsDB - ReadOnly = True - DBEditLabel.OwnCaption = 'Data de cadastramento:' - DBEditLabel.Visible = False - FormatEmpty = '__.__.__' - end object DBEdit5: TDBEdit Left = 376 Top = 16 @@ -269,7 +251,7 @@ inherited frmGrupoBoletoEmpresas: TfrmGrupoBoletoEmpresas Height = 21 DataField = 'PR_DESC2' DataSource = dtsDB - TabOrder = 4 + TabOrder = 2 end end object TabSheet3: TTabSheet @@ -279,13 +261,6 @@ inherited frmGrupoBoletoEmpresas: TfrmGrupoBoletoEmpresas ExplicitTop = 0 ExplicitWidth = 0 ExplicitHeight = 0 - object Label8: TLabel - Left = 320 - Top = 74 - Width = 27 - Height = 13 - Caption = 'Data:' - end object Label9: TLabel Left = 320 Top = 46 @@ -310,20 +285,12 @@ inherited frmGrupoBoletoEmpresas: TfrmGrupoBoletoEmpresas Items.Strings = ( 'N'#227'o tem desconto.' 'Valor fixo at'#233' data informada.' - 'Percentual at'#233' data informada.' - 'Valor por antecipa'#231#227'o (dia corrido).' - 'Valor por antecipa'#231#227'o (dia '#250'til).' - 'Percentual sobre o valor nominal por dia corrido.' - 'Percentual sobre o valor nominal por dia '#250'til.') + 'Percentual at'#233' data informada.') TabOrder = 1 Values.Strings = ( '0' '1' - '2' - '3' - '4' - '5' - '6') + '2') end object DBEdit6: TDBEdit Left = 376 @@ -334,21 +301,6 @@ inherited frmGrupoBoletoEmpresas: TfrmGrupoBoletoEmpresas DataSource = dtsDB TabOrder = 0 end - object rDBDateTimePicker3: TrDBDateTimePicker - Left = 376 - Top = 70 - Width = 121 - Height = 21 - Date = 43017.406126562500000000 - Time = 43017.406126562500000000 - TabOrder = 3 - DataField = 'DT_DESC3' - DataSource = dtsDB - ReadOnly = True - DBEditLabel.OwnCaption = 'Data de cadastramento:' - DBEditLabel.Visible = False - FormatEmpty = '__.__.__' - end object DBEdit7: TDBEdit Left = 376 Top = 43 @@ -356,7 +308,7 @@ inherited frmGrupoBoletoEmpresas: TfrmGrupoBoletoEmpresas Height = 21 DataField = 'NR_DESC3' DataSource = dtsDB - TabOrder = 4 + TabOrder = 2 end end object TabSheet4: TTabSheet @@ -478,11 +430,7 @@ inherited frmGrupoBoletoEmpresas: TfrmGrupoBoletoEmpresas inherited navPrincipal: TDBNavigator DataSource = dtsDB end - inherited dtsDB: TDataSource - DataSet = dtmSystem.tblGrupoBoletos - end object dtsDB2: TDataSource - DataSet = dtmSystem.tblGrupoBoletoEmpresas OnStateChange = dtsDB2StateChange Left = 592 Top = 8 diff --git a/ufrmGrupoBoletoEmpresas.pas b/ufrmGrupoBoletoEmpresas.pas index 5f0e7d5..1b96e81 100644 --- a/ufrmGrupoBoletoEmpresas.pas +++ b/ufrmGrupoBoletoEmpresas.pas @@ -15,32 +15,26 @@ type Label1: TLabel; DBNavigator1: TDBNavigator; dtsDB2: TDataSource; - DBGrid1: TDBGrid; + dbgrdGrupoEmpresa: TDBGrid; DBLookupComboBox1: TDBLookupComboBox; PageControl1: TPageControl; TabSheet1: TTabSheet; DBRadioGroup1: TDBRadioGroup; DBEdit2: TDBEdit; DBEdit3: TDBEdit; - rDBDateTimePicker1: TrDBDateTimePicker; Label2: TLabel; Label3: TLabel; - Label4: TLabel; TabSheet2: TTabSheet; - Label5: TLabel; Label6: TLabel; Label7: TLabel; DBEdit4: TDBEdit; DBRadioGroup2: TDBRadioGroup; - rDBDateTimePicker2: TrDBDateTimePicker; DBEdit5: TDBEdit; TabSheet3: TTabSheet; - Label8: TLabel; Label9: TLabel; Label10: TLabel; DBEdit6: TDBEdit; DBRadioGroup3: TDBRadioGroup; - rDBDateTimePicker3: TrDBDateTimePicker; DBEdit7: TDBEdit; TabSheet4: TTabSheet; DBRadioGroup4: TDBRadioGroup; @@ -54,6 +48,9 @@ type Label14: TLabel; DBEdit10: TDBEdit; DBEdit11: TDBEdit; + DBLookupComboBox2: TDBLookupComboBox; + Label15: TLabel; + Label16: TLabel; procedure dtsDBStateChange(Sender: TObject); procedure FormCreate(Sender: TObject); procedure dtsDB2StateChange(Sender: TObject); @@ -100,16 +97,12 @@ begin DBEdit9.Enabled := (dtsDB.State in [dsInsert, dsEdit]); DBEdit10.Enabled := (dtsDB.State in [dsInsert, dsEdit]); DBEdit11.Enabled := (dtsDB.State in [dsInsert, dsEdit]); - rDBDateTimePicker1.Enabled := (dtsDB.State in [dsInsert, dsEdit]); - rDBDateTimePicker2.Enabled := (dtsDB.State in [dsInsert, dsEdit]); - rDBDateTimePicker3.Enabled := (dtsDB.State in [dsInsert, dsEdit]); end; procedure TfrmGrupoBoletoEmpresas.FormCreate(Sender: TObject); begin inherited; dtsDB.DataSet.Open; - dtmSystem.tblGrupoBoletoEmpresas.Open; dtmSystem.SetupHackedNavigator(navPrincipal, dtmSystem.ImageList1, 's'); dtmSystem.SetupHackedNavigator(DBNavigator1, dtmSystem.ImageList1, 'n'); end; diff --git a/ufrmLogin.dfm b/ufrmLogin.dfm index 37ff0b9..7e5f1a8 100644 Binary files a/ufrmLogin.dfm and b/ufrmLogin.dfm differ diff --git a/ufrmLogin.pas b/ufrmLogin.pas index 58297ea..73b9a0e 100644 --- a/ufrmLogin.pas +++ b/ufrmLogin.pas @@ -247,6 +247,7 @@ begin dtmSystem.acesso_manager := false; dtmSystem.tblGrupos.Close; troca_senha := false; + ActiveControl := edt_user; end; procedure TfrmLogin.FormKeyPress(Sender: TObject; var Key: Char); diff --git a/ufrmPesquisa.pas b/ufrmPesquisa.pas index cddbe51..48133cf 100644 --- a/ufrmPesquisa.pas +++ b/ufrmPesquisa.pas @@ -62,8 +62,6 @@ begin end; procedure TfrmPesquisa.DBGrid1DblClick(Sender: TObject); -var - helper: integer; begin if not dtmSystem.tblDevedores.Active then begin @@ -82,7 +80,6 @@ begin if dtmSystem.tblDevedores.Locate('ID_DEVEDOR', ZQuery1.FieldByName('ID_DEVEDOR').AsString, []) then begin - helper := dtmSystem.tblDevedores.recno; dtmSystem.cdsHist.DisableControls; // @@ -367,7 +364,7 @@ begin begin // select id_devedor from chg_devedores where id_devedor = (select id_devedor from chg_titulos where cd_devedor = '1') string_query := string_query + - 'ID_DEVEDOR in (select distinct id_devedor from chg_titulos where (cd_devedor like ' + 'ID_DEVEDOR in (select id_devedor from chg_titulos where (cd_devedor like ' + QuotedStr('%' + tx_pesquisa + '%') + ') or (tx_produto like' + QuotedStr('%' + tx_pesquisa + '%') + '))'; end; @@ -385,8 +382,8 @@ begin // QuotedStr('%' + tx_pesquisa + '%') + // ')) and id_empresa in (5, 7, 9, 73, 74, 242, 258))'; string_query := string_query + - 'ID_DEVEDOR in (select distinct id_devedor from chg_titulos where tx_produto like' + - QuotedStr('%' + tx_pesquisa + '%') + + 'ID_DEVEDOR in (select id_devedor from chg_titulos where tx_produto containing ' + + QuotedStr(tx_pesquisa) + ' and id_empresa in (5, 7, 9, 73, 74, 242, 258))'; end; 6: @@ -402,8 +399,9 @@ begin ZQuery1.SQL.Text := string_query; //ZQuery1.ExecSQL; - Application.ProcessMessages; + ZQuery1.Open; + Application.ProcessMessages; //ZQuery1.Active := true; if (ZQuery1.IsEmpty)then @@ -493,3 +491,6 @@ begin end; end. + + +