Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

Postado

Estou realizando os testes e tanto o envio de lote quanto o envio individual da NFS-e estão funcionando.

 

Quanto ao envio do lote o servidor da prefeitura está demorando para fazer o processamento, entrei em contato com o suporte da Pública e me informaram que pode levar até 15 minutos, então se for necessário enviar poucas notas, é melhor usar o envio individual do que o lote.

Postado

Boa tarde,

 

Tive que fazer outras alterações no arquivo ACBrNFSeWebServices para setar o valor de alguma propriedades no método "TNFSeGerarNFSe.Executar", necessários para imprimir o DANFSe após o envio.

 

Segue em anexo todos os arquivos com as alterações que realizei.

Publica.rar

  • Consultores
Postado

Boa tarde Augusto,

 

Removi o provedor Publica da seguinte linha:

 

            if (AProvedor in [proGoiania, proProdata, proVitoria{, proPublica}])
             then AXML := AXML + '</GerarNfseEnvio>';
 
pois da forma que estava sempre seria acrescentado a TAG GerarNfseEnvio, mas ocorre que o provedor em questão possui duas formas de envio:
 
EnviarLoteRpsEnvio
e
GerarNfseEnvio
 
Logo devemos usar os métodos Enviar (para enviar um lote com até 50 RPS) ou Gerar (para enviar somente um RPS).
 
Em ACBrProvedorPublica as function Gera_TagI e Gera_TagF dependendo a ação vai incluir as TAGs corretas.
 
Explique melhor a questão de assinar o RPS ou não, em qual situação devemos assinar e quando não devemos?
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

Italo,

 

1) Se não tiver a tag "GerarNfseEnvio" quando realizar a assinatura, ao enviar o arquivo o provedor acusa erro no hash. Após colocar novamente, o provedor passou a aceitar o arquivo. Pelo que entendi, se assinar apenas o que estiver dentro da Tag RPS, o provedor considera como inválido.

2) No envio do lote a propriedade AssinaRPS deve estar desabilitada, se estiver habilitada o provedor vai acusar erro no hash. Ou seja, apenas o lote deve estar assinado. Sendo que no Gerar (somente um RPS) a propriedade precisa estar habilitada, caso contrário o provedor retorna problema no hash.

 

Realizei vários testes com as alterações que fiz, e dessa forma está funcionando, tanto o lote com até 50 RPS ou o Gerar (Somente um RPS);

  • Consultores
Postado

Augusto,

 

Mas qual é o método que você esta utilizando para o envio?

 

Enviar ou Gerar?

 

Post como anexo o XML de envio.

 

Com relação ao problema 2 temos a seguinte situação:

 

Enviar:

AssinarRPS - Não

AssinarLote - Sim

 

Gerar:

AssinarRPS - Sim

AssinarLote - Não (tanto faz na verdade, uma vez que não existe o lote)

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

Italo

 

Estou usando os dois métodos. Quando tenho que enviar mais de um RPS, uso o envio de Lote, quando é apenas um RPS, uso o Gerar. Tive que fazer assim para esse provedor, pois ele demora muito para processar os lotes. Para outros provedores uso apenas o envio de lote.

 

Com relação ao item 2 é exatamente isso. Sendo que na alteração que fiz, deixei a propriedade AssinarLote como true pois não interfere no "Gerar".

 

Seguem XMLs

134-ger-nfse.xml

328-env-lot.xml

Postado

Realmente é estranho, mas acredito que seja pelo falta da Tag "GerarNfseEnvio" na hora de assinar o XML. Se fizer a assinatura e a tag não estiver no XML, apresenta esse erro. Se remover os comentários na pnfsNFSeW e ACBrNFSeUtil, acredito que o Gerar vai funcionar.

Postado

Valeu Italo, funcionou corretamente as duas formas de envio.

 

1) Ao tentar realizar a assinatura do XML de cancelamento está aparecendo a mensagem: "Erro não especificado". Pelo que verifiquei o Id do cancelamento está muito grande, "pedidoCancelamento_38523317000185301091201400000000035". Após setar o id para vazio o cancelamento funcionou corretamente. Alterado arquivo "ACBrNFSeWebServices".

 

2) O provedor prevê a definição do motivo do cancelamento, campo não obrigatório. Mas como pretendo usar o código de cancelamento "C999", sou obrigado a preencher o motivo. Fiz alteração para incluir o motivo do cancelamento quando for Pública. Alterado arquivos "ACBrNFSeWebServices" e "pnfsNFSeG".

 

 

Seguem alterações dos arquivos em anexo.

 

Alteraçoes.rar

  • 3 meses depois ...
  • Membros Pro
Postado (editado)

Bom dia

 

Estou enviando uma nota para a cidade de Itajai, que utiliza o provedor Publica...

 

E estou com um problema semelhante ao relatado aqui, o envio usando o Gerar está funcionando perfeitamente, aprova bem rápido, porém, quando vou cancelar a nota gerada, está retornando erro de "hash inválido"

 

Anexo está o xml da nota que é salvo dentro da pasta padrão ...\201407\NFSe  após o envio.

 

Os fontes já estão atualizados, atualizei hoje para testar se não seria isso, mas não resolveu.

 

 

Alguma dica?

 

 

Obrigado

 

Diogo

201400000000064-nfse.xml

201400000000064-nfse.xml

Editado por DIOGOWAR
  • Consultores
Postado

Bom dia Diogo,

 

Primeiramente ao tentar abrir o arquivo *-ped-can.xml acusou um erro de caracter inválido.

 

Descobri que o problema era os espaços em branco entre as palavras no texto: Dados do tomador incorretos.

 

Removi os espaços salvei e depois coloquei eles novamente e o XML foi aberto com o Internet Explorer sem nenhum problema.

 

Acredito que ao informar o motivo do cancelamento o Delphi esteja inserindo caracteres inválidos no espaço em branco.

 

Tente colocar sem espaço e depois faça outro teste com espaço:

 

Motivo do Cancelamento = DadosErrados

 

Motivo do Cancelamento = Dados Errados

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, você acertou na mosca, era exatamente isso, ajustei isso e está resolvido, funcionou 100%

 

Muito Obrigado, 

 

Abraço

 

Diogo

  • 3 meses depois ...
  • 3 semanas depois ...
Postado

Boa noite,

 

Estou enviando o cancelamento e ocorreu o seguinte erro: E160 - Arquivo enviado fora da estrutura do arquivo XML de entrada.

 

Alterei a unit ACBrNFSeWebServices, confirme abaixo, retirando a função GeraEnvelopeCancelarNFSe:

 //Texto := TiraAcentos(FProvedorClass.GeraEnvelopeCancelarNFSe(URLNS1, FCabMSg, FDadosMsg, FDadosSenha));

 Texto := TiraAcentos(FDadosMsg);
 
Agora o arquivo é aceito, mais recebo o seguinte retorno:
<?xml version='1.0' encoding='UTF-8'?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><S:Faultxmlns:ns4="http://www.w3.org/2003/05/soap-envelope"><faultcode>S:Client</faultcode><faultstring>Couldn't create SOAP message due to exception: unexpected XML tag. expected: {http://schemas.xmlsoap.org/soap/envelope/}Envelope but found: {http://www.publica.inf.br}CancelarNfseEnvio</faultstring></S:Fault></S:Body></S:Envelope>
 
Incluir arquivo que gerei em anexo, alguém já passou por isso?

000000000000028-ped-can-soap.xml

  • 2 semanas depois ...
Postado

Bom dia,

 

quando envio um lote RPS utilizando o ACBrNFSe.Enviar, sempre me retorna o erro de HASH

e quando eu uso o ACBrNFSe.Gerar, o componente não assina o RPS, pois sempre vem AssinaRPS = False e AssinaLote = True.

 

eu consegui mudar em tempo de execução o AssinaRPS para testar, mas não sei como mudar essa propriedade no projeto, pois ela é ReadOnly. tentei mudar na Unit do proPublica mas sem sucesso.

 

Alguém pode me dar uma luz quanto a isso?

  • Consultores
Postado

Bom dia Elder,

 

Você esta com os fontes atualizados?

 

Pois analisando a function Gerar que você usou consta a seguinte linha:

 

 if (FConfiguracoes.WebServices.Provedor <> proSisPMJP) then
   NotasFiscais.Assinar(True); // Assina os Rps
 
Sendo assim, só não vai assinar o RPS caso o provedor seja SisPMJP.
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

  • Este tópico foi criado há 2690 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
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.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...