-
Total de ítens
539 -
Registro em
-
Última visita
-
Days Won
4
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Posts postados por Jhonlenon Ribeiro
-
-
Bom dia, eu estava verificando e existe outros topicos relacionado a esse assunto...meu erro é esse aqui....
{"tipoAmbiente":2,"versaoAplicativo":"SefinNac_Pre_1.3.0","dataHoraProcessamento":"2025-06-22T21:45:06.4878178-03:00","idDPS":"DPS170210926114119900015200900000000000000008","erros":[{"Parametros":null,"Codigo":"E999","Descricao":"Erro não catalogado"}]}..isso acontece só em ambiente de homologação....em produção envia normal sem erro. Será que até hoje nunca arrumaram o ambiente em homologação para NFS-e Padrão Nacional? em 2023 esse ERRO NÃO CATALOGADO já ocorria, será que é algum problema no meu xml? esse problema é geral ainda?
-
@Victor H. Gonzales - Panda e se validasse por status não daria certo?
-
1
-
-
Boa tarde @Victor H. Gonzales - Panda realmente remover o for não pode, mais que tal validar com só em cima do c6Bank? porque existe varias formas de fazer o envio. print em anexo.
-
Testei a ideia do @Antonio Gomes e deu certo...como mostra o print abaixo..unit em anexo
-
Bom dia, já tem uns 8 meses que fiz a homologação da emissão do boleto c6Bank via API, até ai tudo certo, quando fiz a homologação do boleto percebi que o componente ACBrBoleto tentava registrar o mesmo boleto 2 vezes, então pensei deve ser erro no meu código, então ignorei o erro e na segunda tentativa dava certo, isso gerando varios boletos dentro de um while, sendo que o envio é individual de cada boleto e não em lote. Então como mesmo dando erro de duplicidade de registro tava dando certo, deixei quieto, então onten o Rodrigo da c6Bank me chamou no zap e falou que a minha integração já tinha registrado mais de 1000 erro de tentativa de registro de boleto no servidor da c6Bank. Então fui analisar a fundo e vi que no if FBoleto.ListadeBoletos.Count > 0 then da unit ACBrBoletoWS no segundo boleto ele ordenava errado e ao inves de pegar o o segundo boleto, pregava era o primeiro boleto causando duplicidade de registro, outros colegas me relataram a mesma coisa também. Fiz uma alteração na unit ACBrBoletoWS e estou postando em anexo para ser analisada se a alteração está correta, pois se trata de uma unit global onde varios bancos usa ela para o registro de boleto. Só alterei essa parte abaixo da unit.
function TBoletoWS.Enviar: Boolean;
var
indice : Integer;
LJsonEnvio: String;
LUltimoEnvio: TDateTime;
begin
Banco := FBoleto.Banco.TipoCobranca;
Result := False;
FBoletoWSClass.FHTTPSend.Timeout := FBoleto.Configuracoes.WebService.TimeOut;try
if FBoleto.ListadeBoletos.Count > 0 then
begin
// Pegando sempre o último registro
indice := Pred(FBoleto.ListadeBoletos.Count); // último índice
FBoletoWSClass.FTitulo := FBoleto.ListadeBoletos[indice];
LJsonEnvio := FBoletoWSClass.GerarRemessa;
Result := FBoletoWSClass.Enviar;
FRetornoWS := FBoletoWSClass.FRetornoWS;RetornoBanco.RetWS := FRetornoWS;
RetornoBanco.FEnvWS := LJsonEnvio;
RetornoBanco.RetornoEnvio(indice);
end
else if (FBoleto.Configuracoes.WebService.Operacao in [tpConsulta]) then // Apenas Consulta Genérica
begin
FBoletoWSClass.GerarRemessa;
Result := FBoletoWSClass.Enviar;
FRetornoWS := FBoletoWSClass.FRetornoWS;
RetornoBanco.RetWS := FRetornoWS;
RetornoBanco.RetornoEnvio(0);
end;
except
on E: Exception do
begin
if not Assigned(FBoletoWSClass.RetornoBanco) or
((FBoletoWSClass.RetornoBanco.CodRetorno = 0) and
(Trim(FBoletoWSClass.RetornoBanco.Msg) = '')) then
DoLog('Falha Envio: ' + ACBrStr(E.Message), logSimples)
else
DoLog('Erro Envio: ' + ACBrStr(IntToStr(FBoletoWSClass.RetornoBanco.CodRetorno) +
sLineBreak + FBoletoWSClass.RetornoBanco.Msg + sLineBreak + E.Message), logSimples);
raise;
end;
end;
-
Bom dia...eu estava precisando ocultar o e-mail do tomador na NFS-e Autorizada na hora de gerar o DANFSE...eu uso o fortes report. A situação é o seguinte, se o tomador fornecer o e-mail no cadastra ai fica tudo certo, agora quando ele não tem e-mail eu precisava informar um e-mail cooporativa nosso que seria específico para essa situação, só que quando fosse esse e-mail cooporativo não era pra mostrar no DANFSE...passava apenas no xml. Porque isso? porque para CANCELAR uma NFS-e de serviço a prefeitura só deixa se na emissão da NFS-e estiver sido informado um e-mail válido. Uso o componente ACBrNFSeX e Fortes Report. Tem alguma forma de fazer isso usando o componente ACBrNFSeX?
-
Boa tarde....eu resolvi o problema e tinha esquecido de postar aqui a solução....tinha 4 propriedade que eu não tinha criado...que são essas.
ACBrMail.ReadingConfirmation := False;
ACBrMail.IsHTML := False;
ACBrMail.TimeOut := 0;
ACBrMail.Tag := 0;
ACBrMail.DeliveryConfirmation := False;Alguém pode encerrar o tópico.
-
Boa tarde @Italo Giurizzato Junior deu certo a emissão de nota fiscal de serviço em Santa Fé do Araguaia - TO, obrigado....pode encerrar o tópico.
-
Boa tarde....teria como incluir a cidade de Santa Fé do Araguaia - TO no ACBrNFSeXServicos do componente ACBrNFSeX? lá usa o provedor MegaSoft.
[1718865]
; Incluído em 25/02/2025
Nome=Santa Fé do Araguaia
UF=TO
Provedor=MegaSoft
Versao=2.00
ProRecepcionar=https://santafedoaraguaia.megasoftarrecadanet.com.br/santafedoaraguaia/ws/nfseSOAP -
Boa tarde.....depois de algumas atualizações do comoponente ACBrEmail quando crio o componente ACBrEmail em tempo de execução o texto do campo Subject não vai no envio....ACBrMail.Subject :='TESTE';
Envia normal só não vai o Subject
Alguém já passou por isso?
-
@BigWings Bom dia...testei os fontes atualizado no SVN...ficou OK em homologação e produção....pode encerrar o tópico.
-
Boa noite, eu estou homologando o boleto do Banrisul via API e vi que está sempre setando URL do token e registro do boleto sempre em produção...mesmo setando o ambiente para homologação, em debug vi que o ero está no ifthen FPURL := IfThen(Boleto.Configuracoes.WebService.Ambiente in [tawsProducao, tawsHomologacao], C_URL, C_URL_HOM) e no token também OAuth.URL := IfThen(OAuth.Ambiente in [tawsProducao,tawsHomologacao], C_URL_OAUTH_PROD, C_URL_OAUTH_HOM)
Eu alterei a unit ACBrBoletoW_Banrisul e funcionou corretamente em homologação e produção como mostra o print...também anexei a unit alterada.
-
2 minutos atrás, HelioNeto disse:
O Pessoal do Bradesco Alterou o Cadastro lá.
Agora está retornando o erro 400 Bad Request no PostmanE a mesma coisa no ACBrBoletoDemo
09/12/24 15:30:46:822 - Retorno Envio: TBoletoW_Bradesco 09/12/24 15:30:46:822 - Código do Envio: 400 1.1 Bad Request 09/12/24 15:30:46:824 - Retorno Envio: Result={"statusHttp":400,"errorMessage":"Erro na comunicação CICS X IMS via APPC"} 09/12/24 15:30:46:824 - Cookies: 09/12/24 15:30:46:824 - b379869d074ff4de926886d8fcd3aa1e=d24fef8650d060048bb1c27d76667003 TS015ebd97=0129547d57ac1ddfba1e8713c028c46f964fe06186635c4f4ed0967fc976ebf0ca979f7547cf4e545db250f007da2e2037dc6ff8bb dtCookie=v_4_srv_29_sn_45B2DEFEF864033E5368C2AC4EA0AD10_perc_100000_ol_0_mul_1_app-3Aea7c4b59f27d43eb_0 364315a7bf2deed839e2b5939fc4ba17=fd1819bb0696b66210eae48dda616517
Vou aguardar os ajustes finais aí para testar.
@HelioNeto esse erro ai é do ambiente de homologação...fica tentando que vc consegui...tentei varias vezes ai consegui aqui...
25 minutos atrás, Victor H. Gonzales - Panda disse:no merge anterior você tinha passado invertido essa questão dos 18 e 11 digitos.
mas segue o arquivo atualizado.
@Victor H. Gonzales - Panda Agora ficou OK...testei aqui ai ficou 100%
-
@Victor H. Gonzales - Panda não deu certo...mais alterei sua função ai funcionou certo.
function TBoletoW_Bradesco.AgenciaContaFormatada(const APadding: Integer): String;
var
LAgencia, LConta, LZeros: String;
LTotalTamanho: Integer;
begin
{ ** Recupera a agência e a conta, removendo zeros à esquerda da conta ** }
LConta := RemoveZerosEsquerda(ATitulo.ACBrBoleto.Cedente.Conta);
LAgencia := ATitulo.ACBrBoleto.Cedente.Agencia;
{ ** Define o total de caracteres baseado no parâmetro APadding ** }
LTotalTamanho := APadding - (Length(LAgencia) + Length(LConta));
{ ** Gera os zeros necessários para completar o tamanho total ** }
if LTotalTamanho > 0 then
LZeros := StringOfChar('0', LTotalTamanho)
else
LZeros := '';
{ ** Concatena agência, zeros e conta ** }
Result := LAgencia + LZeros + LConta;
end;// ConsultaDetalhe e Baixa usar 11 digitos
LJsonObject.AddPair('negociacao', AgenciaContaFormatada(11));
// No registro do boleto usar 18 digitos
LJsonObject.AddPair('cnegocCobr', AgenciaContaFormatada(18));Obs: não se esqueça de alterar na RequisicaoJson do registro do boleto e depois na RequisicaoConsultaDetalhe e RequisicaoBaixa.
-
5 minutos atrás, Victor H. Gonzales - Panda disse:
Olha a unit que eu lhe enviei
Testei e não deu certo...está formatando errado...
"cnegocCobr":"38610041000" - aqui estava correto se fosse na consulta e baixa do boleto.Para registro do boleto "cnegocCobr":"386100000000041000" Tamanho = 18
Para consulta de baixa de boleto "cnegocCobr":"38610041000" Tamanho = 11
20 minutos atrás, Victor H. Gonzales - Panda disse:ACBrBoletoW_Bradesco.pas 33.61 kB · 1 download
veja se está correto!
a credencial está para homologação e para o endpoint hibrido?
@HelioNeto só uma observação, você já conseguiu registrar boleto em homologação com essas credenciais pelo postman? ou por outro meio?
Porque talves seja problema nas suas credenciais sem permissão para consumir API de cobrança hibrida.
-
13 minutos atrás, Victor H. Gonzales - Panda disse:
o tamanho conta não está ficando sempre com 7 digitos nos seus testes ?
0000001 ?
Mais você está nã entendo, nessa campo cnegocCob tem passar a agencia e conta normal sem acrescentar zero a esquerda na conta, o zero tem ser no meio, agencia + zero + conta = 18 digitos.
-
@Victor H. Gonzales - Panda Boa tarde, hoje fomos ativar um cliente Bradesco em produção e vimos que essa formatação aqui precisa ser dinâmica e não fixa.
LJsonObject.AddPair('cnegocCobr', FormatarAgenciaContaBradesco(Boleto.Cedente.Agencia, Boleto.Cedente.Conta));
Não pode ser passada assim como está abaixo
LJsonObject.AddPair('cnegocCobr', Boleto.Cedente.Agencia+'0000000'+Boleto.Cedente.Conta);
Ai eu crei essa função FormatarAgenciaContaBradesco e FormatarAgenciaContaBradescoBaixaConsulta
porque 2 funções?
porque na consulta e baixa a formataçao do zero no meio é diferente da geração do boleto.
E por ultimo a unt que está no SVN está faltando o campo ptxJuroVcto quando taxa de juros é mensal...ai acrescentei ela também
Vou anexar a unt que alterei...acho que é só isso e está pronto....ai é pessoal ir testando e postando aqui no forum ou no discord.
Obs: no ambiente de homologação está apresentando esse erro aleatório.
{"statusHttp":400,"errorMessage":"Erro na comunicação CICS X IMS via APPC"}
Mais isso já é problema no ambiente de homologação.
-
14 minutos atrás, HelioNeto disse:
@Victor H. Gonzales - Panda Está gerando o Token corretamente, agora ocorre o erro 403 - Forbidden Em homologação
Conforme Log:
09/12/24 11:21:29:605 - Retorno Envio: TBoletoW_Bradesco 09/12/24 11:21:29:605 - Código do Envio: 403 1.1 Forbidden 09/12/24 11:21:29:606 - Retorno Envio: Result={"registrarTitulo":"1","codUsuario":"APISERVIC","nroCpfCnpjBenef":"68542653","filCpfCnpjBenef":"1018","digCpfCnpjBenef":"38","tipoAcesso":"2","cpssoaJuridContr":"2337627","ctpoContrNegoc":"000","nseqContrNegoc":"2337627","cidtfdProdCobr":"09","cnegocCobr":"282200000000008442","codigoBanco":"237","filler":"","eNseqContrNegoc":"2337627","tipoRegistro":"001","cprodtServcOper":"00000000","ctitloCobrCdent":"99888766483","ctitloCliCdent":"0000000001","demisTitloCobr":"09.12.2024","dvctoTitloCobr":"09.01.2025","cidtfdTpoVcto":"0","cindcdEconmMoeda":"00006","vnmnalTitloCobr":10000,"qmoedaNegocTitlo":"0","cespceTitloCobr":"02","cindcdAceitSacdo":"N","ctpoProteTitlo":"0","ctpoPrzProte":"0","ctpoProteDecurs":"0","ctpoPrzDecurs":"0","cctrlPartcTitlo":"0","cformaEmisPplta":"02","cindcdPgtoParcial":"N","qtdePgtoParcial":"000","filler1":"","ptxJuroVcto":0,"vdiaJuroMora":0,"qdiaInicJuro":0,"pmultaAplicVcto":0,"vmultaAtrsoPgto":0,"qdiaInicMulta":0,"pdescBonifPgto01":0,"vdescBonifPgto01":0,"dlimDescBonif1":"","pdescBonifPgto02":0,"vdescBonifPgto02":0,"dlimDescBonif2":"","pdescBonifPgto03":0,"vdescBonifPgto03":0,"dlimDescBonif3":"","ctpoPrzCobr":"1","pdescBonifPgto":"0","vdescBonifPgto":"0","dlimBonifPgto":"","vabtmtTitloCobr":"0","viofPgtoTitlo":"0","filler2":"","isacdoTitloCobr":"CLIENTE DE TESTES","elogdrSacdoTitlo":"Rua dos clientes","enroLogdrSacdo":"100","ecomplLogdrSacdo":"","ccepSacdoTitlo":"18270","ccomplCepSacdo":"000","ebairoLogdrSacdo":"Centro","imunSacdoTitlo":"Tatui","csglUfSacdo":"SP","indCpfCnpjSacdo":"1","nroCpfCnpjSacdo":"67638780876","renderEletrSacdo":"","cdddFoneSacdo":"","cfoneSacdoTitlo":"","bancoDeb":"0","agenciaDeb":"0","agenciaDebDv":"0","contaDeb":"0","bancoCentProt":"0","agenciaDvCentPr":"0","isacdrAvalsTitlo":"","nroCpfCnpjSacdr":"","ccepSacdrTitlo":"","ccomplCepSacdr":"","elogdrSacdrAvals":"","enroLogdrSacdr":"","ecomplLogdrSacdr":"","ebairoLogdrSacdr":"","imunSacdrAvals":"","csglUfSacdr":"","indCpfCnpjSacdr":"1","renderEletrSacdr":"","cdddFoneSacdr":"","cfoneSacdrTitlo":"","filler3":"","fase":"1","cindcdCobrMisto":"S","ialiasAdsaoCta":"","iconcPgtoSpi":"","caliasAdsaoCta":"","ilinkGeracQrcd":"","wqrcdPdraoMercd":"","validadeAposVencimento":"","filler4":""} 09/12/24 11:21:29:606 - Cookies: 09/12/24 11:21:29:606 - b379869d074ff4de926886d8fcd3aa1e=83782428a60fd841c7c84fdb45315353 TS015ebd97=0129547d57dc3837e01ca9caf51d7cde09b6967f9e6c699d80ec5946478c211f0d2432b86c310cb70a67506582baf45cc6abd7301d 09/12/24 11:21:29:606 - 09/12/24 11:21:29:607 - 09/12/24 11:21:29:607 - Header: 09/12/24 11:21:29:607 - HTTP/1.1 403 Forbidden x-rate-limit: [{"window":0,"type":"throttle","remaining":499}] max-forwards: 20 via: 1.1 traffic-75ff7f498b-q6cxj (Gateway) x-correlationid: Id-6a0c5767b04901003e8375f8 0; Id-6a0c57678216f82d08c2baaa 0 date: Mon, 09 Dec 2024 15:27:38 GMT content-type: application/json Transfer-Encoding: chunked
Observaçõa, nesse Payload já fiz os Ajustes que o @Jhonlenon Ribeiro explicou que campos com Inteiro deve ir String.
@HelioNeto seu problema está nós dados do json....o CNPJ em homologação está correto, mais agencia e conta não....para homologação usar esses dados....
Utilizar para homologação:
CNPJ: 68.542.653/1018-38
Carteira: 09
Agência: 3861
Conta: 41000Esses campos informe com zero conforme o manual orienta
"cpssoaJuridContr": 0
"ctpoContrNegoc": 0
"nseqContrNegoc":0 -
@Victor H. Gonzales - Panda Bom dia, testei um boletos em produção com juros e multa em percentual vencido e o valor saiu errado, observe que na unt que está no SVN está faltando o campo ptxJuroVcto na parte onde gera a juros em percentual. Tanto a multa e juros em percentual tem que passar com 5 casas decimais, por exemplo: 2% = 2.00000 como mostra o print em anexo.
Fazendo esse ajuste na unt ACBrBoletoW_Bradesco....fica 100% o Bradesco.
-
@Victor H. Gonzales - Panda Boa noite...fiz uns testes agora e quase ficou 100%....o detalhe agora está no juros e multa em percentual que você aplicou a mesma regra do valor.
AJsonObject.AddPair('ptxJuroVcto', aTitulo.ValorMoraJuros*100); aqui o juros em percentual fica errado
AJsonObject.AddPair('pmultaAplicVcto', aTitulo.PercentualMulta*100);aqui a multa também fica errada
Essa campo ptxJuroVcto estava faltando no json, no meu aqui também tava faltando ai fui olhar o manual.
Os resto está OK. vou anexar o print do juros e multa em percentual.
-
11 minutos atrás, Victor H. Gonzales - Panda disse:
Bom dia,
Vou fazer o merge e verificar as alterações aqui...
referente ao cnegocCobr é parametrização do código da agencia e conta, isso não é erro de formação do json.
o cnpj 68542653101838 tambem acredito que deixarei passando como parametro, e não hardcoded, atualmente está hardcoded para testes.
agora referente ao vnmnalTitloCobr pelo o que vi na documentação, temos que multiplicar por 100 o valor apenas e entregar em valor numerico.
Preencher no formato: 10000 (título no valor de R$100,00). Se moeda indexada, preencher no formato
Dessa forma que vc falou dá certo...basta informar o CNPJ de homologação e o agencia + conta igual faz em produção. Quando alterar a unit anexa aqui novamente pra gente testar. Aqui eu posso testar em homologação e produção.
-
@Victor H. Gonzales - Panda Bom dia, ajustei sua unit ACBrBoletoW_Bradesco na parte do json...agora ficou registrando o boleto em homologação e produção usando o mesmo json. O Bradesco confundi muito agente com esse manual, mais pelo que testei aqui são apenas esses 4 campos que são fixo no json de homologação.
"nroCpfCnpjBenef":"68542653",
"filCpfCnpjBenef":"1018",
"digCpfCnpjBenef":"38",
"cnegocCobr":386100000000041000,O restante dos campos segue o manual. Agora um detalhe que me chamou atenção foi isso. No manual manda eu passar um valor numérico no campo vnmnalTitloCobr mais por exemplo vou gerar um boleto com valor 5.10 reais, no json de registro fica normal, vai 5.10...mais na hora de pagar o boleto aparece é 0.50 no valor ou seja fica errado o valor, então fiz um teste assim
LJsonObject.AddPair('vnmnalTitloCobr', OnlyNumber(TransFormaRealEmString(aTitulo.ValorDocumento))); ai no json ficou assim "vnmnalTitloCobr" : "510" ai na hora de pagar ficou certo, era bom fazer mais testes em produção. Já corrigi a unt ACBrBoletoRet_Bradesco e está OK, também ajustei a consulta e baixa do boleto e ficou funcionando em produção. Vou anexar as 2 unit pra você testar ai.
-
8 horas atrás, Jhonlenon Ribeiro disse:
@Victor H. Gonzales - Panda Boa noite...esses 3 campos ai são diferentes em homologação e produção.
Em homologação
"cpssoaJuridContr":"2337627"
"ctpoContrNegoc":"000"
"nseqContrNegoc":"2337627"
Em Produção
"cpssoaJuridContr":"0"
"ctpoContrNegoc":"0"
"nseqContrNegoc":"0"
Outro detalhe, por exemplo no manual manda eu passar esse campo assim "registrarTitulo": 1 ai dá erro....porque estou passando numérico igual manda o manual, ai eu passo assim "registrarTitulo":"1" e dá certo. Isso são varios campos. Eu nunca entendi essa forma diferente de validação de campos do Bradesco, quandi fiz aqui na empresa à 8 meses atrás quebrei muito a cabeça com isso. Você pode até usar o mesmo json em homologação e produção, mais vai ter que parametrizar muitos campos. Eu consegui registrar o boleto em homologação com sucesso usando sua unit fixando esse json em anexo...fixa ele nessa parte como mostra o print. Caso apareça o erro TITULO JÁ CADASTRADO ai é só alterar o nosso numero (ctitloCobrCdent).
Hoje fiz uns testes e meu comentário estava errado sobre o json. Forma correta abaixo
Em homologação
"cpssoaJuridContr":"0"
"ctpoContrNegoc":"0"
"nseqContrNegoc":"0"
Em Produção
"cpssoaJuridContr":"0"
"ctpoContrNegoc":"0"
"nseqContrNegoc":"0"
Vamos seguir o manual mesmo, parece que essa questão do json de homologação foi só no inicio.
-
@Victor H. Gonzales - Panda Boa noite...esses 3 campos ai são diferentes em homologação e produção.
Em homologação
"cpssoaJuridContr":"2337627"
"ctpoContrNegoc":"000"
"nseqContrNegoc":"2337627"
Em Produção
"cpssoaJuridContr":"0"
"ctpoContrNegoc":"0"
"nseqContrNegoc":"0"
Outro detalhe, por exemplo no manual manda eu passar esse campo assim "registrarTitulo": 1 ai dá erro....porque estou passando numérico igual manda o manual, ai eu passo assim "registrarTitulo":"1" e dá certo. Isso são varios campos. Eu nunca entendi essa forma diferente de validação de campos do Bradesco, quandi fiz aqui na empresa à 8 meses atrás quebrei muito a cabeça com isso. Você pode até usar o mesmo json em homologação e produção, mais vai ter que parametrizar muitos campos. Eu consegui registrar o boleto em homologação com sucesso usando sua unit fixando esse json em anexo...fixa ele nessa parte como mostra o print. Caso apareça o erro TITULO JÁ CADASTRADO ai é só alterar o nosso numero (ctitloCobrCdent).
Erro não catalogado na emissão de NFS-e Padrão Nacional em Ambiente de Homologação
em ACBrNFSe
Postado
Boa tarde @Italo Giurizzato Junior vi que em outro post....você tinha falado do ambiente em homologação da NFS-e do Padrão Nacional que estava com problema...será que arrumaram ou continua com bug?