Ir para conteúdo
  • Cadastre-se

dev botao
  • Este tópico foi criado há 2112 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á 2112 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.