Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Boa tarde!

 

  Estou gerando uma nota para a cidade de Cabo Frio/RJ , utilizando o provedor ISSDigital. Tive que fazer as adaptações para incluir esta cidade, mas o meu problema esta na geração do XML, ao tentar enviar uma nota a SEFAZ da Prefeitura me retorna o seguinte erro:

 

<?xml version="1.0" encoding="UTF-8" ?>

- <EnviarLoteRpsResposta xmlns="http://www.abrasf.org.br/nfse.xsd">
-   <ListaMensagemRetorno>
      <Codigo>E160</Codigo>
        <Mensagem>Arquivo em desacordo com o XML Schema. (ERROR: cvc-datatype-valid.1.2.1: '2014-02-21T15:29:12' is not a valid value for 'date'.</Mensagem>
  </ListaMensagemRetorno>
  </EnviarLoteRpsResposta>
 
 

 

Postado

Verificando um exemplo vi que para esta cidade o formato de data nos campos é:

<Tipo>1</Tipo>

  </IdentificacaoRps>

    <DataEmissao>2012-04-03</DataEmissao>

    <Status>1</Status>

</Rps>

<Competencia>2012-04-03</Competencia>

<Servico>

<Prestador>

 

E o arquivo esta gerando assim 2012-04-03 T12:21:10

  • Consultores
Postado

Bom dia vipeol,

 

Fiz uma alteração no fonte pnfsNFSeW.pas

 

Atualize e teste novamente.

 

Quando estiver tudo OK, por favor post como anexo aqui no fórum somente os fontes que você alterou para contemplar a cidade de Cabo Frio/RJ.

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

Postado

Ítalo,

 

  Baixei e agora parece estar indo, mas apresentou outro problema.

  Quando eu envio normalmente o retorno da SEFAZ da cidade é o que esta em anexo com o nome 20140001054-lista-nfse.xml (Lote não processado),

  Já quando eu envio debugando o programa o retorno da SEFAZ muda para o anexo 20140001053-lista-nfse_old.xml

 

Parece que o ACBr não esta dando tempo suficiente para a SEFAZ processar o lote pois com o Debug o processo vai mais devagar e retorna um arquivo mais completo. 

20140001053-lista-nfse_old.xml

20140001054-lista-nfse.xml

Postado (editado)

Italo,

 

  Outra coisa que estou verificando quando 

 

   Estou preenchendo o campo abaixo

 
     Tomador.Endereco.CodigoPais     := 1058;
 
   E no RPS gerado para enviar a prefeitura não esta criando a TAG <CodigoPais>1058</CodigoPais> no endereço do Tomador esta TAG deveria ficar abaixo 
da UF e acima do CEP do Tomador.
 
Na Unit  pnfsNFSeW na linha 647 esta como abaixo
     if (VersaoXML = '2') and (FProvedor <> proFiorilli)
       then Gerador.wCampoNFSe(tcInt, '#34', 'CodigoPais ', 04, 04, 0, NFSe.Servico.CodigoPais, '');
acho que deveria estar assim
     if (VersaoXML = '2') and (FProvedor <> proFiorilli)
       then Gerador.wCampoNFSe(tcInt, '#34', 'CodigoPais ', 04, 04, 0, NFSe.TOMADOR.CodigoPais, '');
 

 

Acabei de fazer um teste com a ideia acima e não funcionou, mas ao colocar o codigo do pais no serviço deu certo.

 

então acredito que seja assim mesmo.

Editado por vipeol
  • Consultores
Postado

Boa tarde vipel,

 

Para você ter uma idéia de como a coisa é complicada.

 

Tem um provedor que se você envia um lote através do WebServices EnviarLoteRpsEnvio o lote é recebido e só é processado as 2 da manhã do dia seguinte.

 

Por outro lado se você envia um unico RPS através do WebSerices gerarNfseEnvio, ele é recebido e processando na hora, inclusive é retornado o XML da NFS-e.

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

Postado

Entendi,

 

   Mas neste caso do ISSDigital pelo que eu estou reparando nos testes a diferença de tempo é muito pequena.

   

Sei que é mais fácil falar do que fazer, mas não teria como fazer parecido com o Ginfes que primeiro envia o lote e depois fica consultando o lote até que 

a SEFAZ retorna uma posição? 

 

  No meu caso não estou enviando lote com várias RPS e sim apenas uma nota de cada vez.

  • Consultores
Postado

Boa tarde vipeol,

 

O componente ACBrNFSe possui 3 comandos para enviar, são eles:

 

1. Enviar - > envia um lote com até 50 RPS em modo Assincrono, ou seja envia e fica checando o resultado do processamento.

 

2. EnviarSincrono - > envia um lote com até 50 RPS em modo Sincrono, ou seja envia e já obtem o retorno do processamento.

 

3. Gerar -> envia um lote com somente 1 RPS e já obtem o retorno do processamento.

 

Lembre-se que não são todos os provedores que oferecem os 3 modos,

 

O Ginfes por exemplo só oference o primeiro, ou seja, o envio assincrono.

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

Postado
Obrigado, Italo!!
 
 Só dá uma olhada no meu post abaixo, apesar de funcionar quando eu informo o codigo do pais na TAG de serviços acredito que o correto seria funcionar 
se eu informasse na TAG do tomador uma vez que a TAG existe, mas não esta pegando dela e sim da TAG serviço.
 
Na Unit  pnfsNFSeW na linha 647 esta como abaixo
     if (VersaoXML = '2') and (FProvedor <> proFiorilli)
       then Gerador.wCampoNFSe(tcInt, '#34', 'CodigoPais ', 04, 04, 0, NFSe.Servico.CodigoPais, '');
acho que deveria estar assim
     if (VersaoXML = '2') and (FProvedor <> proFiorilli)
       then Gerador.wCampoNFSe(tcInt, '#34', 'CodigoPais ', 04, 04, 0, NFSe.TOMADOR.CodigoPais, '');
 
  • Este tópico foi criado há 3909 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

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