Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 3246 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro
Postado

Bom dia, pessoal

antes de usar a funcao ACBrNFSe.ConsultarNFSeporRps, eu tento carregar o componente com XML do RPS.

Notei que ele nao consegue carregar o componente (e todas as propriedades ficam em branco) fazendo a funcao ConsultarNFSeporRps falhar.

Debugando, notei que : a funcao LerRPS nao consegue determinar o provedor (e portanto, nao consegue fazer a leitura do XML) por que ele tenta determinar o provedor atraves das tags OrgaoGerador e CodigoMunicipio.

No xml eu nao tenho o "OrgaoGerador" e o codigo do municipio refere-se ao tomador do servico e nao ao prestador.

Pergunto : se o componente ja sabe qual o provedor estou utilizando (ACBrNFSe.Configuracoes.Geral.Provedor), nao poderia ser passado isso para as funcoes que leem o XML?

Tentei fazer referencia ao componente na Unit pnfsNFSeR, mas da um "Out of Memory".

O que eu poderia fazer para resolver meu problema?

Segue o XML do RPS para a analise de voces.

 

 

 

RPS_000000707.xml

Rene Melo

  • Membros Pro
Postado

Boa tarde, constatei hoje que se eu pegar uma versão antiga do componente, tudo funciona.

Na versão nova, inclusive, se eu tentar imprimir o DANFSe, ele não carrega alguns campos, como o prestador do serviço e o tomador.

segue os arquivos para analise.

NFS-e_ 2372.pdf

NFSE_2372.xml

Rene Melo

  • Consultores
Postado
18 horas atrás, renemelo disse:

Boa tarde, constatei hoje que se eu pegar uma versão antiga do componente, tudo funciona.

Na versão nova, inclusive, se eu tentar imprimir o DANFSe, ele não carrega alguns campos, como o prestador do serviço e o tomador.

Consegue dizer exatamente qual versão antiga funciona?

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
  • Membros Pro
Postado

Bom dia

Nao sei dizer exatamente.

Fazia um tempo que nao atualizava o componente, por isso, nao posso dizer com certeza.

Mas ainda tenho esses fontes. Adianta de alguma coisa?

 

Rene Melo

  • Consultores
Postado

Se você conseguir identificar quais as diferenças que estão causando o problema, ou onde funcionava e o que agora não está funcionando, ajudaria muito sim.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
  • Membros Pro
Postado

Boa tarde, EMBarbosa

Acredito que o problema seja o que comentei no primeiro post : quando vou usar a funcao  ConsultarNFSeporRp, nao consigo carregar o componente (e todas as propriedades ficam em branco) fazendo a funcao ConsultarNFSeporRps falhar.

Debugando, notei que : a funcao LerRPS nao consegue determinar o provedor (e portanto, nao consegue fazer a leitura do XML) por que ele tenta determinar o provedor atraves das tags OrgaoGerador e CodigoMunicipio.

No xml eu nao tenho o "OrgaoGerador" e o codigo do municipio refere-se ao tomador do servico e nao ao prestador.

Pergunto : se o componente ja sabe qual o provedor estou utilizando (ACBrNFSe.Configuracoes.Geral.Provedor), nao poderia ser passado isso para as funcoes que leem o XML?

Tentei fazer referencia ao componente na Unit pnfsNFSeR, mas da um "Out of Memory".

Rene Melo

  • Membros Pro
Postado

Boa tarde, pessoal.

Ao que parece, agora o componente esta carregando corretamente, porem a  ConsultarNFSeporRps ainda nao esta funcionando pra mim.

Me parece que o problema esta nos dados do Prestador que nao estao sendo carregados corretamente.

Estou enviando em anexo os XML gerado tanto na versão nova (eu atualizei is fontes hoje ainda) e na versão que usava no Trunk1.

Como ainda nao consegui gerar a NFSe, nao sei se a impressao ja esta funcionando.

 

Versao Nova.rar

Versao Antiga.rar

Rene Melo

  • Consultores
Postado

Boa tarde Rene,

Foram incluída uma meia duzia de propriedades novas de configuração, se elas não forem preenchidas vai com certeza ocorrer erros.

São elas:

 ACBrNFSe1.Configuracoes.Geral.Emitente.CNPJ      := sCNPJ;
 ACBrNFSe1.Configuracoes.Geral.Emitente.InscMun   := sIM;
 ACBrNFSe1.Configuracoes.Geral.Emitente.RazSocial := sRazao;

 ACBrNFSe1.Configuracoes.Geral.Emitente.WebUser      := sUsuario;
 ACBrNFSe1.Configuracoes.Geral.Emitente.WebSenha     := sSenha;
 ACBrNFSe1.Configuracoes.Geral.Emitente.WebFraseSecr := sFrase;

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

  • Membros Pro
Postado

Italo, fiz as alteracoes que voce mencionou, mas o problema ainda persiste.

Quando uso a funcao  ConsultarNFSeporRps, o provedor Abaco me retorna o seguinte : "Consultar Recibo : Número do protocolo de recebimento do lote inexistente na base de dados".

O galho é que se eu consultar o rps, a nota ou protocolo, ele ja existe sim na prefeitura.E se eu usar uma versao mais antiga do componente, tambem funciona.

Comparei o XML gerado agora com o que mandei antes e realmente nao tem quase diferenca.

Realmente nao sei o que pode ser...

 

 

 

0000007190-con-nfse-rps-soap.xml

0000007170-con-nfse-rps-soap.xml

Rene Melo

  • Consultores
Postado

Bom dia Rene,

Você deve estar fazendo confusão, mesmo na versão do antiga (Trunk) o método ConsultarNFSeporRps nunca teve um parâmetro para informar o numero do protocolo.

Os únicos métodos que possuem é ConsultarSituacao e ConsultarLoteRps.

Veja:

    function ConsultarSituacao(AProtocolo: String; const ANumLote: String = ''): Boolean;
    function ConsultarLoteRps(ANumLote, AProtocolo: String): Boolean;
    function ConsultarNFSeporRps(ANumero, ASerie, ATipo: String): Boolean;

A unica diferença que notei em relação aos dois arquivos que você postou é que o 7170 possui o encoding tanto no cabeçalho quanto na mensagem de dados, já no 7190 não tem.

Em qual deles esta ocorrendo 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

  • Membros Pro
Postado

Bom dia

Acho que nao estou conseguindo me explicar direito.

Quando atualizei o componente para o Trunk2 no inicio de dezembro (la pelo dia 15), notei que os RPS eram transmitidos com sucesso para a prefeitura, mas a "transformacao" para NFSe dava erro. Apos transmitir o RPS, invoco a funcao  ConsultarNFSeporRps para pegar os dados da NFSe e associar ao RPS no meu ERP.

Quando eu consultava o RPS, aparecia o erro :  "Consultar Recibo : Número do protocolo de recebimento do lote inexistente na base de dados".

Entro no site da prefeitura e vejo que o numero do protocolo esta correto com o que tenho no ERP. vejo que a NFSe ja existe e esta tudo certo la, ou seja, a transmissao ocorreu com sucesso.

Nessa epoca ao debugar, notei que ele nao carregava o XML corretamente (primeiro erro relatado em 21/12), e achei que o erro que mencionei acima era por isso.

Na verdade, nao estou tentando usar protocolo.. essa mensagem vem do provedor... nao é do meu sistema.

Usando o codigo antigo (um executavel que foi compilado com ele), tudo funcionava como sempre funcionou.

Entrei em contato com voces e depois das correcoes que voces fizeram, o XML voltou a ser carregado certo, so que o erro ao consultar o RPS persistiu.

Ai me voltei para comparacao do XML que é enviado para o provedor, tentando descobrir se tinha alguma diferença entre o atual e o antigo e tambem nao vi nada de mais...

Nao faço ideia do que pode ser... e o suporte da Abaco é horrivel...

O 1770 foi feito feito com o componente antigo e o 1790 foi feito com o componente novo.

Rene Melo

  • Consultores
Postado

Boa tarde Rene,

No Trunk o componente colocava o encode no inicio do cabeçalho e mensagem de dados.

Por outro lado no Trunk2 o componente não coloca.

Mas isso é fácil de se resolver, veja:

1. Abra o arquivo Abaco.INI que esta dentro da pasta: ...\Exemplos\ACBrDFe\ACBrNFSe\ArqINI

2. Procure pela seção [ConsNFSeRps] altere o valor das duas primeiras propriedades de Zero para Um

[ConsNFSeRps]
IncluiEncodingCab=0
IncluiEncodingDados=0

mude para:

[ConsNFSeRps]
IncluiEncodingCab=1
IncluiEncodingDados=1

Eu acredito que a mensagem de erro que o provedor esta retornando esta errada.

Por favor faça esse teste e nos de um retorno.
 

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

  • Membros Pro
Postado

Bom dia, Italo

Fiz as alteracoes que voce propos mas ainda continua do mesmo jeito.

nao sei mais o que pode ser feito.

 

Rene Melo

  • Membros Pro
Postado

Fazendo testes para tentar desvendar o que esta acontecendo, na Unit ACBrDFeCapicom, na funcao "Enviar", se eu usar a funcao ParseText na variavel ConteudoXML, o erro muda : Error reading e:ConsultarNfsePorRps.Execute

 

 

 

Rene Melo

×
×
  • 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.