Ir para conteúdo
  • Cadastre-se

dev botao

ACBRNFSEX -XML Retorno Incompleto


Ver Solução Respondido por Italo Giurizzato Junior,

Recommended Posts

  • Membros Pro
Postado (editado)

Bom dia,

Desde a nossa atualização do ACBR na terça feira, estamos tendo problema com várias prefeituras, então acredito que possa ser algo de configuração ou o componente.

Criamos o RPS normalmente, Transmitimos e a prefeitura recebe e aprova.

            AcbrModoEnvio := meAutomatico;
            ACBrNFSeX.Emitir(Numero_Lote, AcbrModoEnvio ,False);

Porém após processar o comando acima, o XML da NFSE na propriedade (ACBrNFSeX.NotasFiscais.Items[0].XMLNFSe) está retornando errado. '<?xml version="1.0" encoding="UTF-8"?>'

Saberiam me ajudar a encontrar onde pode estar o problema?

Editado por renemelo
Erro de digitação

Rene Melo

Link para o comentário
Compartilhar em outros sites

  • Consultores
2 minutos atrás, renemelo disse:

Bom dia,

Deste a nossa atualização do ACBR na terça feira, estamos tendo problema com várias prefeituras, então acredito que possa ser algo de configuração ou o componente.

Criamos o RPS normalmente, Transmitimos e a prefeitura recebe e aprova.

            AcbrModoEnvio := meAutomatico;
            ACBrNFSeX.Emitir(Numero_Lote, AcbrModoEnvio ,False);

Porém após processar o comando acima, o XML da NFSE na propriedade (ACBrNFSeX.NotasFiscais.Items[0].XMLNFSe) está retornando errado. '<?xml version="1.0" encoding="UTF-8"?>'

Saberiam me ajudar a encontrar onde pode estar o problema?

Bom dia!

Por favor, pode fornecer mais informações?

  • Para qual(is) cidade(s) está tentando emitir e está tendo este problema?
  • O conteúdo de ACBrNFSeX.NotasFiscais.Items[0].XMLNFSe é somente <?xml version="1.0" encoding="UTF-8"?>?
  • Se você testar o Count de NotasFiscais.Items realmente tem somente um item?
Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

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

  • Membros Pro

Bom dia, obrigado pelo retorno.

Segue respostas:

  • Para qual(is) cidade(s) está tentando emitir e está tendo este problema?
    • São várias desde a ultima atualização, algumas delas são Belford Roxo, Curitiba, CABO DE SANTO AGOSTINHO
  • O conteúdo de ACBrNFSeX.NotasFiscais.Items[0].XMLNFSe é somente <?xml version="1.0" encoding="UTF-8"?>?
    • Isso mesmo , apenas este texto
  • Se você testar o Count de NotasFiscais.Items realmente tem somente um item?
    • Sim, sempre traz maior que 0.

Rene Melo

Link para o comentário
Compartilhar em outros sites

  • Consultores
1 minuto atrás, renemelo disse:

Se você testar o Count de NotasFiscais.Items realmente tem somente um item?

  • Sim, sempre traz maior que 0.

 

Se ele trás um valor maior do que zero, por favor, tente realizar um teste lendo o XML da última nota ao invés da do índice zero.

Algo como isso:

ACBrNFSeX.NotasFiscais.Items[ACBrNFSeX.NotasFiscais.Count-1].XMLNFSe

 

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

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

  • Membros Pro

Tenho que confirmar se traz maior que 1, mas pelo que me recordo o count está apenas 1.... pois não envio lotes.. apenas 1 rps por vez. 

Mas assim que tiver uma para transmitir já te confirmo.

Mas estranho é que começou após a ultima atualização do ACBR (Fizemos pois estávamos com problema das casas decimais para a aliquota, que agora é configuravel no .INI)

Rene Melo

Link para o comentário
Compartilhar em outros sites

  • Consultores
2 minutos atrás, renemelo disse:

Fizemos pois estávamos com problema das casas decimais para a aliquota, que agora é configuravel no .INI)

.INI? Você está utilizando componente nativo ou a Lib?

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

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

  • Consultores
1 minuto atrás, renemelo disse:

INI do Componente..

Entendido

Citar

Mas assim que tiver uma para transmitir já te confirmo.

Fico no aguardo de um feedback.

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

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

  • Consultores

Boa tarde @renemelo,

Curitiba e Cabo de Santo Agostino por exemplo o webservice trabalha na versão 1 do layout da ABRASF, sendo assim após o envio devemos consultar a situação do lote, se a situação for 3 ou 4 devemos consultar o lote.

Se a situação for 3 teremos uma lista de erros, por outro lado se for 4 teremos o XML da nota.

Por outro lado a cidade de Belford Roxo o webservice trabalha com a versão 2 do layout da ABRASF.

Se você executa o método Emitir no modo automático de envio (meAutomatico) para todas as cidades no caso de Belford Roxo já era para trazer o XML da nota, a não ser que a nota tenha sido rejeitada. Já para as cidades que usam a versão 1 do layout da ABRASF é interessante atribuir o valor True a propriedade: Configuracoes.Geral.ConsultaLoteAposEnvio.

Desta forma o componente realiza as consultas mencionadas acima de forma automática. 

  • 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

  • Membros Pro

Boa tarde Ítalo, no caso de Belford Roxo está dando o mesmo problema dos demais.. sem erros de rejeição.. 

No caso das demais há a consulta do lote se o XML estiver vazio na nossa aplicação.. porém como comentei ele não está. Terei como paleativo considerar este texto que está vindo como vazio tbm, porém é um ajuste que tenho que fazerem várias parte e que até terça feira não ocorria. 

Rene Melo

Link para o comentário
Compartilhar em outros sites

  • Consultores

Por favor, defina a propriedade ACBrNFSeX.Configuracoes.WebServices.Salvar := True; para que o componente crie os envelopes envolvidos na requisição;

Ele vão ter o -soap no nome.

Veja se o envelope de resposta trás informações ou se ele vem em branco.

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

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

  • Membros Pro

Boa tarde Segue o print conforme solicitaram.

image.thumb.png.ff89157d71f65eee3d1e7395ce08a96e.png

 

Após o comando de Emitir ela retornou quantidade 1 na propriedade count e o XML da NFSe com aquele texto.

Não houve erro da transmissão..

 

 

 

 

 

 

 

 

image.png

image.png

image.png

image.png

Rene Melo

Link para o comentário
Compartilhar em outros sites

  • Consultores
  • Solution

Bom dia Rene,

Pelas imagens em anexo temos o seguinte:

1. O RPS foi enviado e o webservice retornou o numero do protocolo conforme consta na segunda imagem.

2. Foi realizado a consulta da situação do lote informando o numero do protocolo conforme consta na terceira imagem.

3. A quarta imagem nada mais é do que o envio do lote contendo o RPS.

4. A quinta imagem pelo que eu entendi é o site da prefeitura que consta o RPS em questão processado com sucesso.

Observações com relação a Curitiba:

1. Curitiba possui um webservice próprio (é por isso que o provedor se chama ISSCuritiba) e ele trabalha com a versão 1 do layout da ABRASF.

2. Todos os provedores que utilizam a versão 1 do layout da ABRASF tem o mesmo fluxo.

Fluxo:

1. Enviar o RPS dentro de um lote, esse lote pode conter até 50 RPS.

2. Como o processamento do Lote é em modo assíncrono, o que temos como resposta logo após o envio do lote é o numero do protocolo

3. De posse do numero do protocolo devemos consultar a situação do lote.

4. Como resposta podemos ter os seguintes valores: 1 - Lote em Processamento, 2 - Lote não Encontrado, 3 - Lote Processado com falhas, 4 - Lote Processado com sucesso.

5. Se o retorno for 1 devemos aguardar alguns segundos e consultar novamente a situação, se for 2 verificar se o numero do lote informado é exatamente igual ao retornado após o envio do lote, se for 3 ou 4 devemos consultar o lote informando o numero do protocolo (atenção são dois tipos de consulta: ConsultarSituacao e ConsultarLoteRps).

6. Como resposta ao consultar o lote teremos a lista de erros caso a situação for 3 ou teremos a lista de notas caso a situação for 4.

Por fim:

Você não anexou o retorno da consulta a situação do lote.

Você chegou a consultar o lote (segunda consulta) para poder obter o XML da nota?

Você só vai ter o xml da nota na propriedade: ACBrNFSeX1.NotasFiscais.Items[ i ].XmlNfse, se o RPS foi processado com sucesso e ter executado os 3 passos: Emitir, ConsultarSituacao, ConsultarLoteRps.

Observação:

O componente possui uma propriedade de configuração chamada ConsultaLoteAposEnvio, se o seu valor for False, o método Emitir realiza o Envio do RPS, aguarda pelo retorno que neste caso é o numero do protocolo e para, não faz mais nada. Por outro lado se o seu valor for True assim que o Emitir obter o numero do protocolo ele realiza a consulta a situação do lote, automaticamente tenta novamente se a situação for 1 e assim que obter o retorno 3 ou 4 realiza a consulta ao lote.

Lembre-se que se o componente estiver configurado para salvara os arquivos em disco, o XML da nota será salva dentro de uma pasta chamada Notas.

  • 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

  • Membros Pro

Bom dia Italo.

Sobre a propriedade ConsultaLoteAPosEnvio ela está como True, então a consulta ocorre.

A nota é transmitida e gerada no portal das prefeituras normalmente.

O Problema é que a propriedade do componente começou a ter isso após a atualização, estando tudo certo até este momento.

Vou fazer mais alguns testes mas poderia verificar se houve alguma atualização no componente que possa estar afetando? principalmente por estar retornando aquele texto parcial na propriedade do XML?

Vou avisando a todos aqui o andamento

 

Rene Melo

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde @renemelo,

Em seus testes sugiro o seguinte:

Debuga a função LerXML que esta na unit ACBrNFSeXNotasFiscais.

// function TNotaFiscal.LerXML(const AXML: String): Boolean;

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

  • Membros Pro

Bom dia Italo, vou debugar e te aviso em seguida.

Desculpe a demora, pois tenho que aguardar que os usuários deixem NFSe pendente de transmissão para poder fazer as validações. Como comentei, a transmissão ocorre, mas o XML da NFSe acaba não retornando ou retorna daquela forma que comentei.. Vou fazer a tua sugestão e te passo o resultado. Na pior das hipóteses posso tentar uma nova consulta por lote ou rps manualmente para trazer os dados, visto que a  NFSe está sendo transmitida e eu recebo protocolo.

  • Curtir 2

Rene Melo

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • Membros Pro

Bom dia pessoal, para retornar sobre os testes, a função LerXML também me retorna aquele texto padrão.

Como precisava liberar o quanto antes a correção, simplesmente coloquei a validação no sistema onde se receber este texto unico considero como vazio. Resolveu meu problema no sistema.

Claro que não sei o motivo por sempre carregar este texto, talvez alguma rotina , que não encontrei, que formata em UTF8 e por algum motivo força este cabeçalho.. enfim.. quando me liberar quero aprofundar mais a analise para descobrir algo..

No mais podemos encerrar este chamado de suporte.

  • Curtir 1

Rene Melo

Link para o comentário
Compartilhar em outros sites

  • Consultores

Obrigado por reportar.

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

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

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.