Ir para conteúdo
  • Cadastre-se

dev botao

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