-
Total de ítens
103 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que João Antônio postou
-
Melhoria no método de leitura de dados do certificado Pfx
João Antônio replied to João Antônio's tópico in ACBrNFSe
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 -
Melhoria no método de leitura de dados do certificado Pfx
João Antônio replied to João Antônio's tópico in ACBrNFSe
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. -
Melhoria no método de leitura de dados do certificado Pfx
um tópico no fórum postou João Antônio ACBrNFSe
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 ; -
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
-
Adição de novas cidades para emissão de NFSe
João Antônio replied to João Antônio's tópico in ACBrNFSe
Boa tarde Italo, tudo certo, parabéns pelo ótimo trabalho. -
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
-
ACBrNFSeX - Correção para ExtrairRetorno Xml provedor VersaTecnologia (Ubá-MG)
um tópico no fórum postou João Antônio ACBrNFSe
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 -
ACBRNFSeX - Ajustar aliquota par provedor MetropolisWeb (Lauro de Freitas-BA)
um tópico no fórum postou João Antônio ACBrNFSe
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 -
Codificação de caracteres inválida no retorno do webservice da prefeitura
um tópico no fórum postou João Antônio ACBrNFSe
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); -
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
-
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.
-
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
-
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
-
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
-
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.
-
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
-
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?
-
A cidade de Montes Claros - MG alterou o provedor para Pronimv2. Segue arquivos como os novos endereços do webservice. Cidades.ini Pronimv2.ini
-
Utilizando o método gerar para nfse itabuna. Erro ao validar o lote rps:
-
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?