-
Total de ítens
670 -
Registro em
-
Última visita
-
Days Won
1
Antonio Gomes last won the day on 13 Setembro 2023
Antonio Gomes had the most liked content!
Últimos Visitantes
Antonio Gomes's Achievements
-
Falha ao Baixar/Cancelar boleto Inter V3
Antonio Gomes replied to José Francisco's tópico in ACBrBoleto
está certo, alguns casos, aquele negocio das 13 hs, se o cliente pagar, eles colocam no mesmo dia disponível já para ser quitado no cliente. -
Falha ao Baixar/Cancelar boleto Inter V3
Antonio Gomes replied to José Francisco's tópico in ACBrBoleto
em produção, no cliente mesmo, mas, vou testar de novo, recordo de fato, que o pix, já na conta, acontecia do titulo nao vir com aquela situacao = PAGO. -
Falha ao Baixar/Cancelar boleto Inter V3
Antonio Gomes replied to José Francisco's tópico in ACBrBoleto
Interessante, usei isso ontem, com fontes atualizados no cliente, não tinha dado a falha. Testou ai francisco ? -
Logo PNG com fundo transparente sendo impressa com fundo preto.
Antonio Gomes replied to tborges's tópico in ACBrBoleto
Sim, vc pode personalizar, até colocar salvar no cliente, o modelo do boleto, eu tenho dessa forma, o cara quer algo diferente, edito, salvo no banco e vida que segue. Abstraia o código: procedure TDMBoleto.ConfigurarFastReport; var ST: TMemoryStream; begin frxReport1.Clear; frxReport1.Report.Clear; frxDBReceber.RangeBegin := rbFirst; frxDBReceber.RangeEnd := reLast; frxReport1.EnabledDataSets.Clear; frxReport1.DataSets.Clear; frxReport1.DataSets.Add(frxDBReceber); frxReport1.EnabledDataSets.Add(frxDBReceber); ST := TMemoryStream.Create; try if FDSCfgMod.FieldByName('ARQUIVO_CFGBLMOD').IsNull then // Quando for atualizado, em Novembro de 2018, esse campo vai ficar vazio na tabela begin case FDSCfgMod.FieldByName('LAYOUT_CFGBLMOD').AsInteger of 1: begin TFuncoesSistemaOperacional.LerRecursoDLL('BOLETO_1PP_PIX', sNomeDaDLL, ST); end; 2: TFuncoesSistemaOperacional.LerRecursoDLL('BOLETO_2PP', sNomeDaDLL, ST); 3: TFuncoesSistemaOperacional.LerRecursoDLL('BOLETO_3PP_CARNE', sNomeDaDLL, ST); else // 3 raise Exception.Create('Tipo de Documento: Boleto ou carnê não selecionado na configuração.'); end; end else TBlobField(FDSCfgMod.FieldByName('ARQUIVO_CFGBLMOD')).SaveToStream(ST); ST.Position := 0; frxReport1.LoadFromStream(ST); finally FreeAndNil(ST); end; // desnecessário, mantido pois tem modelo salvo no cliente, e gera erro Var S: string; with frxReport1 do begin S := 'procedure INICIALIZA()'; if Script.FindLocal(S) = nil then Script.AddMethod(S, CallMethod); end; end; OnSaveReport, do Designer: function TDMBoleto.frxDesignerBoleto_SaveReport(Report: TfrxReport; SaveAs: Boolean): Boolean; var Stream: TStream; begin Stream := TMemoryStream.Create; try Report.SaveToStream(Stream); Stream.Position := 0; IBQryCfgMod.Edit; TBlobField(IBQryCfgMod.FieldByName('ARQUIVO_CFGBLMOD')).LoadFromStream(Stream); IBQryCfgMod.Post; finally Stream.Free; end; Result := True; end; -
Logo PNG com fundo transparente sendo impressa com fundo preto.
Antonio Gomes replied to tborges's tópico in ACBrBoleto
Cara, eu criei meu próprio fr3, logo, bordo o que for preciso nele. Não sei se ajudei, ou botei mais dúvida ainda. -
Muitas requisições no Envio de boleto Bancoob
Antonio Gomes replied to Bravus suporte's tópico in ACBrBoleto
Mas voce nao implementou ttimer? ou delay?- 6 replies
-
- boleto
- bancoob / sicoob
- (e 2 mais)
-
inter: Criar app, baixar certificados, colocar certo os scopes, clientid Sicoob: Cadastrar no ambiente desenvolver, pegar o clientid, e fazer a mandinga do certificado ecnpj do cliente... Essa benção que refiro, nao basta querer do lado de cá, se lá (banco) nao está ativo.
-
qual banco é? geralmente, o boleto vem a url pix já, se o banco permitir, pq eles precisam dar a benção (banco), inter mesmo, vem ja pronto, a gente so pega e imprime, e esquece a remessa, mas, se for um banco com remessa, coloca qual banco é, até então, não tinha visto ainda, remessa ter pix, já que é uma coisa dinâmica com o banco...
-
Cara, eu fiz, e gravei tudo no meu banco, e eu mesmo faço a impressão, mas, deve ter no modelo do acbr, o qrcode já, lembre-se de gravar os dados abaixo: if ABoleto.ListaRetornoWeb[I].DadosRet.IDBoleto.IDBoleto <> '' then ABoletoApi.CodigoSolicitacao := ABoleto.ListaRetornoWeb[I].DadosRet.IDBoleto.IDBoleto; ABoletoApi.NossoNumeroFormatado := ABoleto.ListaRetornoWeb[I].DadosRet.IDBoleto.NossoNum; ABoletoApi.CodigoBarras := ABoleto.ListaRetornoWeb[I].DadosRet.IDBoleto.CodBarras; ABoletoApi.LinhaDigitavel := ABoleto.ListaRetornoWeb[I].DadosRet.IDBoleto.LinhaDig; ABoletoApi.TxPIX := ABoleto.ListaRetornoWeb[I].DadosRet.TituloRet.TxId; ABoletoApi.UrlPIX := ABoleto.ListaRetornoWeb[I].DadosRet.TituloRet.EMV; // inter está vindo aqui if ABoletoApi.UrlPIX = '' then ABoletoApi.UrlPIX := ABoleto.ListaRetornoWeb[I].DadosRet.TituloRet.UrlPIX; if ABoletoApi.CodigoSolicitacao = '' then ABoletoApi.CodigoSolicitacao := ABoleto.ListaRetornoWeb[I].DadosRet.TituloRet.NossoNumeroCorrespondente; e na hora de imprimir, atribui no titulo, se tiver pix - gravado no seu receber a url, claro Titulo.QrCode.emv := .... procure por TACBrBoletoPIXQRCode = class private Femv: String; Furl: String; FtxId: String; procedure Setemv(const Value: String); procedure SettxId(const Value: String); procedure Seturl(const Value: String); public constructor Create(); destructor Destroy; override; property url : String read Furl write Seturl; property txId : String read FtxId write SettxId; property emv : String read Femv write Setemv; procedure PIXQRCodeDinamico(const AURL, ATXID: String; ATitulo : TACBrTitulo); end;
-
Function TentaPegarMensagemErroDetalhada diretiva DELPHILANGUAGE
Antonio Gomes replied to Antonio Gomes's tópico in ACBrNFe
foi resolvido já. -
Function TentaPegarMensagemErroDetalhada diretiva DELPHILANGUAGE
um tópico no fórum postou Antonio Gomes ACBrNFe
Gostaria que conferissem por favor, sobre a falta da declaração {$I ACBr_jedi.inc} no topo da unit ACBrDFeXsLibXml2, onde a mesma, faz uso da chamada de uma diretiva, que está dentro dessa .inc Diretiva: DELPHILANGUAGE Isso ocorre o erro na validação da NF-e, onde fica aparecendo apenas o número do erro 1824, de erro de campo de inscricao estadual no caso. Erro que retorna: "Falha na validação dos dados da nota: 1232 --> 1824" função: function TDFeSSLXmlSignLibXml2.TentaPegarMensagemErroDetalhada(const MsgErroAtual: string): String; var prtUltimoErroXml: xmlErrorPtr; begin Result := ''; prtUltimoErroXml := xmlGetLastError(); if prtUltimoErroXml = nil then begin Result := MsgErroAtual; Exit; end; Result := MsgErroAtual + ' --> ' + IntToStr(prtUltimoErroXml^.code); {$IFDEF DELPHILANGUAGE} {$IFDEF WINDOWS} if (prtUltimoErroXml^.message <> nil) then Result := Result + ' - ' + prtUltimoErroXml^.message; {$ENDIF} {$ELSE} if (prtUltimoErroXml^.message <> nil) then Result := Result + ' - ' + prtUltimoErroXml^.message; {$ENDIF} end; Inclusive, está até estranho, o código é igual. -
Olha se pode ser usado dessa forma, sincronizei e alterei. ACBrBoletoRet_Inter_API.pas
-
@Daniel InfoCotidiano Na tentativa de emitir um boleto, após ser cancelado, na property JSON do retorno, veio o seguinte texto: {"title":"Requisição inválida","detail":"Não será possível emitir o boleto. Pois, existe um boleto emitido há poucos minutos com os mesmos dados com a situação “em aberto” com nosso número: 01371641358.","timestamp":"2024-07-11T14:36:41.735762-03:00"}' Antes, com vencimento ontem, veio esse: '{"title":"Dados inválidos.","detail":"Verifique se os dados informados estão de acordo com a documentação disponibilizada e tente novamente.","timestamp":"2024-07-11T14:24:42.10409-03:00","violacoes":[{"razao":"O valor deve ser igual ou maior a data atual","propriedade":"incluirBoleto.body.dataVencimento","valor":"2024-07-10"}]}' ----- Porém, essa property JSON quando sucesso, vem prenchido com o json correto, com dados do boleto, logo, para mexer, penso que precisa ser dentro exclusivamente na unit do inter: onde vem essa msg de erro: if ABoleto.TotalListaRetornoWeb > 0 then for var I: Integer := 0 to Pred(ABoleto.TotalListaRetornoWeb) do begin ABoleto.ListaRetornoWeb[I].JSON ... end; Teria como alimentar a lista de rejeições? E eu posso mexer nisso ?
-
Boleto Inter V2 - cancelar e consultar boleto.
Antonio Gomes replied to Antonio Gomes's tópico in ACBrBoleto
Fecha por favor, é mosca comida + cansaço! Grato. -
Olá, @Daniel InfoCotidiano Uma coisa inusitada, que não consegui depurar, se emito o boleto no inter v2, no passado, agora com o novo componente, se aciono para cancelar, o mesmo não aciona a vinculação do certificado, faz algum sentido? Inter: 1 hora de token, se está fora do periodo, pede cancelamento, erro 400, no mesmo tempo, eu aciono a emissão da boleta, que regenera o token, nesse ato, consegue cancelar. é possivel eu saber, qual momento que o token é acionado? para eu debugar direto isso ? Pois preciso esperar 1 hr, para vencer o token. Modo que peço a baixa: Boleto.ListadeBoletos.Clear; ACBrTitulo := Boleto.CriarTituloNaLista; ACBrTitulo.NossoNumero := Fds.FieldByName('BOLETO_REC').AsString; ACBrTitulo.NossoNumeroCorrespondente := Fds.FieldByName('COD_SOLICITACAO_BOL_REC').AsString; Boleto.Configuracoes.WebService.Operacao := TOperacao.tpBaixa; // inter é baixa if not Boleto.Enviar then AMsgErro := Self.LerRetornoCancelamentoBoletoDeAPI(Boleto); procedure TFuncBoleto.ACBrBoleto_AntesAutenticar(var AToken: string; var AValidadeToken: TDateTime); begin // Carrega o token gravado na conta TFuncConta.GetTokenContaServicoBancario(fTransacao, Boleto, FDSServBanc.FieldByName('CODIGO_SER').AsInteger, FToken, FDataAtual, FDAtaHoraValidadeToken); AToken := FToken; AValidadeToken := FDAtaHoraValidadeToken; end;