Ir para conteúdo
  • Cadastre-se

dev botao

Problemas com versão do ACBrLib


mar1975

Recommended Posts


Boa tarde,


Uso a DLL para emitir a Nota fiscal de Servico com o provedor GINFES, mas não estou tendo nenhum retorno quando uso  "NFSE_ObterDANFFSE. O que pode estar errado para não estar retornando nada? 

Com a versao do ACbrLib abaixo, funciona:

[Versao]
ACBrLib=0.0.2
ACBrLibNFE=0.4.6.248
ACBrLibSAT=0.2.4.250
ACBrLibCTe=0.3.5.213
ACBrLibNFSe=1.0.0.40

Com a versão abaixo não funciona:
[Versao]
ACBrLib=0.0.2
ACBRLibMail=0.1.8.305
ACBrLibNFE=0.4.6.261
ACBrLibSAT=0.2.4.259
ACBrLibCTe=0.3.5.222
ACBrLibNFSe=1.0.0.66

No log anexo nesta versão tem a mensagem : "Serviço não implementado pelo Provedor.". Pode em uma versão estar implementado e em outra não?


Obrigado.

Desculpa, esqueci o anexo.Log.txt

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia @mar1975,

O provedor Ginfes segue a versão 1 do layout da ABRASF.

Por favor leia o tópico a abaixo.

Quando aparece a mensagem: Serviço não implementado pelo Provedor, isso significa que você esta tentando usar um serviço que o provedor não implementou em seu webservice, logo não tem nada haver com a versão da Lib que você esta usando.

Um provedor que se utiliza da versão 1 ou 2 da ABRASF e que não implementou um determinado serviço que esta previsto no manual da ABRASF, pode no futuro vir a implementar, caso isso ocorra nós iremos fazer as devidas alterações para que você possa usar esse serviço.

Mas até hoje eu não vi isso ocorrer.

  • Curtir 1
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde @mar1975,

O método ObterDANFSE tem por finalidade baixar e salvar o DANFSE em PDF e foi implementando no componente para atender o Padrão Nacional que possui esse serviço.

Lembre-se que, a prefeitura da cidade contratou o provedor Ginfes, este segue a versão 1 do layout da ABRASF e segundo esse layout não existe nenhum serviço que baixa o PDF do DANFSE.

Nessa cidade temos prestadores de serviços que são MEI e os que não são MEI.

Os que são MEI você vai configurar a Lib para usar o layout do Padrão Nacional, neste caso o envio do RPS passa a ser unitário, ou seja, você só pode enviar um RPS por vez e já no retorno você já tem o XML da nota. 

No tópico que eu pedi para você ler, detalho todos os serviços disponibilizados pelo Padrão Nacional.

Por outro lado os prestadores que não são MEI, você vai configurar a Lib para usar o layout do Provedor que neste caso é o Ginfes.

Dependendo do layout adotado pelo provedor e dos serviços que ele implementou em seu webservice você vai poder usar ou não um determinado método.

Veja isso:

  TACBrNFSeXWebserviceGinfes = class(TACBrNFSeXWebserviceSoap11)
  private
    function GetNameSpace: string;
  public
    function Recepcionar(ACabecalho, AMSG: String): string; override;
    function ConsultarLote(ACabecalho, AMSG: String): string; override;
    function ConsultarSituacao(ACabecalho, AMSG: String): string; override;
    function ConsultarNFSePorRps(ACabecalho, AMSG: String): string; override;
    function ConsultarNFSe(ACabecalho, AMSG: String): string; override;
    function Cancelar(ACabecalho, AMSG: String): string; override;

    function TratarXmlRetornado(const aXML: string): string; override;

    property NameSpace: string read GetNameSpace;
  end;

As funções Recepcionar até Cancelar são os serviços implementados pelo provedor Ginfes em seu WebService.

  TACBrNFSeXWebserviceFiorilli200 = class(TACBrNFSeXWebserviceSoap11)
  private
    function GetDadosUsuario: string;
  public
    function Recepcionar(ACabecalho, AMSG: String): string; override;
    function RecepcionarSincrono(ACabecalho, AMSG: String): string; override;
    function GerarNFSe(ACabecalho, AMSG: String): string; override;
    function ConsultarLote(ACabecalho, AMSG: String): string; override;
    function ConsultarNFSePorRps(ACabecalho, AMSG: String): string; override;
    function ConsultarNFSePorFaixa(ACabecalho, AMSG: String): string; override;
    function ConsultarNFSeServicoPrestado(ACabecalho, AMSG: String): string; override;
    function ConsultarNFSeServicoTomado(ACabecalho, AMSG: String): string; override;
    function Cancelar(ACabecalho, AMSG: String): string; override;
    function SubstituirNFSe(ACabecalho, AMSG: String): string; override;

    function TratarXmlRetornado(const aXML: string): string; override;

    property DadosUsuario: string read GetDadosUsuario;
  end;

As funções Recepcionar até SubstituirNFSe são os serviços implementados pelo provedor Fiorilli que usa a versão 2 do layout da ABRASF.

  TACBrNFSeXWebserviceMegaSoft200 = class(TACBrNFSeXWebserviceSoap11)
  public
    function GerarNFSe(ACabecalho, AMSG: String): string; override;
    function ConsultarNFSePorRps(ACabecalho, AMSG: String): string; override;

    function TratarXmlRetornado(const aXML: string): string; override;
  end;

Agora veja os serviços implementados pelo provedor MegaSoft que também usa a versão 2 do layout da ABRASF.

Eles nem sequer implementaram o serviço para cancelar notas, ou seja, através da sua aplicação não vai ser possível cancelar uma nota de um prestador cuja cidade use esse provedor.

Por fim, o que funciona para um provedor não significa que vai funcionar em outro.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Bom dia Italo,

Pelo que entendi no topico que vc enviou, só funciona com o provedor GINFES: ConsultarSituacao, ConsultarNFSePorRps, ConsultarNFSe e Cancelar

Anexo o log da versao 1.0.0.40 em que tudo funciona (NFSE_ObterDANFSE, NFSE_, NFSE_Imprimir, NFSE_ObterXML, NFSE_EnviarEmail) e não da o erro "Serviço não implementado pelo provedor" que acontece quando uso a versão 1.0.0.66?.

Obrigado

LogACBrLibNFSe-20240222.txt

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde a todos,

Eu não trabalho com a Lib apenas com o componente.

Agora se existe na Lib um método chamado NFSe_ObterDANFSe que funciona ou funcionava eu não sei lhe informar.

Notei que ao executar esse método na verdade ele esta executando o serviço ConsultarNfse que existe no GINFES.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa noite,

Testados todos os métodos, através do programa de exemplo em c#, configurando o município de ITU/SP e funcionaram corretamente.

1. Utilizado método NFSE_CarregarXML para ler o xml contido no seu LOG
* Os botões btnImprimirNFSe(método NFSE_Imprimir) e btnImprimirDANFSe(método NFSE_ImprimirPDF) utilizam este método para carregar o xml.

2. Utilizado método NFSE_Imprimir para impressão com visualização em tela pelo btnImprimirNFSe

3. Utilizado método NFSE_ImprimirPDF para geração do DANFSe em pdf pelo botão btnImprimirDANFSe

4. Utilizado método NFSE_ObterXml após o carregamento do xml para obter o xml pelo botão btnObterXMLNFSe

5. Utilizado método NFSE_EnviarEmail pelo botão btnEnviarEmail
 

Qual sua linguagem?

Confirme se está utilizando a Lib na mesma arquitetura que você compila sua aplicação.

Pesquise nos seus fontes por ACBrNFSeXX.dll para verificar se não existem alguma outra versão que esteja sendo consumida indevidamente.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Bom dia Rubinho,

Obrigado pela ajuda.

Se voce examinar o log anexo, vera que não uso NFSE_CarregarXML e sim o NFSE_ObterDANFSe, acho que ai que esta o problema, só após  o NFSeObterDANFSe que consigo :

 NFSE_Imprimir 

 NFSE_ImprimirPDF

 NFSE_ObterXml  e

 NFSE_EnviarEmail. 

 

Obrigado

LogACBrLibNFSe-20240222.txt

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde,

Em 14/02/2024 at 14:42, Italo Giurizzato Junior disse:

O método ObterDANFSE tem por finalidade baixar e salvar o DANFSE em PDF e foi implementando no componente para atender o Padrão Nacional que possui esse serviço

Veja que o Ítalo informou que esse método foi implantado para o padrão nacional, não deve ser utilizado no seu cenário.

Se o NFSE_ObterDANFSe não funcionar, automaticamente os demais "não funcionarão" pois não tem o XML da NFSe.

Como você disse no e-mail que nenhum deles funcionava e todos que testei funcionaram, indicava algum problema no seu cenário.

Só invés do NFSE_ObterDANFSe, utilize um dos métodos a seguir para consultar a NFSe, conforme documentação mais abaixo.

ConsultarNFSePorRps

ConsultarNFSe

https://acbr.sourceforge.io/ACBrLib/MetodosNFSe.html

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Boa tarde Renato,

Muito obrigado pela ajuda. Funcionou com o ConsultarNFSePorRps, mas ainda tem um probleminha, o QR code gerado no Danfe pela DLL não esta funcionando. o Qr code gerado no Danfe no site da prefeitura funciona perfeitamente.

Link do QR da NFSe gerada pelo ACBrDLL
http://itu.ginfesh.com.br/report/consultarNota?__report=nfs_ver4&cdVerificacao=VRE0U69FQ&numNota=8573&cnpjPrestador=null

Link do QR da NFSe gerada pela Prefeitura
http://visualizar.ginfes.com.br/report/consultarNota?__report=nfs_ver4&cdVerificacao=VRE0U69FQ&numNota=8573&cnpjPrestador=null

Note que a diferença está no início do link. Um é Cidade.ginfesh e o outro é Visualizar.ginfes.

 

Obrigado.
 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde,

1 hora atrás, mar1975 disse:

Este link é de homologação.

1 hora atrás, mar1975 disse:

Este link é de produção.

Se está funcionando o de produção, não existirá o mesmo código em homologação.

Se você estiver usando a lib demo, ela só funciona em homologação.

Link para o comentário
Compartilhar em outros sites

  • Moderadores
11 minutos atrás, mar1975 disse:

Bom dia,

 

Não estamos utilizando a lib de demonstração. Geramos as DLL com o Lázaro com os fontes atualizados. 

Usamos xHarbour.

 

 

neste caso verifica está com algo desatualizado ou fontes ou dll´s diferentes

ou caso se sinta a vontade para contribuir com o projeto e asssinar o  PRO e receber elas compiladas além de suporte com SLA e canais exclusivos com os consultores

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

Bom dia Renato,

O Cliente não faz questão do QR Code, se precisar ele vai usar o da prefeitura.

Agora o resto esta funcionando perfeitamente. Muito obrigado pela ajuda e boa vontade para ajudar.

Pode encerrar o tópico.

 

Link para o comentário
Compartilhar em outros sites

  • Administradores

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.