Ir para conteúdo
  • Cadastre-se

João Antônio

Membros
  • Total de ítens

    103
  • Registro em

  • Última visita

Tudo que João Antônio postou

  1. Uso Delphi 10.4.2 Sydney compilando para Linux Ubuntu 20.04. Alterei a modificação que tinha feito BioToStr para continue lendo buffers de 1k e não gere a exceção de RangeCheck: function BioToStr(ABio : pBIO) : AnsiString ; Var RetTotal : Integer ; BufferLen: Integer; Lin : AnsiString ; begin Result := ''; RetTotal := BIO_ctrl(ABio, BIO_CTRL_PENDING, 0, nil); if RetTotal > 0 then begin BufferLen := 1024; while RetTotal > 0 do begin if RetTotal < BufferLen then BufferLen := RetTotal; SetLength(Lin, BufferLen); BioRead(ABio, Lin, BufferLen); Result := Result + Lin; Dec(RetTotal, BufferLen); end; end; end ; Segue anexo a unit alterada e um projeto teste que compila delphi win32,win64 e LInux64 ACBrDFeOpenSSL.pas OpenSSLACBr.zip
  2. O erro ocorre em Ret := BioRead( ABio, Lin, 1024); Esse método é chamado a primeira vez e lê os dados, sem erros. Nesse momentos os dados são lidos por completo, pois é menor que 1024. Prossegue-se o loop e ao chamar o metodo BioRead novamente ocorre o erro. Justamente por não há mais dados a serem lidos.
  3. Bom dia, Iniciei alguns testes com Delphi + Linux + ACBNFSeX. Verifiquei que ao carregar os dados do certificado digital .pfx no Linux causa erro ERangeError, quando Range checking está habilitado nas configurações do projeto (estranhamente que em ambiente windows mesmo com RangeChecking habilitado nao causa erro) Identifiquei onde o problema é causado e melhorei o método para evitar esse erro. Segue a unit modificada. Testado em Win32/Win64/Linux64 para carregamento de certificados A1. ACBrDFeOpenSSL.pas Método alterado: BioToStr function BioToStr(ABio : pBIO) : AnsiString ; Var Ret : Integer ; Lin : AnsiString ; begin Result := ''; Ret := BIO_ctrl(ABio, BIO_CTRL_PENDING, 0, nil); if Ret > 0 then begin SetLength(Lin, Ret); BioRead( ABio, Lin, Ret); Result := Lin; end; end ;
  4. Bom dia, para correta emissão de NFS-e para o provedor ISSNatal (Natal-RN) é necessário definir a configuração DivAliq100 := True; na unit ISSNatal.GravarXml Segue a unit modificada em anexo. ISSNatal.GravarXml.pas
  5. Boa tarde Italo, tudo certo, parabéns pelo ótimo trabalho.
  6. Boa tarde, segue duas novas cidades (Ibativa-ES e Iuna-ES) que usam o provedor EL para emitir NFSe: [3202454] Nome=Ibatiba UF=ES Provedor=EL ProRecepcionar=https://es-ibatiba-pm-nfs.cloud.el.com.br/RpsServiceService HomRecepcionar= ; ProLinkURL=https://es-ibatiba-pm-nfs.cloud.el.com.br/paginas/sistema/autenticacaoNota.jsf?cpfCnpj=%Cnpj%&chave=%CodVerif% HomLinkURL=https://es-ibatiba-pm-nfs.cloud.el.com.br/paginas/sistema/autenticacaoNota.jsf?cpfCnpj=%Cnpj%&chave=%CodVerif% [3203007] Nome=Iuna UF=ES Provedor=EL ProRecepcionar=https://es-iuna-pm-nfs.cloud.el.com.br/RpsServiceService HomRecepcionar= ; ProLinkURL=https://es-iuna-pm-nfs.cloud.el.com.br/paginas/sistema/autenticacaoNota.jsf?cpfCnpj=%Cnpj%&chave=%CodVerif% HomLinkURL=https://es-iuna-pm-nfs.cloud.el.com.br/paginas/sistema/autenticacaoNota.jsf?cpfCnpj=%Cnpj%&chave=%CodVerif% Essas cidades seguem o mesmo padrão das demais que usam o provedor EL, então bastou adicionar as url no ACBrNFSeXServicos.ini
  7. Ao extrair as mensagens de retorno para o provedor VersaTecnologia (Ubá-MG) o parser de xml levanta uma exeção de encoding inválido do xml: Erro de Conexão: Input is not proper UTF-8, indicate encoding ! Bytes: 0xE3 0x6F 0x20 0x61 Fiz uma modificação convertendo a string para UTF8 e passou a funcionar corretamente. Em anexo segue a unit alterada. VersaTecnologia.Provider.pas
  8. Boa tarde, Para a emissão de NFSe para a cidade de Lauro de Freitas-BA (provedor MetropolisWeb) é preciso que a aliquota seja enviada divida por 100. Para isso foi necessário ajustar a configuração do provedor. Segue em anexo a unit alteradaMetropolisWeb.GravarXml.pas
  9. Para o provedor Pronim versão 2 o retorno do content-type é text/xml;charset=utf-8. Os caracteres só são exibidos de forma correta quando uso UTF8ToNativeString Acredito que outros provedores com esse mesmo retorno deveriam funcionar também.
  10. Essa última alteração que fiz foi em cima da última modificação que você fez.
  11. Boa noite, Fiz alguns testes após o ajuste do charset. Fiz mais um ajuste na verificação do Content-Type do response para que funcione perfeitamente. Segue a unit em anexo. ACBrNFSeXWebserviceBase.pas
  12. Segue a unit alterada ACBrNFSeXWebserviceBase.pas
  13. Ao emitir uma nfse em webservices que retornam dados como utf8 (Content-type: text/xml; charset=utf-8) não está fazendo a conversão correta dos caracteres. Estou usando Delphi Sydney compilando para Windows64. Modifiquei o método TACBrNFSeXWebservice.Executar() da unit ACBrNFSeXWebserviceBase conforme a imagem abaixo e resolveu esse problema de codificação. HttpClient.Execute; HttpClient.DataResp.Position := 0; if ContainsText(HttpClient.HeaderResp.GetHeaderValue('Content-Type'), 'utf-8') then FPRetorno := UTF8ToNativeString(ReadStrFromStream(HttpClient.DataResp, HttpClient.DataResp.Size)) else FPRetorno := ReadStrFromStream(HttpClient.DataResp, HttpClient.DataResp.Size);
  14. A URL de emissão de NFSe para a cidade de Montes Claros-MG cód: 3143302 está errada no ACBrNFSeX. A URL correta é: ProRecepcionar=http://nota.montesclaros.mg.gov.br/nfse.portal.integracao/services.svc HomRecepcionar=http://notateste.montesclaros.mg.gov.brnfse.portal.integracao.teste/services.svc
  15. Já realizei os testes com o provedor Sintese usando o novo componente. Está funcionando corretamente. Já estou trabalhando no meu sistema para migrar para o ACBrNFSeX o mais rápido possível. Parabéns pelo ACBRNFSeX, ficou muito mais simples para dar manutenção e adicionar novas cidades/provedores.
  16. Bom dia, Como ainda não migrei para o ACBrNFSeX, adicionei o provedor Sintese no ACBrNFSe. Portanto o provedor Sintese está funcionando tanto no ACBrNFSe como no ACBrNFSeX Segue anexos os arquivos alterados. Cidades.ini pnfsConversao.pas pnfsNFSeW_ABRASFv2.pas Sintese.ini
  17. A url de produção da cidade é: https://bocaiuva.sintesetecnologia.com.br/nfsews/NfseWS?wsdl Os schemas estão em anexo nfse.xsd xmldsig-core-schema20020212.xsd
  18. Vou precisar gerar NFSe para a cidade Bocaiúva-MG, verifiquei que no ACBr não existe ainda essa cidade, nem mesmo o provedor para o sistema que é utilizado. Obtive algumas informações junto à prefeitura: - É utilizado o Sistema da Síntese Tecnologia (http://sistema.sintesetecnologia.com.br/NFEWeb/indexNFe.xhtml?Param=PMBocaiuva) - Segue o padrão Abrasf 2.04 - Url de homologação: http://homologacao.sintesetecnologia.com.br/nfsews/NfseWS?wsdl - Em anexo estão modelos de envio de RPS. Gostaria que me ajudassem indicando a melhor maneira de inserir esse novo provedor e cidade no ACBrNFSe. modelo_envio_gerar_nfse.xml xmlEnvio-homolog-autorizado.xml
  19. Parece que o problema era na prefeitura. Resolvi testar mais uma vez e agora estou conseguindo gerar para pessoa física e jurídica com as configurações atuais do ACBr (utilizando o método Gerar). Muito obrigado.
  20. O pessoal do provedor me enviou um modelo de RPS (anexo). Percebi que atualmente o rps de envio de lote sincrono do acbr está com algumas diferenças em relação a este. Seria caso de alterar alguma coisa no ini do provedor? RPS - MODELO - MOC.xml
  21. Estou tentando emitir NFSe para a cidade de Montes Claros-MG (provedor Pronimv2). O problema é que quando tento gerar a NFSe para o tomador que é pessoa Física, o webservice me retorna o erro E232 (Ocorreu um erro no processamento do arquivo. A sequencia nao contem elementos). Entretanto quando o tomador é pessoa jurídica a nota é gerada normalmente. Fiz testes tentando gerar duas notas idênticas, com apenas a diferença que uma inseri um cpf para o tomador e na outra inserir um cnpj. Fiz testes com os métodos gerar, enviar sincrono e assincrono, todos me retornam o mesmo erro. Alguém que já tenha passado por isso que possa me dar uma luz?
  22. A cidade de Montes Claros - MG alterou o provedor para Pronimv2. Segue arquivos como os novos endereços do webservice. Cidades.ini Pronimv2.ini
  23. Muito obrigado.
  24. Utilizando o método gerar para nfse itabuna. Erro ao validar o lote rps:
  25. Bom dia, ainda homologando a NFSe pra Itabuna, fiz um teste de geração usando o método gerar, entretanto gera falha ao validar do rps: "Element '{http://www.abrasf.org.br/nfse.xsd}LoteRps' is unexpected according to content model of parent element '{http://www.abrasf.org.br/nfse.xsd}GerarNfseEnvio'. Expecting: {http://www.abrasf.org.br/nfse.xsd}Rps." Para corrigir isso seria alguma configuração no .ini do provedor?
×
×
  • 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.