Ir para conteúdo
  • Cadastre-se

Fernando Rodrigo

Membros
  • Total de ítens

    482
  • Registro em

  • Última visita

  • Days Won

    3

Tudo que Fernando Rodrigo postou

  1. Bom dia a todos, Tenho alguns relatórios de etiquetas utilizando o FastReport e a opção de DialogPage do relatorio para fazer alguns filtros diretamente dentro do próprio relatorios. Esses relatorios são customizados para cada cliente, então não vai dentro do sistema, so gero o arquivo fr3 e dentro do meu sistema ele abre esse arquivo customizado. Quando é feito a abertura do arquivo conforme abaixo, o usuario faz o filtro e faz a impressão do relatorio. So que quando o usuario fecha o relatorio para fazer outro filtro, ele fecha o relatorio inteiro e gostaria de saber como faço para voltar a tela Dialog para o usuario fazer outros tipos de filtros, sem fechar a tela e ter que entrar novamente. O print é somente um exemplo Quando fechar o relatorio voltar para o Dialog Vejam o print em anexo frxReport1.LoadFromFile(Caminho do arquivo fr3); frxReport1.ShowReport;
  2. @BigWings, era isso mesmo, muito obrigado pela ajuda, fico muito grato, problema resolvido
  3. @BigWings o problema esta na função abaixo que esta pegando 10 digitos na conta corrente e no arquivo de remessa pega 13, dai os campos ficam diferente Aqui o componente ja traz 10 digitos, veja a imagem e teria que ver 13 digitos, ja que na hora de processar a remessa vão os 13, dai o componente compara e da errado procedure TACBrCedente.SetConta(const AValue: String); var aConta: Integer; begin if fConta = AValue then exit; fConta:= AValue; aConta:= StrToIntDef(trim(AValue),0); if aConta = 0 then exit; fConta:= IntToStrZero(aConta, ACBrBoleto.Banco.TamanhoConta ); end;
  4. pegue o arquivo de retorno em anexo e faça a leitura dele 3064_00203530_20190531_C240_00.ret
  5. realmente @BigWings, começa na 59 mesmo, olhei o layout incorreto, mas o problema de pegar somente, mas o numero da conta vindo com 10 digitos dai fica errado mesmo, segue anexo o arquivo de retorno para dar uma olhada da forma que esta, 75600000 223216110000190 03064000000001188500JWA ROLAMENTOS E ACESSORIOS INSICOOB 2 - o campo numero da conta esta vindo formatado padrão com 10 digitos, sendo que no layout possui 13 digitos e quando vai comparar o que foi informado no preenchimento do componente e com o que esta vindo no arquivo de retorno esta ficando diferente ocasionando mensagem de erro conforme abaixo. if ( (not LeCedenteRetorno) and (rConta + rDigitoConta <> OnlyNumber( Cedente.Conta + Cedente.ContaDigito ) then raise Exception.CreateFMT('Conta do arquivo %s inválida, config %s',[rConta,OnlyNumber(Cedente.Conta + Cedente.ContaDigito)]); 3064_00203530_20190531_C240_00.ret
  6. segue arquivo de retorno para checagem Cópia de JWA ROLAMENTOS E ACESSORIOS INDUSTRIAIS LTDA.xlsx
  7. 1 - no arquivo de retorno o campo numero da conta começa conforme layout na coluna 58 e o componente esta começando na coluna 59 2 - o campo numero da conta esta vindo formatado padrão com 10 digitos, sendo que no layout possui 13 digitos e quando vai comparar o que foi informado no preenchimento do componente e com o que esta vindo no arquivo de retorno esta ficando diferente ocasionando mensagem de erro conforme abaixo. if ( (not LeCedenteRetorno) and (rConta + rDigitoConta <> OnlyNumber( Cedente.Conta + Cedente.ContaDigito ) then raise Exception.CreateFMT('Conta do arquivo %s inválida, config %s',[rConta,OnlyNumber(Cedente.Conta + Cedente.ContaDigito)]); Existe no componente a opção de informar o tamanho da conta corrente, mas não esta acessivel para informar, o que resolveria o problema. Fiz a alteração passando a conta informada no componente para inteiro e o campo lido no arquivo de remessa tambem para inteiro, com isso os valores ficarão todos iguais não ocasionando o erro rCedente := trim(Copy(ARetorno[0],73,30)); rAgencia := trim(Copy(ARetorno[0],53,5)); rConta := IntToStr ( StrToInt ( trim(Copy(ARetorno[0],58,13)) ) ); rDigitoConta := Copy(ARetorno[0],71,1); if ( (not LeCedenteRetorno) and (rConta + rDigitoConta <> OnlyNumber( IntToStr ( StrToInt ( Cedente.Conta ) ) + Cedente.ContaDigito)) ) then raise Exception.CreateFMT('Conta do arquivo %s inválida, config %s',[rConta,OnlyNumber(Cedente.Conta + Cedente.ContaDigito)]); Com isso o problema foi resolvido Segue arquivo modificado ACBrBancoBancoob.pas segue arquivo de retorno para checagem 3064_00203530_20190531_C240_00.ret
  8. Outra alteração feita tambem no retorno que estava tambem pegando em campo errado Antes na leitura do retorna estava dessa forma NumeroDocumento := Trim(Copy(SegT,59,15)); SeuNumero := NumeroDocumento; Carteira := Copy(SegT,58,1); NossoNumero := Trim(Copy(SegT,38,8)); Vencimento := StringToDateTimeDef( Copy(SegT,74,2) +'/'+ Copy(SegT,76,2) +'/'+ Copy(SegT,78,4), Tem que ficar dessa forma porque é o campo correto no layout NumeroDocumento := Trim(Copy(SegT,59,15)); SeuNumero := Trim(Copy(SegT,106,25)); Carteira := Copy(SegT,58,1); NossoNumero := Trim(Copy(SegT,38,8)); Vencimento := StringToDateTimeDef( Copy(SegT,74,2) +'/'+ Copy(SegT,76,2) +'/'+ Copy(SegT,78,4), 0, 'dd/mm/yyyy' ); ACBrBancoSicredi.pas
  9. No segmento P para CNAB 240, na coluna 196/220 esta sendo informado o campo NumeroDocumento, conforme abaixo, so que esse campo ja esta sendo informado na coluna 63/77, o campo da coluna 196/220 no layout é um campo livre que é retornado no arquivo de retorno e não é processado pelo banco, é um campo livre, conforme layout do Sicredi, foi alterado para ser informado o campo SeuNumero, conforme todos os bancos que utilizam esse campo. O campo SeuNumero é um campo livre não sendo processado pelo banco e é retornado no arquivo de remessa, nele qualquer informação que será passado, será retornado no arquivo de retorno Antes ATipoBoleto + // 061 a 062 - Identificação de emissão do bloqueto + 062 a 062 - Identificação da distribuição PadRight(NumeroDocumento, 15) + // 063 a 077 - Nº do documento de cobrança FormatDateTime('ddmmyyyy', Vencimento) + // 078 a 085 - Data de vencimento do título IntToStrZero(Round(ValorDocumento * 100), 15) + // 086 a 100 - Valor nominal do título '00000' + // 101 a 105 - Coop./Ag. encarregada da cobrança Space(1) + // 106 a 106 - Dígito verificador da coop./agência PadLeft(Especie, 2, '0') + // 107 a 108 - Espécie do título AceiteStr + // 109 a 109 - Identificação de título aceito/não aceito FormatDateTime('ddmmyyyy', DataDocumento) + // 110 a 117 - Data da emissão do título IfThen(ValorMoraJuros = 0, '3', '1') + // 118 a 118 - Código do juro de mora '00000000' + // 119 a 126 - Data do juro de mora IntToStrZero(Round(ValorMoraJuros * 100), 15) + // 127 a 141 - Juros de mora por dia/taxa TipoDescontoToString(ACBrTitulo.TipoDesconto) + // 142 a 142 - Código do desconto 1 IfThen(ValorDesconto = 0, '00000000', FormatDateTime('ddmmyyyy', Vencimento)) + // 143 a 150 - Data do desconto 1 IntToStrZero(Round(ValorDesconto * 100), 15) + // 151 a 165 - Valor percentual a ser concedido IntToStrZero(Round(ValorIOF * 100), 15) + // 166 a 180 - Valor do IOF a ser recolhido IntToStrZero(Round(ValorAbatimento * 100), 15) + // 181 a 195 - Valor do abatimento PadRight(NumeroDocumento, 25) + // 196 a 220 - Identificação do título na empresa CodProtesto + // 221 a 221 - Código para protesto Depois ATipoBoleto + // 061 a 062 - Identificação de emissão do bloqueto + 062 a 062 - Identificação da distribuição PadRight(NumeroDocumento, 15) + // 063 a 077 - Nº do documento de cobrança FormatDateTime('ddmmyyyy', Vencimento) + // 078 a 085 - Data de vencimento do título IntToStrZero(Round(ValorDocumento * 100), 15) + // 086 a 100 - Valor nominal do título '00000' + // 101 a 105 - Coop./Ag. encarregada da cobrança Space(1) + // 106 a 106 - Dígito verificador da coop./agência PadLeft(Especie, 2, '0') + // 107 a 108 - Espécie do título AceiteStr + // 109 a 109 - Identificação de título aceito/não aceito FormatDateTime('ddmmyyyy', DataDocumento) + // 110 a 117 - Data da emissão do título IfThen( (ValorMoraJuros > 0) and (CodigoMora= ''), '1', PadRight(CodigoMora, 1, '3') ) + // 118 a 118 - Código do juro de mora IfThen((DataMoraJuros > 0), FormatDateTime('ddmmyyyy', DataMoraJuros), '00000000') + // 119 a 126 - Data do juro de mora IntToStrZero(Round(ValorMoraJuros * 100), 15) + // 127 a 141 - Juros de mora por dia/taxa TipoDescontoToString(ACBrTitulo.TipoDesconto) + // 142 a 142 - Código do desconto 1 IfThen(ValorDesconto = 0, '00000000', FormatDateTime('ddmmyyyy', Vencimento)) + // 143 a 150 - Data do desconto 1 IntToStrZero(Round(ValorDesconto * 100), 15) + // 151 a 165 - Valor percentual a ser concedido IntToStrZero(Round(ValorIOF * 100), 15) + // 166 a 180 - Valor do IOF a ser recolhido IntToStrZero(Round(ValorAbatimento * 100), 15) + // 181 a 195 - Valor do abatimento PadRight(SeuNumero, 25) + // 196 a 220 - Identificação do título na empresa CodProtesto + // 221 a 221 - Código para protesto ACBrBancoSicredi.pas
  10. interessante o componente, hoje qual seria o custo de consulta no spc ?
  11. Alguma opção na hora de exportação para PDF no FortesReport colocar uma senha para que o usuário so consiga abrir o pdf se digitar essa senha uso ele para criar alguns relatórios e não achei essa opção no componente, alguém ja fez ou teria outra forma de usar com senha ? Ex: Fatura de Cartão estão vindos com senha no pdf e preciso fazer o mesmo em alguns relatórios feito em FortesReport
  12. blz Juliana, mas tem 2 meses que foi enviado para análise, e ate agora não foi implementado no componente, como são poucas alterações e ja foi bastante testado, acho que não teria problema em adicionar essa alteração no componente
  13. @goyazsistemas fez uma implementação no boleto para exportação via PDF e com senha para ter acesso ao boleto. Isso é usado muito em fatura de cartão de crédito, uma maior segurança para os nossos clientes. Fiz uma alteração nela e já fiz vários testes e esta funcionando normal. Segue as unit que foram alteradas Campo que foi adicionado Unit AcbrBoleto FPdfSenha : String; procedure SetPdfSenha(const Value: string); property PdfSenha : string read fPdfSenha write SetPdfSenha; procedure TACBrBoletoFCClass.SetPdfSenha(const Value: string); begin FPdfSenha := Value; end; Unit ACBrBoletoFCFR fiPDF: begin if FModoThread then begin frxPDFExport.ShowDialog := False; frxPDFExport.ShowProgress := False; end else begin frxPDFExport.ShowDialog := MostrarSetup; frxPDFExport.ShowProgress := MostrarProgresso; end; frxPDFExport.FileName := NomeArquivo; frxPDFExport.Author := SoftwareHouse; frxPDFExport.Creator := SoftwareHouse; frxPDFExport.Producer := SoftwareHouse; frxPDFExport.Title := 'Boleto'; frxPDFExport.Subject := frxPDFExport.Title; frxPDFExport.Keywords := frxPDFExport.Title; frxPDFExport.Background := IncorporarBackgroundPdf;//False diminui 70% do tamanho do pdf frxPDFExport.EmbeddedFonts := IncorporarFontesPdf; if PdfSenha <> '' then begin frxPDFExport.UserPassword := PdfSenha; frxPDFExport.ProtectionFlags := [ePrint]; end; frxReport.Export(FdmBoleto.frxPDFExport); if frxPDFExport.FileName <> NomeArquivo then NomeArquivo := frxPDFExport.FileName; end; ACBrBoleto.pas ACBrBoletoFCFR.pas
  14. tambem estou tendo essa necessidade justamente por causa de fraude em boletos alguem sabe se ja implementaram no componente?
  15. caros amigos, quando faço a exportação do boleto para pdf, teria como colocar uma senha no arquivo PDF. Recebo a fatura do cartão dessa forma, sempre que vou abrir o pdf eles pedem a senha para abrir.
  16. vou enviar zeradas, pq ate agora ta uma bagunça terrível, ninguém sabe ao certo o que fazer com isso, ja vi em fóruns que o emitente não tinha a compra da peça e estava dando erro 938 e ninguém sabia o que iria fazer vamos aguardar próximos capítulos
  17. não tenho demo dela, são os fontes que uso hoje para baixar os pedidos, tanto em delphi 2010 quanto no tokyo estou fazendo tambem a parte de sincronização de estoque, mas não esta pronto, somente a importação das vendas
  18. quem tiver interesse entrar em contato comigo via PV, que mando todas as informações necessária.
  19. Vendo fontes feitos em tokyo para auditoria de banco de dados, poderá usar em outros delphi ja que não usa componentes de terceiros Gera os log de alteração, exclusão, cadastro em banco separado ou na sua própria base de dados, vc quem configura. Poderá gerar log de toda sua base de dados ou poderá escolher quais tabelas serão auditadas. Os log's serão gerados em tabelas conde consta os seguintes dados 1- Usuário quem fez o cadastro, alteração ou exclusão 2 - IP da maquina que fez 3 - Data/Hora 4 - Valor alterado 5 - Valor após alteração 6 - Qual coluna foi alterado 7 - Qual tipo de operação (Update, Delete, Insert) 8 - Caminho de onde esta o banco de dados 9 - Protocolo de Rede Qualquer dúvida entrar em contato via PV
  20. bom dia a todos, alguem ja conseguiu ou fez o componente de conexão com o mercado livre ?
  21. Problema resolvido, fico muito grato @Daniel Simoes pela ajuda
  22. estou utilizando o ACBrMail para enviar o xml e pdf gerado a nota fiscal eletronica, estranho que o pdf vai em anexo mas o xml da nota entra no corpo do e-mail, mas as chamadas do componente é o mesmo, conforme abaixo ACBrMail1.AddAttachment(var_Path_PDF); ACBrMail1.AddAttachment(var_Path_XML); O mais estranho é que somente um determinado e-mail de recebimento que acontece dessa forma, o restante vai em anexo normal Alguem ja passou por isso ?
  23. Segue em anexo a classe que criei para consulta de CNPJ no site https://www.receitaws.com.br/v1/cnpj Se alguém quiser usar ou implementar mais essa consulta no ACBR, esta toda pronta Segue a chamada da classe Consulta_CNPJ.Consulta(RemoveCaracteres ( EditCNPJ.Text )); RAZAO_SOCIAL.value := Consulta_CNPJ.Nome; ENDERECO.value := Consulta_CNPJ.Logradouro; NUMERO.value := Consulta_CNPJ.Numero; Todos esses campos são retornados Fatividade_principal_descricao : string; Fatividade_principal_code : string; Fdata_situacao : string; Fcomplemento : string; Fnome : string; Fuf : string; Ftelefone : string; Fatividade_secuncaria_descricao: string; Fatividade_secundaria_code : String; Fsituacao : string; Fbairro : string; Flogradouro : string; Fnumero : string; Fcep : string; Fmunicipio : string; Fporte : string; Fabertura : string; Fnatureza : string; Ffantasia : string; Fcapital : string; FEMail : string; FSocios : TStringList; Consulta_CNPJ.pas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.