-
Total de ítens
514 -
Registro em
-
Última visita
-
Days Won
3
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que Fernando Rodrigo postou
-
WEbService para pesquisa de CNPJ
Fernando Rodrigo replied to Fernando Rodrigo's tópico in Dúvidas não relacionadas ao ACBr
eu uso ele no server e funciona normal, veja a conexão que vc esta fazendo se não tem nenhuma configuração incorreta -
WEbService para pesquisa de CNPJ
Fernando Rodrigo replied to Fernando Rodrigo's tópico in Dúvidas não relacionadas ao ACBr
não tem token, e so passar o cnpj no final conforme abaixo e ele retorna o json https://www.receitaws.com.br/v1/cnpj/04005416000153 -
o posto é antigo mas estou tendo esse mesmo problema, se for fora do windows server funciona perfeito o comando acima, mas se for dentro do windows server vc so tem um IP de conexão, dai vc não consegue pelo select saber quantos estão conectados. qual seria a sugestão para quem usa terminal server ?
-
isso mesmo Bruno, a senha não é obrigatório no componente, as que recebo de fatura do cartão são os 4 primeiros digitos do CPF, isso evita muito fraude de boleto
-
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;
-
alteração Retonro Banco Sicoob CNAB 240
Fernando Rodrigo replied to Fernando Rodrigo's tópico in ACBrBoleto
@BigWings, era isso mesmo, muito obrigado pela ajuda, fico muito grato, problema resolvido -
alteração Retonro Banco Sicoob CNAB 240
Fernando Rodrigo replied to Fernando Rodrigo's tópico in ACBrBoleto
@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; -
alteração Retonro Banco Sicoob CNAB 240
Fernando Rodrigo replied to Fernando Rodrigo's tópico in ACBrBoleto
pegue o arquivo de retorno em anexo e faça a leitura dele 3064_00203530_20190531_C240_00.ret -
alteração Retonro Banco Sicoob CNAB 240
Fernando Rodrigo replied to Fernando Rodrigo's tópico in ACBrBoleto
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 -
alteração Retonro Banco Sicoob CNAB 240
Fernando Rodrigo replied to Fernando Rodrigo's tópico in ACBrBoleto
segue arquivo de retorno para checagem Cópia de JWA ROLAMENTOS E ACESSORIOS INDUSTRIAIS LTDA.xlsx -
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
-
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
-
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
-
interessante o componente, hoje qual seria o custo de consulta no spc ?
-
Exportado (pdf) com senha no FortesReport
um tópico no fórum postou Fernando Rodrigo Dúvidas não relacionadas ao ACBr
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 -
implementação do boleto exportado (pdf) com senha
Fernando Rodrigo replied to Fernando Rodrigo's tópico in ACBrBoleto
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 -
implementação do boleto exportado (pdf) com senha
um tópico no fórum postou Fernando Rodrigo ACBrBoleto
@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 -
tambem estou tendo essa necessidade justamente por causa de fraude em boletos alguem sabe se ja implementaram no componente?
-
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.
-
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
-
Mercado Livre - Recuperar pedido
Fernando Rodrigo replied to Edson.pol's tópico in Dúvidas não relacionadas ao ACBr
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