Ir para conteúdo
  • Cadastre-se

jaidomini

Membros
  • Total de ítens

    60
  • Registro em

  • Última visita

Tudo que jaidomini postou

  1. Bom dia Como não tem o layout do Sofisa quando o parceiro é Itaú(hoje tem com o Santander), eu desenvolvi no padrão do ACBr. - Já ajustei TODOS os códigos de rejeições conforme layout - Para imprimir o boleto, eles pedem para seguir o manual do Itaú, então é só falar que é Itaú que o boleto imprime certinho Boleto.Banco.TipoCobranca := cobItau - Utilizam carteira 109 - Na conta corrente e codigo cedente e convenio, tem que colocar o código do cedente que eles passam, nunca a conta corrente. - O codigo da empresa no banco, utilizei do campo CodigoTransmissao pois ele é parecido com o codigo de transmissao que o Santander utiliza. Ex deste codigo: "000000099999CVE341" Alterações em em ACBrBoleto.pas 1) TACBrTipoCobranca = acrescentar: cobBancoSofisaItau 2) ACBrBancoSofisaItau no uses 3) function GetTipoCobranca 637: begin if StrToInt(Carteira) = 109 then Result := cobBancoSofisaItau else Result := cobBancoSofisaSantander; end; 4) SetTipoCobranca cobBancoSofisaItau : fBancoClass := TACBrBancoSofisaItau.Create(Self); {637} Obrigado Jaisson LayoutSofisa.zip ACBrBancoSofisaItau.pas
  2. Verdade, tem no header do lote também, mas o ACBR já faz aquilo que comentei, deixa em branco Então também resolveria deixando DigitoVerificadorAgenciaConta := '0' Porque no lote o acbr já segue o manual. Realmente, o pessoa que elaborou o manual deixou 2 regras para o mesmo campo. Abraço.
  3. Bom Dia. Link para envio de arquivo para validar https://www.sicoob.com.br/web/sicoob/validador-cnab Link do arquivo em XLS do layout (quer está de acordo com o link) https://www.sicoob.com.br/documents/3068856/0/layout-cnab-240.xls/5bfadf52-4278-3d28-0b69-b09b467aad45?t=1614120550911 Eu entendo o que o Antonio comentou, porém se no manual fala que tem que vir assim, já era melhor deixar fixo para não ficar gerando tópicos de dúvidas aqui e ajudar os próximos a não passar um tempo analisando, e o tempo que eu usei pra fazer isso já seja útil para o próximo. O layout da forma que está, para quem já passou pela homologação funciona, porém, para quem vai começar a emitir e precisa passar pela homologação, não passa. layout-cnab-240.xls ACBrBancoBancoob.pas
  4. Boa Tarde Apesar do layout já funcionar em alguns clientes em produção, novos clientes não passam pela homologação no validador por causa de 2 campos que estão exigindo conteúdo em branco em um e zero no outro, fiz a alteração da unit e passou 100% pelo validador, o manual também pede isso. unit ACBrBancoBancoob; GerarRegistroHeader240 Antes (Linha) PadRight(Convenio, 20, ' ') + // 33 a 52 - Brancos - Alteração para passar no validador Depois space(20 ) + // 33 a 52 - Brancos - Alteração para passar no validador Antes (Linha) PadRight(DigitoVerificadorAgenciaConta, 1, ' ')+ // 72 - Dígito verificador Ag/Conta (zero) Depois '0' + // 72 - Dígito verificador Ag/Conta (zero) Att Jaisson
  5. Eu fiz isso no meu software, porém deixei a sugestão porque outros terão o problema. Att Jaisson
  6. Bom dia, unit ACBrBoleto procedure AdicionarMensagensPadroes Quase no final da procedure, adicionei 2 linhas, logo após o código da DataLimitePagto. if DataLimitePagto <> 0 then begin if DataLimitePagto > Vencimento then AStringList.Add(ACBrStr('Não Receber após ' + IntToStr(DaysBetween(Vencimento, DataLimitePagto))+ ' dias')) else AStringList.Add(ACBrStr('Não Receber após o Vencimento')); end; if Banco.TipoCobranca = cobSicred then AStringList.Text := TiraAcentos(AStringList.Text); Obrigado Jaisson
  7. Resolvido, anteriormente não estava gerando este arquivo na pasta "Notas" com a alteração de que vc passou o arquivo está lá agora. E também foi possível pegar o XML da NFSe de ACBrNFSeX1.NotasFiscais.Items[ i ].XmlNfse Tudo certo.
  8. Boa tarde, no arquivo do centi.Provider que fiz o upload já tinha consegui consultar, eu tinha corrigido o consultar da mesma forma que vc tinha corrigido o gerar para outra pessoa, com a alteração que vc pediu também deu certo a consulta, porém em ambas as situação tenho que "extrair" a NFSe do XML para visualizar na DANFE, conforme código abaixo. if Pos('<ListaNfse>', ACBrNFSeX1.WebService.ConsultaNFSeporRps.XmlRetorno) > 0 then xmlDaNFSE := Copy(ACBrNFSeX1.WebService.ConsultaNFSeporRps.XmlRetorno, Pos('<Nfse>', ACBrNFSeX1.WebService.ConsultaNFSeporRps.XmlRetorno), Pos('</Nfse>', ACBrNFSeX1.WebService.ConsultaNFSeporRps.XmlRetorno) + 7{<Nfse>} - Pos('<Nfse>', ACBrNFSeX1.WebService.ConsultaNFSeporRps.XmlRetorno)) else xmlDaNFSE := ACBrNFSeX1.WebService.ConsultaNFSeporRps.XmlRetorno;
  9. Alterei e testei, veja os novos arquivo 17NFS-comp-nfse.xml 17NFS-comp-nfse-soap.xml 17NFS-con-nfse-rps.xml 17NFS-con-nfse-rps-soap.xml
  10. No primeiro post eu anexei os XML's com erro, os xml que deram sucesso no retorno não tenho, estão no cliente. Se precisar eu entro em contato com ele e pego, precisa os que tiveram sucesso ou que tiveram erro(com erro estão no primeiro post)?
  11. @Italo Giurizzato Junior, consegui resolver, emissão e consultar por RPS. O cancelamento não testei, mas segui o mesmo raciocínio que foi a correção que você fez para gerar a NFSe. Agora uma coisa importante, quando ele faz o consulta, o xml que vem no XMLRetorno vem com aquela tag <ListaNfse> isso acaba impedindo de visualizar a NFSe, fiz um código simples para extrair apenas o XML da NFSe e consegui imprimir a DANFE if Pos('<ListaNfse>', ACBrNFSeX1.WebService.ConsultaNFSeporRps.XmlRetorno) > 0 then xmlDaNFSE := Copy(ACBrNFSeX1.WebService.ConsultaNFSeporRps.XmlRetorno, Pos('<Nfse>', ACBrNFSeX1.WebService.ConsultaNFSeporRps.XmlRetorno), Pos('</Nfse>', ACBrNFSeX1.WebService.ConsultaNFSeporRps.XmlRetorno) + 7{<Nfse>} - Pos('<Nfse>', ACBrNFSeX1.WebService.ConsultaNFSeporRps.XmlRetorno)) else xmlDaNFSE := ACBrNFSeX1.WebService.ConsultaNFSeporRps.XmlRetorno; Segue contribuição em anexo. Centi.Provider.pas
  12. @Italo Giurizzato Junior Italo, td bem? Vi que neste post estava o mesmo erro no gerar, e vc resolveu, já dei uma vasculhada no fonte, debuguei mas nao encontrei... agora está no consultar por rps
  13. Bom dia. A cidade de Neropolis trocou do Sigep para o Centi, atualizei o ini e o .res com as informações abaixo e consegui transmitir, porém a consulta do RPS está dando o erro citado no Título. ACBrNFSeX - Atualizado ontem 09/03/22 Nome=Neropolis UF=GO Provedor=Centi Versao=2.02 ProRecepcionar=https://api.centi.com.br/nfe/gerar/go/neropolis ProConsultarNFSeRps=https://api.centi.com.br/nfe/consultar/rps/go/neropolis ProCancelarNFSe=https://api.centi.com.br/nfe/cancelar/go/neropolis ProGerarNFSe=https://api.centi.com.br/nfe/gerar/go/neropolis ; HomRecepcionar=https://api.centi.com.br/nfe/gerar/homologacao/go/neropolis HomConsultarNFSeRps=https://api.centi.com.br/nfe/consultar/homologacao/rps/go/neropolis HomCancelarNFSe=https://api.centi.com.br/nfe/cancelar/homologacao/go/neropolis HomGerarNFSe=https://api.centi.com.br/nfe/gerar/homologacao/go/neropolis ; ProLinkURL=https://api.centi.dev.br/portal/nfse/go/neropolis/%CodVerif% HomLinkURL=https://api.centi.dev.br/portal/nfse/go/neropolis/%CodVerif% Anexei os arquivos envolvidos na consulta Obrigado. 17NFS-comp-nfse.xml 17NFS-comp-nfse-soap.xml 17NFS-con-nfse-rps.xml 17NFS-con-nfse-rps-soap.xml
  14. Americana suspendeu o SmarAPD, está usando o TIPLAN que por sinal funciona muito bem aqui! Minha propria empresa emite via ACBr. Utilizo: ACBrNFSe1.NotasFiscais.GerarNFSe; Depois: ACBrNFSe1.Enviar(Numero do Lote, False); Lembrando que o que p Italo disse, vamos ter que atualizar para o ACBRNFSEX
  15. [5214507] Nome=Neropolis UF=GO Provedor=Sigep NomeURL_H=gestaopublica.neropolis NomeURL_P=gestaopublica.neropolis Atenciosamente Jaisson Cruz Me desculpem, não vi que tinha um tópico para isso, algum moderador, mover para o conversa certa ou excluir o post.
  16. Daniel, até Dezembro/17 eu utilizava os fontes antes desta alteração sem problemas com o Gmail/Hotmail, depois que atualizei notei que em "procedure TACBrMail.SendMail;" a linha if fSMTP.Login and fSMTP.AuthDone then foi alterada para if fSMTP.Login then Em outros smtps, estes com hospedagem cPanel, funciona normal, só que com gmail ou hotmail não vai... Eu fiz um teste alterando e compilando com a linha abaixo if fSMTP.Login and fSMTP.AuthDone then E o envio voltou a funcionar normalmente, veja aí se faz sentido o que relatei. Obrigado Jaisson
  17. Eu fiz faz uns 4 dias, em XE2, coloca no uses: IdHTTP e IdSSLOpenSSL function RecWslerCampo(Texto: TStringList; NomeCampo: String ): String; var i : integer; linha: String; begin NomeCampo := Trim(NomeCampo) + '='; Result := ''; for i := 0 to Texto.Count-1 do begin linha := Trim(Texto); if Copy(linha,1,Length(NomeCampo)) = NomeCampo then begin Result := Copy(linha, Length(NomeCampo)+1, Length(linha)); break; end; end end; var IdHTTP1: TIdHTTP; IdSSLIOHandlerSocketOpenSSL1: TIdSSLIOHandlerSocketOpenSSL; sResposta: TStringList; begin try IdHTTP1:= TIdHTTP.Create(self); IdSSLIOHandlerSocketOpenSSL1:= TIdSSLIOHandlerSocketOpenSSL.Create(Self); IdHTTP1.IOHandler := IdSSLIOHandlerSocketOpenSSL1; IdHTTP1.ReadTimeout := 5000; sResposta := TStringList.Create; sResposta.Text := IdHTTP1.Get( 'https://www.receitaws.com.br/v1/cnpj/XXXXXXXXXXXXXX', ' ','%20')); sResposta.Text := TrocaTexto(sResposta.Text,'": ','='); sResposta.Text := TrocaTexto(sResposta.Text,'",',''); sResposta.Text := TrocaTexto(sResposta.Text,'"',''); finally IdSSLIOHandlerSocketOpenSSL1.Free; IdHTTP1.Free; FechaAguarda; end; if Pos('nome=', sResposta.Text) > -1 then begin if RecWslerCampo(sResposta, 'situacao') <> 'ATIVA' then ShowMessage('Atenção, SITUAÇÃO está: ' + RecWslerCampo(sResposta, 'situacao')); razao_social := RecWslerCampo(sResposta, 'nome'); fantasia := RecWslerCampo(sResposta,'fantasia'); .... e assim por diante... end; end;
  18. Eu fiz semana passa isso que você sugeriu, deu tudo certo, mas o problema foi o reCaptcha pedindo intermináveis verificações de placas e carros após clicar em Não sou robô. Eu até consegui resolver os problemas de script do TWebbrowser, rodando em compatibilidade do IE instalado, mas este reCaptcha parece que sabe que o browser está rodando dentro de um sistema, então ele pensa que é algum bot....
  19. Hoje o dia todo não funcionou, até via browser estava instavel. Acabei de testar com a correção para o link http://www.receita.fazenda.gov.br/pessoajuridica/cnpj/cnpjreva/cnpjreva_solicitacao3.asp está funcionando 100%.
  20. Percebi que o atual, tem como passar o CNPJ direto http://www.receita.fazenda.gov.br/pessoajuridica/cnpj/cnpjreva/Cnpjreva_Solicitacao2.asp?cnpj=XXXXXXXXXXXXXX Agora tem como lidar internamente com este novo captcha para o usuario clicar no "Eu Nao Sou Robo" Estou tentando, se descobrir coloco aqui
  21. Isso mesmo, porque o dia que o Bradesco corrigir o receptor de arquivos, ele irá numerar, o único problema é que o ACBr, mesmo informando o nosso numero, ele zera no codigo: if (ACBrBoleto.Cedente.ResponEmissao = tbBancoEmite) then Att Jaisson
  22. Apesar de no manual dizer que permite duas maneiras(numerar o nosso numero ou esperar que o banco numera enviando Zeros), apenas quando o cliente numera é que funciona, do contrario vem no arquivo de retorno falando que o nosso número é inválido. Att Jaisson Respondendo mais precisamente sobre regras, depende do contrato com o banco, o Bradesco usa a mesma carteira 9 para o cliente emitir ou o banco. No acbr teria que comentar o código abaixo, pois o sistema do bradesco não está repeitando manual quando envia Zeros, dando o retorno nosso numero invalido: if (ACBrBoleto.Cedente.ResponEmissao = tbBancoEmite) then begin ANossoNumero := StringOfChar('0', wTamNossoNum); DigitoNossoNumero := '0'; end else
  23. Sempre configurei o Bradesco sem erros há anos na carteira 9, sempre com o cliente emitindo o boleto, agora tive um problema com um cliente onde ele envia a remessa mas o banco é quem envia o boleto. Eu coloco a opção abaixo deixando o nosso numero com zeros, como manda o manual mas banco retorna erro falando que o nosso numero está invalido. AcbrBoleto1.Cedente.ResponEmissao := tbBancoEmite; O Acbr sabiamente zera o nosso numero ao setar esta opção(tbBancoEmite), na procedure TACBrBancoBradesco.GerarRegistroTransacao400 ANossoNumero := ACBrTitulo.NossoNumero; wTamNossoNum := CalcularTamMaximoNossoNumero(ACBrTitulo.Carteira, ACBrTitulo.NossoNumero); if (ACBrBoleto.Cedente.ResponEmissao = tbBancoEmite) then begin ANossoNumero := StringOfChar('0', wTamNossoNum); DigitoNossoNumero := '0'; end else begin ANossoNumero := ACBrTitulo.NossoNumero; DigitoNossoNumero := CalcularDigitoVerificador(ACBrTitulo); end; Eu tive que comentar o texto em negrito para funcionar, estando com a opção tbBancoEmite e Preenchendo o Nosso Numero, dessa forma o banco validou OK o arquivo, porque no manual também fala que quando o banco emite, o cedente também pode numerar. Então, fica minha dúvida aqui para ver se aconteceu com mais pessoas para registro e envio do banco, se sim, para alterar na base do Acbr.
  24. Tive problema em 2 clientes também, sempre com Cartão Certising Cinza com o Gerenciador Criptografico Oberthur. O cliente usava no Windows XP há uns 8 meses, ao comprar um computador novo com Windows 10, em menos de 15 dias o certificado foi excluído do cartão, em contato com a Certising deram um voucher, veio outro cartão Cinza e não durou nem 10 dias, de novo foi excluído. O outro cliente, usava Windows 10 e não durou 3 dias. Estes clientes trocaram por A1 e não tiveram mais problema. Ao menos comigo, a conclusão que Cheguei foi a combinação: Cartão Cinza da Certising Windows 10 Oberthur AcbrNFe (Nao uso o monitor)
×
×
  • 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.