Jump to content

dev botao

ACBrNFSeX provedor proprio São Paulo - SP


Go to solution Solved by Italo Giurizzato Junior,
  • Este tópico foi criado há 852 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro

Bom dia,

São dois os problemas encontrados nesse provedor com o componente novo, mas ainda não testei todos os serviços disponíveis:

1. Em consulta ao usar o metodo ACBrNFSeX1.ConsultarNFSeporRps(NumeroRps, SerieRps, TipoRps, CodVerificacao) obtenho o XML na NFSe corretamente com sucesso no indice 0 do componente ACBrNFSeX1.NotasFiscais.Items[0] e se eu der um ACBrNFSeX1.NotasFiscais.Count ele retorna 1 normalmente como deve ser, até ai ok é assim mesmo que deve ser.

Mas se antes de eu fazer o mencionado acima eu alimentar o componente com um RPS então o XML na NFSe vai vir no indice 1 do componente ACBrNFSeX1.NotasFiscais.Items[1] e se eu der um ACBrNFSeX1.NotasFiscais.Count ele retorna 2 o que esta errado pois existe apenas uma NFSe e não duas, o componente esta entendendo o RPS como uma NFSe nessa questão é esse o problema.

2. Em emissão ao usar o metodo ACBrNFSeX1.Emitir(IntToStr(NumLote),meLoteAssincrono,False) o componente não retorna o numero do protocolo na propriedade ACBrNFSeX1.WebService.Emite.Protocolo ela vem vazia.

Link to comment
Share on other sites

  • Consultores

Boa tarde,

Na questão (1) o componente deve esta procurando na lista pelo numero da nota e não encontra uma vez que ali se encontra um Rps, consequentemente ele acaba adicionando um novo item a lista com os dados da nota.

Na questão (2) vou precisar do XML (soap) de retorno do método Emitir para que possamos analisar o problema.

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Link to comment
Share on other sites

  • Membros Pro

Boa tarde,

De forma geral o que tenho percebido é que para esse provedor o componente esta tendo um comportamento diferente em relação a os outros provedores mas só que nas mesmas exatas situações e é isso que não estra certo, vou explicar veja:

Na questão (1) quando eu alimento um RPS no componente para qq provedor que não seja o de São Paulo/SP ele não adiciona um índice de NFSe, isso só ocorre nele, o correto é isso ser padronizado pois se trata de um comportamento padrão.

Na questão (2) descobri o problema, ocorre que quando faço um envio ACBrNFSeX1.Emitir(IntToStr(NumLote),meLoteAssincrono,False) para esse provedor contendo um único RPS que ja foi emitido anteriormente, por tanto consequentemente ele retorna erro de que o RPS ja foi emitido (Segue em anexo os XMLs desse exemplo) ele retorna a propriedade ACBrNFSeX1.WebService.Emite.Sucesso como True, ja em qq outro provedor se eu fizer isso o componente retorna como False que é o correto pois o lote foi recusado, não foi nem aceito para processamento, foi recusado de imediato.

@Italo Giurizzato Junior acredito que esses comportamentos e retornos de propriedades em circunstancia iguais devem ser exatamente os mesmos para todos os provedores, dai o grande benefício de usar um componente.

1-env-lot.xml 1-env-lot-soap.xml 1-rec.xml 1-rec-soap.xml

Link to comment
Share on other sites

  • Consultores

Boa tarde,

Você poderia anexar os XMLs gerados para a Questão 1?

Acredito que eu já consegui resolver a questão 2.

Você anexando os XMLs eu analiso e ai envio tudo de uma vez.

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Link to comment
Share on other sites

  • Membros Pro

Boa noite,

Segue em anexo todos os XMLs solicitados da questão (1) e também 3 imagens onde as descrevo agora para ajudar a entender o problema:

Imagem 1 - Apenas alimentei um RPS no componente e o mesmo ja criou um indice "0" no componente como se ele ja tivesse uma NFSe nele.

Imagem 2 - Após eu enviar o lote para o provedor, aguardo 30 segundos e reconsulto esse lote para saber se ja foi processado, dai ele foi processado com sucesso e agora o componente tem dois indices sendo que o indice "0" não tem NFSe e o indice "1" tem a NFSe ok que foi processada com sucesso.

Imagem 3 - Mostra justamente o descrito acima indice "0" gerando erro e indice "1" com a NFSe correta com sucesso.

os XMLs em anexo são exatamente o resultado fiel da sequencia que descrevi acima tabem.

1-Apenas alimentei um unico RPS.jpg

2-Apos envio do lote e consultado o lote.jpg

3-Erro ficou 2 indices de NFSe.jpg

XMLs_da_sequencia_descrita.zip

Link to comment
Share on other sites

  • Membros Pro

Boa noite,

Agora sim esta funcionando corretamente a parte de emissão obrigado, porem realizando novos testes o de cancelamento verifiquei que ocorre algo parecido, funciona assim:

Para cancelar uma NFS-e eu carrego no componente o XML original do ato da emissão para poder utilizar as informações solicitadas no metodo ACBrNFSeX1.CancelarNFSe(InfCancelamento) e inclusive faco uma consulta ao provedor antes de usar o metodo para verificar se a NFS-e derepente ja não foi cancelada via site pelo usuario até ai ok.

Reparei que se eu fizer a consulta pelo metodo ACBrNFSeX1.ConsultarNFSeporNumero(NumeroNFSe) ai o componente fica com  2 indices da mesma NFSe o primeiro é o que eu carreguei para usar as informações e o segundo é o resultado da consulta porem se trata da mesma NFSe.

Mas se eu fizer a consulta pelo metodo ACBrNFSeX1.ConsultarNFSeporRps(NumeroRpsLocal,SerieRpsLocal,TipoRpsLocal,CodVerificacaoLocal) isso não ocorre ou seja o componente fica smente com um indice o do resultado da consulta, o ideal como tenho falado seria padronizar o comportamento do componente.

Link to comment
Share on other sites

  • Consultores

Boa tarde,

No novo componente (ACBrNFSeX) não adianta nada você carregar o XML da nota antes de realizar o seu cancelamento, uma vez que o componente não se utiliza dos dados dela para executar o método de cancelamento.

O componente antigo (ACBrNFSe) se utilizava, mas o novo não.

Vou verificar o comportamento dos métodos: ConsultarNFSePorNumero e o ConsultarNFSePorRps.

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Link to comment
Share on other sites

  • Membros Pro

Bom dia,

Sim eu sei que o componente novo não faz uso direto, eu carrego o XML original para utilizar dados do XML para realizar a consulta inicial da NFSe, faço isso para não ter que criar novos campos no BD e nem novas variáveis na procedure.

Link to comment
Share on other 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 to comment
Share on other sites

  • Este tópico foi criado há 852 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.