-
Total de ítens
671 -
Registro em
-
Última visita
-
Days Won
1
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que Antonio Gomes postou
-
Erro Nosso Numero Siccob - Linha digitalizavel errada
Antonio Gomes replied to ronluis's tópico in ACBrBoleto
posta seu codigo fonte no privado? ajudo vc... -
Erro Nosso Numero Siccob - Linha digitalizavel errada
Antonio Gomes replied to ronluis's tópico in ACBrBoleto
Como voce coloca o nosso numero no componente? tem umas mandingas que precisam ser olhadas, como nao ser com DV na hora de gerar, não colocar ele com zeros formatado, pq o componente faz copy do que vc informa, coloca aqui como vc manda para dentro do objeto titulonalista. -
Até onde sei, isso não tem, é bem especifico, sugestão que te dou, é criar sua impressão. Se vc usa fast report, é fácil contornar.
-
Envio de boletos em lote Banco Inter API
Antonio Gomes replied to jefferson01's tópico in ACBrBoleto
ficou bacana mano. -
uma dica que te dou, salva ele sem formatar, para vc evitar esse mesmo problema, se for o campo nosso número,quando voce pegar o nosso numero da caixa, vai entender a bubiça que é, aquele 24 ou 14 no começo do numero. repara:
-
Mano, como vc coloca os dados no componente? parece falta de DV Me preocupa essa msg... parar clientes. kkk
-
Lembrando que é apenas PJ, aquele site azul.. quem é laranja, MEI, não ainda. aff
-
Envio de boletos em lote Banco Inter API
Antonio Gomes replied to jefferson01's tópico in ACBrBoleto
Uai, suspeito que seja pelo tempo que ele pede, vc nao pode gerar outro token, se o anterior tiver valido, mas apenas usar, contar o tempo em minutos. Senao eles poem a gente na geladeira: olha: Obter token oAuth POSThttps://cdpj.partners.bancointer.com.br/oauth/v2/token A autenticação OAuth é a mais recente forma de autenticar os novos serviços disponibilizados pelo Inter. O Token gerado será necessário para consumir as APIs do Inter. O tempo de vida de um token gerado é de uma hora. Com isso, é possível realizar um número determinado de requisições nas apis, de acordo com o rate limit de cada api, utilizando um único token. Rate limit: 5 chamadas por minuto fonte: https://developers.bancointer.com.br/reference/token-1 -
voce quer carregar essas opções? toRemessaRegistrar, toRemessaBaixar etc. case ARem_Ocorrencia_Remban of 0: ATituloNaLista.OcorrenciaOriginal.Tipo := toRemessaRegistrar; 1: ATituloNaLista.OcorrenciaOriginal.Tipo := toRemessaBaixar; 2: ATituloNaLista.OcorrenciaOriginal.Tipo := toRemessaConcederAbatimento; 3: ATituloNaLista.OcorrenciaOriginal.Tipo := toRemessaCancelarAbatimento; 4: ATituloNaLista.OcorrenciaOriginal.Tipo := toRemessaAlterarVencimento; 5: ATituloNaLista.OcorrenciaOriginal.Tipo := toRemessaAlterarNumeroControle; 6: ATituloNaLista.OcorrenciaOriginal.Tipo := toRemessaProtestar; 7: ATituloNaLista.OcorrenciaOriginal.Tipo := toRemessaCancelarInstrucaoProtestoBaixa; 8: ATituloNaLista.OcorrenciaOriginal.Tipo := toRemessaCancelarInstrucaoProtesto; 9: ATituloNaLista.OcorrenciaOriginal.Tipo := toRemessaOutrasAlteracoes; else Raise Exception.Create('Código de ocorrência: ' + aRem_Ocorrencia_Remban.ToString + ' inválida.'); end; Essa lista vc pega ela assim Acbrboleto1.GetOcorrenciasRemessa() : TACBrOcorrenciasRemessa; A ocorrencia varia de acordo com o banco sim, voce deve tomar uma atitude/ação, de acordo com o codigo do retorno que vem, no caso, para baixar, vem 05 ou 06 vem em ListadeBoletos[X].OcorrenciaOriginal.Tipo
-
Campo livre do santander: O erro parece ser o codigo do cedente... tem banco que não é o numero da conta, mas o cedente na cip Result := '9' + PadLeft(trim(Cedente.CodigoCedente),7,'0') + PadLeft(ACBrTitulo.NossoNumero + CalcularDigitoVerificador(ACBrTitulo), 13,'0') + '0' + PadLeft(trim(Cedente.Modalidade),3,'0'); E para voce fazer a impressao do mesmo boleto, é preciso ter o mesmo numero do campo nosso numero.
-
Altura do código de barras diferente após atualização recente
Antonio Gomes replied to DouglasGV's tópico in ACBrBoleto
@Daniel InfoCotidiano tinha ligação com a altura? Parecia mais com a espessura das barras. O zoom. -
Envio de boletos em lote Banco Inter API
Antonio Gomes replied to jefferson01's tópico in ACBrBoleto
Eu salvo o meu no banco de dados, e se caso o operador sair do sistema, fica gravado os dados do token, para nao precisar processar de novo, a cada boleto, é verificado o tempo. Pois ele é fixo, o retorno do inter ja vem com o tempo somado, bom, era assim... Tipo, entra o comando no endpoint as 15hs, vem que ele vale ate 16hs -
Envio de boletos em lote Banco Inter API
Antonio Gomes replied to jefferson01's tópico in ACBrBoleto
o meu tem uma falha ali, ao salvar o valor do tokentime. a proposito, no acbr, é aqui que valida o token function TBoletoW_Inter_API.GerarTokenAutenticacao: string; begin OAuth.Payload := True; Result := inherited GerarTokenAutenticacao; end; Na funcao: GerarTokenAutenticacao chama a funcao da boletaws base dessa derivacao: TBoletoW_Inter_API = class(TBoletoWSREST) o tempo de validade, vem no retorno do if OAuth.GerarToken then Result := OAuth.Token para mim, o tempo deve ser aqui: property Expire : TDateTime read FExpire; na unit ACBrBoletoWS.Rest.OAuth Sempre que posso ajudo ... -
Envio de boletos em lote Banco Inter API
Antonio Gomes replied to jefferson01's tópico in ACBrBoleto
tem que colocar no cadastro da sua conta corrente, um campo campo com data e hora Ex: pega no cadastro de conta: Clear; Add('select '); Add(' CONTA_CORRENTE_SERV_BANCARIO.CODIGO_SER'); Add(' ,CONTA_CORRENTE_SERV_BANCARIO.CLIENT_ID_SER'); Add(' ,CONTA_CORRENTE_SERV_BANCARIO.CLIENT_SECRET_SER'); Add(' ,CONTA_CORRENTE_SERV_BANCARIO.SESSAO_TOKEN_SER'); Add(' ,CONTA_CORRENTE_SERV_BANCARIO.SESSAO_TOKEN_DATA_HORA_SER'); Add(' ,CONTA_CORRENTE_SERV_BANCARIO.SESSAO_TOKEN_VALIDADE_SER'); Add(' ,CONTA_CORRENTE_SERV_BANCARIO.NOME_CRT_SER'); Add(' ,CONTA_CORRENTE_SERV_BANCARIO.CRT_SER'); Add(' ,CONTA_CORRENTE_SERV_BANCARIO.NOME_KEY_SER'); Add(' ,CONTA_CORRENTE_SERV_BANCARIO.KEY_SER'); Add(' ,CONTA_CORRENTE_SERV_BANCARIO.NOME_PFX_SER'); Add(' ,CONTA_CORRENTE_SERV_BANCARIO.PFX_SER'); // SENHA_CRT_KEY_SER Add('from CONTA_CORRENTE_SERV_BANCARIO'); Add('where CONTA_CORRENTE_SERV_BANCARIO.CODIGO_SER = ' + AServicoBancario.ToString); TFuncoesBancoDeDados.ExecuteReaderFD(Text, ATransacao, FDS); finally DisposeOf; end; AToken := FDS.FieldByName('SESSAO_TOKEN_SER').AsString; ATokenTime := FDS.FieldByName('SESSAO_TOKEN_VALIDADE_SER').AsDateTime; ClientId := FDS.FieldByName('CLIENT_ID_SER').AsString; ClientSecret := FDS.FieldByName('CLIENT_SECRET_SER').AsString; // venceu ou nao tem if (AToken = '') or (ATokenTime <= Now) then begin HoraTmp := Now; Inter := TBancoInter.Create(nil); try Inter.ClientId := ClientId; Inter.ClientSecret := ClientSecret; Inter.CertFile := CrtTmp; Inter.KeyFile := KeyTmp; Inter.GetToken; AToken := Inter.Token; ATokenTime := Inter.TokenTime; if AToken <> '' then begin with TStringList.Create do try Clear; Add('update CONTA_CORRENTE_SERV_BANCARIO set'); Add(' CONTA_CORRENTE_SERV_BANCARIO.SESSAO_TOKEN_SER = ' + QuotedStr(AToken)); Add(' ,CONTA_CORRENTE_SERV_BANCARIO.SESSAO_TOKEN_DATA_HORA_SER = ' + TFuncoesSQL.DataHoraSQL(HoraTmp)); Add(' ,CONTA_CORRENTE_SERV_BANCARIO.SESSAO_TOKEN_VALIDADE_SER = ' + TFuncoesSQL.DataHoraSQL(HoraTmp)); Add('where CONTA_CORRENTE_SERV_BANCARIO.CODIGO_SER = ' + AServicoBancario.ToString); TFuncoesBancoDeDados.ExecuteCommand(Text, ATransacao); finally DisposeOf; end; end; finally Inter.DisposeOf; end; end; -
Então: Tem um caso, que vc precisa limpar e tem um caso que precisa colocar dados do cedente no objeto, olha onde é isso function TACBrBancoClass.ValidarDadosRetorno(const AAgencia, AContaCedente: String; const ACNPJCPF: String= ''; const AValidaCodCedente: Boolean= False Boolean; begin try With ACBrBanco.ACBrBoleto do begin if NaoEstaVazio(ACNPJCPF) then if (not LeCedenteRetorno) and (ACNPJCPF <> OnlyNumber(Cedente.CNPJCPF)) then raise Exception.CreateFmt(ACBrStr('CNPJ\CPF: %s do arquivo não corresponde aos dados do Cedente!'), [ACNPJCPF]); Logo que começa ler o retorno, é feito isso: rCNPJCPF := DefinerCnpjCPFRetorno240(ARetorno[0]); // primeira linha do retorno function TACBrBancoClass.DefinerCnpjCPFRetorno240(const ALinha: String): String; begin Result := OnlyNumber( copy(ALinha, 19, 14) ); end; ValidarDadosRetorno('', '', rCNPJCPF); Quando LeCedenteRetorno for false, é comparado com os dados que voce colocou no cedente do componente, isso ja tem bastante tempo que é assim. Sugestão, colocar ele True, se vc nao quer alimentar antes o objeto acbrboleto Ex: como eu uso: FuncBoleto.ACBrBoleto.LeCedenteRetorno := true; // problema do sicoob 756 FuncBoleto.ACBrBoleto.Cedente.Conta := '0'; // Ocultar erro do ACBr FuncBoleto.ACBrBoleto.LerRetorno(ArquivoDeRetorno); Porem, eu uso o objeto para ler, e eu acho a conta no meu sistema, tem casos, que a pessoa lê, com a conta ja selecionada na tela, ou seja, o erro ali, pode ser isso, vc passou uma informacao, e leu outra.
-
Retorno via API do Banco Inter sem resultado
Antonio Gomes replied to Luiz Carlos Panoni Junior's tópico in ACBrBoleto
clientid e clientsecret, informou? -
Retorno via API do Banco Inter sem resultado
Antonio Gomes replied to Luiz Carlos Panoni Junior's tópico in ACBrBoleto
ah: me peguei confuso com esse buscar hoje, da api nova... quando é filtrado por situacao pago, o filtro do campo datainicial e datafinal, é a data de pagamento... Logo, tive que ajustar hoje em um cliente, para pegar data inicial - 7 e datafinal = date. ou o seu ai, é caso de erro mesmo ? -
Retorno via API do Banco Inter sem resultado
Antonio Gomes replied to Luiz Carlos Panoni Junior's tópico in ACBrBoleto
no que eu tenho aqui, é preciso vincular um certificado e colocar a conta no header, fez isso? e o codigo do retorno, salvo engano, é 200, teve qual numero de retorno ? -
Banco Inter via API - Faltando escopos necessários.
Antonio Gomes replied to Luiz Carlos Panoni Junior's tópico in ACBrBoleto
respondi no privado, para não me encherem o saco aqui ... prints. Esqueci de mencionar, mesmo com emissao via acbr dá para montar, no meu caso, é boleto via api. Nem sei por onde passa essa de mandar retorno desse banco, coloquei o cliente usar via api, é mais prático. -
Banco Inter via API - Faltando escopos necessários.
Antonio Gomes replied to Luiz Carlos Panoni Junior's tópico in ACBrBoleto
fi, eu montei o boleto aqui, pelo que eles retornam. Linha digitavel e codigo de barras. o resto a gente tem para colocar na impressao. -
ou fi, isso dai, é quando vc envia remessa, quitado, vem como 06 se nao me engano, vem como liquidacao normal. o banco manda isso, se caso vc quiser processar algo no seu bordero de retorno bancario... tem casos, que quando é banco emite, vc precisa gravar o campo nosso numero, pois é o banco quem gera, dá uma olhada nos codigos de retornos, para entender legal isso.
-
Duvida sobre o banco Inter
Antonio Gomes replied to Luiz Carlos Panoni Junior's tópico in ACBrBoleto
da versão 1 tenho, mas, falando com um amigo, segundo me informou, a v2, tem pouca diferença. -
MG: Produção: Até dia 21/09, a url de consulta estava URL-ConsultaNFCe_2.00=http://nfce.fazenda.mg.gov.br/portalnfce A partir desse dia, está gerando a rejeição, a url foi alterada para <urlChave>https://portalsped.fazenda.mg.gov.br/portalnfce</urlChave> Isso vai ser mudado mesmo ou trocaram por engano, a do QR code está correta. Até dia 21/09 <infNFeSupl> <qrCode>https://portalsped.fazenda.mg.gov.br/portalnfce/sistema/qrcode.xhtml?p=</qrCode> <urlChave>http://nfce.fazenda.mg.gov.br/portalnfce</urlChave> </infNFeSupl> Apos 21/09 <infNFeSupl> <qrCode>https://portalsped.fazenda.mg.gov.br/portalnfce/sistema/qrcode.xhtml?p=</qrCode> <urlChave>https://portalsped.fazenda.mg.gov.br/portalnfce</urlChave> </infNFeSupl>