Ir para conteúdo
  • Cadastre-se

jaidomini

Membros
  • Total de ítens

    70
  • Registro em

  • Última visita

Tudo que jaidomini postou

  1. jaidomini

    Banco Sofisa Itau

    Bom dia, Eu fiz o desenvolvimento completo do Banco Sofisa Itau como contribuição para o ACBr e mandei a unit para vocês colocarem no SVN, porém atualizei o ACBR semana passada deu problema no cliente que usa este CNAB, na remessa e retorno. Olhei a unit, e não esta igual a minha, faltando centenas de linhas de codigo, vou anexar novamente ai vcs colocam no lugar da que esta hoje, porque a minha esta validada e homologada corretamente, inclusive com TODOS os codigos de ocorrâncias tratadas. Para se ter ideia, a unit ACBrBancoSofisaItau.pas do SVN esta com 33KB a minha tem 43KB Obrigado Jaisson ACBrBancoSofisaItau.pas
  2. Faltou a unit IPM.Provider.pas Incluir o override no final das 2 funções para que funcione o "virtual" IPM.Provider.pas
  3. Segue arquivo alterado. Linha 295 e 296 incluído "virtual" no final da linha. ACBrNFSeXProviderBase.pas
  4. Acabei de fazer o teste, era isso mesmo, faltou o "virtual" para chamar a função "CondicaoPagToStr" da unit "IPM.Provider.pas"
  5. Bom dia Teve uma alteração na unit IPM.GravarXML.pas na função GerarFormaPagamento. Vi que se trata de organização do código fonte, porém a função FpAOwner.CondicaoPagToStr está buscando na unit ACBrNFSeXProviderBase.pas e não na própria unit IPM.GravarXML.pas Dessa forma a opção cpAPrazo está vindo com o valor 3 e não o valor 2, dessa forma não consegue transmitir a NFSe Obrigado Jaisson
  6. Olá, a prefeitura de Conselheiro Lafayete atualizou para a versão 2.02, faz algum tempo já, fiz a alteração no ini, compilei com o arquivo "Compila_RES.BAT" para atualizar gerar o rc/res, deste forma consegui transmitir NFSe. Nome=Conselheiro Lafaiete UF=MG Provedor=Betha Versao=2.02 ProRecepcionar=http://e-gov.betha.com.br/e-nota-contribuinte-ws/nfseWS HomRecepcionar=http://e-gov.betha.com.br/e-nota-contribuinte-test-ws/nfseWS Obrigado. Jaisson
  7. Esta função faz o ajuste automático da largura da coluna em até 100px, quando chega a 100 é inserido espaço em branco a cada 19 caractres para que o fortes faça a quebra com o WordWrap. Antes de chamar a função imprimir do ACBRNFe, chame esta procedure DanfeFortesAjustaQuebraLinha. Atenção, depois que chamar esta procedure não exporte xml, pois a Tag cProd foi modificada. Att Jaisson procedure DanfeFortesAjustaQuebraLinha; var i, iNota: Integer; begin if ACBrNFe1.DANFE=DanfeFortes1 then if DanfeFortes1.TipoDANFE = tiRetrato then begin DanfeFortes1.LarguraCodProd := 61; if ACBrNFe1.NotasFiscais.Count>0 then for iNota := 0 to ACBrNFe1.NotasFiscais.Count-1 do for i := 0 to ACBrNFe1.NotasFiscais.Items[iNota].NFe.Det.Count-1 do begin if Length(ACBrNFe1.NotasFiscais.Items[iNota].NFe.Det.Items[i].Prod.cProd) > 11 then if (DanfeFortes1.LarguraCodProd < (Length(ACBrNFe1.NotasFiscais.Items[iNota].NFe.Det.Items[i].Prod.cProd)-11) * 5.3 + 61) then begin DanfeFortes1.LarguraCodProd := Trunc((Length(ACBrNFe1.NotasFiscais.Items[iNota].NFe.Det.Items[i].Prod.cProd)-11) * 5.3 + 61); if DanfeFortes1.LarguraCodProd > 100 then begin DanfeFortes1.LarguraCodProd := 100; ACBrNFe1.NotasFiscais.Items[iNota].NFe.Det.Items[i].Prod.cProd := Copy(ACBrNFe1.NotasFiscais.Items[iNota].NFe.Det.Items[i].Prod.cProd,1,19) + ' '+ Copy(ACBrNFe1.NotasFiscais.Items[iNota].NFe.Det.Items[i].Prod.cProd,20,19) + ' '+ Copy(ACBrNFe1.NotasFiscais.Items[iNota].NFe.Det.Items[i].Prod.cProd,39,19) + ' '+ Copy(ACBrNFe1.NotasFiscais.Items[iNota].NFe.Det.Items[i].Prod.cProd,58,19); //tem no max 60 carac o codigo end; end; end; end; end;
  8. Boa Tarde. Não sei exatamente o que vc fez na parte de retorno, mas pra mim funciona o retorno pefeitamente. Antes de realizar o retorno, faça isso ACBrBoleto1.Banco.TipoCobranca := cobBancoSofisaItau Dessa forma a unit que vai fazer a leitura do retorno é a ACBrBancoSofisaItau.pas Vi que vc anexou ACBrBancoItau.pas sendo que a leitura do Banco Sofisa itaú é feita pela unit ACBrBancoSofisaItau.pas
  9. Boa tarde, por nada! Obrigado a vcs também que fazem um esforço enorme! Eu passei onde modifiquei, porque não está 100% atualizado com as últimas modificações do SVN, de qualquer maneira segue anexo. Por isso que passei os pontos em que foram ajustados, que foram poucos. ACBrBoleto.pas
  10. Bom dia Já configurei várias vezes Sicredi, e a agência é sempre com 4 casas e o dígito da agência, no caso o posto com 2 casas. DigitoVerificadorAgenciaConta não preencho. Sobre o nosso numero, eu passo um código que crio para cada boleto e o Acbr se encarrega de formatar ele, exemplo: 5775
  11. 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
  12. 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.
  13. 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
  14. 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
  15. Eu fiz isso no meu software, porém deixei a sugestão porque outros terão o problema. Att Jaisson
  16. 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
  17. 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.
  18. 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;
  19. 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
  20. Olá. Segue os arquivos, assim que pegar, se conseguir, delete daqui pfv. Abraço
  21. 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)?
  22. @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
  23. @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
  24. 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
  25. 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
×
×
  • 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.

The popup will be closed in 10 segundos...