Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

  • Consultores
Postado

Bom dia a todos,

Ramalho veja a assinatura do método CancelarNFSe:

function TACBrNFSe.CancelarNFSe(ACodigoCancelamento, ANumeroNFSe, AMotivoCancelamento: String): Boolean;

Os parâmetros são> Código do Cancelamento, Numero da NFS-e e o Motivo do Cancelamento.

Você esta informando o código de verificação no lugar do código de cancelamento e isso esta errado.

Para todos os provedores que seguem o layout da ABRASF seja a versão 1 ou 2, para efetuar o cancelamento de uma NFS-e basta apenas as 3 informações acima que são passadas via parâmetro do método CancelarNFSe.

Mas o provedor em questão não segue o layout da ABRASF e portanto requer mais algumas informações, como por exemplo o Código de Verificação que consta no XML da NFS-e.

Sendo assim para que seja possível o cancelamento é necessário carregar o XML da NFS-e e depois executar o método CancelarNFSe.

Para obter o XML da NFS-e se não me falha a memória é preciso executar o método ConsultarNFSe ou ConsultarNFSePorRps.

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

Boa tarde Italo,

consegui pegar o retorno com o xml.... e enviei como você me indicou, porém tenho a mesma mensagem de retorno.

'Codigoverificação' is not valid (essa mensagem apenas consigo recuperar debugando)

 

estou anexando o xml que estou enviando.

 

Ah, exatamente a mesma coisa acontece quando uso o software demo do acbr.

3293-nfse.xml

erro.jpg

  • Consultores
Postado

Boa tarde Ramalho,

Configure o componente para salvar os arquivos de envio e de retorno:

Configuracoes.Geral.Salvar := True

Configuracoes.WebServices.Salvar := True;

Faça um novo teste de cancelamento e anexe os arquivos de envio e retorno gerados ao solicitar o cancelamento.

Note que vão ser gerados 4 arquivos XMLs sendo que 2 deles tem a palavra soap no nome.

Anexe os 4 arquivos.

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

  • Consultores
Postado

Ramalho,

Abra o arquivo -ped-can.xml usando um navegador.

Note que as TAGs: NumeroNota, CodigoVerificacao e MotivoCancelamento estão vazias.

Isso é devido ao arquivo que você esta carregando antes.

Ao executar o método ConsultarLote você obtêm apenas um resumo da nota.

Tente executar o método ConsultarNFSeporRPS para ver se será retornado o XML completo 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

Não tenho como, não tenho o xml correto para carregar no  componente.

utilzo o ACBrNFSe1.Enviar(NumeroRPS);  e nenhum dos xmls criados, eu consigo carregar com sucesso.

Postado (editado)

eu teria que cancelar a minha estrutura de lote, e enviar rps separados é isso?

complicado, pois testei o  ACBrNFSe1.Enviar(NumeroRPS) e deu erro, no próprio demo do acbr, ele diz que não encontrou o final do arquivo rps. até por isso fiz toda a estrutura por lote que está funcionando muito bem, tirando o cancelamento.

é estranho pois mesmo que o Xml seja resumido ele tem todas as informações cruciais.

Editado por ramalho
Postado

Bom dia Italo, estou tentando usar o ACBrNFSe1.Gerar(NumeroRPS) e primeiro occoreu um erro, que não estava encontrando o final do RPS

então na linha 777 do AcbrDFeSSL eu coloquei um UpperCase na passagem da variavel e resolveu Ex: 

I := PosLast(UpperCase(TagEndDocElement), ConteudoXML);
  if I = 0 then
    raise EACBrDFeException.Create('Não encontrei final do elemento: ' + TagEndDocElement);

 

Porém agora ele está dando um erro em 

if (not xmldoc.loadXML( WideString(AXml) )) then
        raise EACBrDFeException.Create('Não foi possível carregar XML'+sLineBreak+ AXml);

Não esta conseguindo carregar o xml nesse loadXml, e não estou sabendo resolver.

Desde já agradeço toda a atenção que tem dado!

  • Consultores
Postado

Bom dia Ramalho,

Você não pode alterar os fontes da pasta ACBrDFe, pois essas units são usadas pelos componentes: ACBrNFe, ACBrCTe, ACBrMDFe e ACBrNFSe.

Uma alteração essa que você fez pode fazer com que os demais componentes parem de funcionar também.

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, desculpa mas acho que estou um pouco perdido.

está acontecendo o seguinte,  eu tinha toda a estrutura de NfSe montada utilizando as dlls que o provedor disponibilizava, um certo dia após uma atualização do Windows alguns clientes não conseguiram mais emitir. entrei em contato com  os responsáveis da dll, e me disseram que não tinham mais contrato com a prefeitura de campinas,

então entrei em contato com a prefeitura de campinas e não tive nenhuma resposta.  ninguém sabe informar,  então resolvi utilizar  o ACBR pra me auxiliar na geração da NFSe,

aí fiz por lote e não consegui realizar o cancelamento aí tentei fazer sem ser por lote, mas você está me dizendo que o provedor  não tem o Gerar.. não sei ao certo que caminho devo tomar então. 

Postado

Pq você deu a ideia  de consultar pelo método  ConsultarNFSeporRPS mas quando utilizo essa consulta, eu não tenho o xml que ele solicita, tenho somente aqueles xmls que linkei a cima que são os referentes ao lote. 

por isso pensei que tinha que fazer pelo gerar. pra ter o xml correto para o ConsultarNFSeporRPS 

  • Consultores
Postado

Ramalho,

O Cancelar exige que tenhamos o XML da NFS-e.

Já o ConsultarNFSeporRPS exige que tenhamos o XML do RPS.

O XML do RPS você tem, pois ele é gerado e salvo dentro da pasta Recibos antes de ser enviado para o provedor.

Portanto para Consultar a NFS-e por RPS como o próprio nome diz devemos carregar o XML do RPS antes de executar a consulta.

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, e encontrei aqui, não sei pq ele estava gerando em uma pasta temp o xml do rps.

realizei a consulta mas esta gerando o xml em branco o 3260NF-comp-nfse.xml que acho que seria o certo para mandar no cancelamento né?

 

3260NF-con-nfse-rps-soap.xml

203322273-rec.xml

203322273-rec-soap.xml

203322291-rec.xml

0NF-rps.xml

1-env-lot.xml

1-env-lot-soap.xml

3260NF-comp-nfse.xml

3260NF-comp-nfse-soap.xml

3260NF-con-nfse-rps.xml

  • Consultores
Postado

Ramalho,

A consulta falhou, veja: ERRO VALIDACAO XSD: (400)error: org.xml.sax.SAXParseException: cvc-type.3.1.3: The value 'NF' of element 'SeriePrestacao' is not valid. Linha : 1 Coluna: 593

Acusa que o conteúdo SeriePrestacao é invalido, foi informado o valor NF.

No RPS temos:

(...)

<TipoRPS>RPS</TipoRPS>

<SerieRPS>NF</SerieRPS>

<NumeroRPS>0</NumeroRPS>

<DataEmissaoRPS>2016-09-02T10:19:04</DataEmissaoRPS>

(...)

Os valores em negritos estão corretos?

O numero do RPS é zero e a série é NF?

Não deveria ser NumeroRPS = 1 e SerieRPS = 1?

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

  • Consultores
Postado

Ramalho,

Os campos:

NFSe.IdentificacaoRps.Serie -> você não atribui nada e por conta disso o componente automaticamente colocou "NF"

NFSe.IdentificacaoRps.Numero -> você atribui o valor zero.

o correto seria:

NFSe.IdentificacaoRps.Serie := '99'; 

NFSe.IdentificacaoRps.Numero := '3260';

Note que ambos os campos são String.

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

  • Consultores
Postado

Ramalho,

O problema esta antes, você esta enviando um RPS para o provedor com os dados errados.

Como você quer que ele consulte um RPS de numero 3260, sendo que ao enviar você informou que o numero do RPS era zero?

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, desculpe mas eu fiz o próximo rps, cancelei pelo site o 3260...

veja o xml, da geração, eu envio os números certos, não encontrei onde você viu que eu mandei zero

na serieRps eu realmente mando NF

e na seriePrestador 99

e acredito que esteja certo. mesmo pq quando tento mudar para 99 da erro

3261NF-rps.xml

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