Ir para conteúdo
  • Cadastre-se

dev botao

NFe Cancelando sem marca d'agua


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

Recommended Posts

Ricardo!

Estou usando o ACBrNFe1 pra emitir e cancelar.

Exemplo do código de cancelamento:

      ACBrNFe1.EventoNFe.Evento.Clear;
      ACBrNFe1.EventoNFe.idLote := 1;

       with ACBrNFe1.EventoNFe.Evento.Add do
        begin
         infEvento.dhEvento := now;
         infEvento.tpEvento := teCancelamento;
         infEvento.detEvento.xJust := vAux;
        end;

        if ACBrNFe1.EnviarEvento(1) then
        begin
          with ACBrNFe1.WebServices.EnvEvento do
          begin
            if EventoRetorno.retEvento.Items[0].RetInfEvento.cStat <> 135 then
            begin
              raise Exception.CreateFmt(
                'Ocorreu o seguinte erro ao cancelar a nota fiscal eletrônica:'  + sLineBreak +
                'Código:%d' + sLineBreak +
                'Motivo: %s', [
                  EventoRetorno.retEvento.Items[0].RetInfEvento.cStat,
                  EventoRetorno.retEvento.Items[0].RetInfEvento.xMotivo
              ]);
            end;

        // retornos
            DataHoraEvento  := DateToStr(EventoRetorno.retEvento.Items[0].RetInfEvento.dhRegEvento);
            NumeroProtocolo := EventoRetorno.retEvento.Items[0].RetInfEvento.nProt;
            XMLCancelamento := EventoRetorno.retEvento.Items[0].RetInfEvento.XML;
        CodigoStatus    := IntToStr(EventoRetorno.retEvento.Items[0].RetInfEvento.cStat);
            MotivoStatus    := EventoRetorno.retEvento.Items[0].RetInfEvento.xMotivo;
          end;
        end
        else
        begin
          with ACBrNFe1.WebServices.EnvEvento do
          begin
            raise Exception.Create(
              'Ocorreram erros ao tentar efetuar o cancelamento:' + sLineBreak +
              'Lote: '     + IntToStr(EventoRetorno.idLote) + sLineBreak +
              'Ambiente: ' + TpAmbToStr(EventoRetorno.tpAmb) + sLineBreak +
              'Orgao: '    + IntToStr(EventoRetorno.cOrgao) + sLineBreak +
              sLineBreak +
              'Status: '   + IntToStr(EventoRetorno.cStat) + sLineBreak +
              'Motivo: '   + EventoRetorno.xMotivo
            );
          end;
        end;
 

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Vamos otimizar o código do amigo disponibilizou!

ACBrNFe1.DANFE.NFeCancelada := (ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.cStat in [101, 151, 155]);

 

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

Em 20/06/2016 at 21:04, RicardoVoigt disse:

Ola

Da mais detalhes sobre como vc ta imprimindo.... usa qual componente?

Att

Ricardo

 

Vlw!! pela atenção!!! voltando do são joão.... rsr rsr srsr

Onde devo colocar esse código ? É antes de gerar o danfe do cancelado ? 

Link para o comentário
Compartilhar em outros sites

15 horas atrás, Janio disse:

A tarja vermelha não está mais aparecendo pq o ACBr não está mais colocando no final do xml os detalhes do cancelamento! Simples assim

15 horas atrás, Janio disse:

A tarja vermelha não está mais aparecendo pq o ACBr não está mais colocando no final do xml os detalhes do cancelamento! Simples assim

Janio

 

15 horas atrás, Janio disse:

A tarja vermelha não está mais aparecendo pq o ACBr não está mais colocando no final do xml os detalhes do cancelamento! Simples assim

Janio

Tenho um cliente que solicitou o envio do xml cancelado para o cliente dele, temos agora só o comprovante do protocolo pra enviar como comprovação do cancelamento da nfe ?

 

15 horas atrás, RicardoVoigt disse:

opa,

acho que faz antes de chamar


ACBrNFe1.NotasFiscais.Imprimir;

Att

Ricardo

Esse código é pra sair a tarja vermelha ? É possível pq o Janio comentou ñ ser mais possível pelo componente.

 

Link para o comentário
Compartilhar em outros sites

Olha, para sair a tarja basta fazer como o Juliomar orientou :

ACBrNFe1.DANFE.NFeCancelada := (ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.cStat in [101, 151, 155]);

Eu como controlo a situação no banco de dados, checo a situação e atribuo Acbr.Danfe.NFeCancelada := True, e a tarja sai na danfe.

Mas de qualquer forma, existe o evento de cancelamento que pode ser enviado ao cliente, tanto o XML como o evento em PDF.

 

Dercide.

Link para o comentário
Compartilhar em outros sites

O xml assinado da Nfe consta agora apenas a autorização de uso. Não mais a informação se aquela nfe foi cancelada!

Se a impressão da tarja vermelha se dava através da leitura do xml autorizado da nfe, isso não mais acontecerá pq lendo o xml, como falei, a informação do cancelamento la não consta.

Mas vc pode controlar a impressão dessa tarja através do seu banco de dados checando o status da nota, como o colega falou, e se cancelada disparar a impressão do danfe com a tarja.

Para o cliente que solicitar o xml da nfe cancelada... so se vc enviar o xml da nota e também o xml do evento do cancelamento.

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

Em 28/06/2016 at 00:48, Dercide Alvarez disse:

Olha, para sair a tarja basta fazer como o Juliomar orientou :


ACBrNFe1.DANFE.NFeCancelada := (ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.cStat in [101, 151, 155]);

Eu como controlo a situação no banco de dados, checo a situação e atribuo Acbr.Danfe.NFeCancelada := True, e a tarja sai na danfe.

Mas de qualquer forma, existe o evento de cancelamento que pode ser enviado ao cliente, tanto o XML como o evento em PDF.

 

Dercide.

Você consegue imprimir a tarja vermelha? Passo "ACBrNFe1.DANFE.NFeCancelada := True e não aparece a tarja na impressão.

Em 28/06/2016 at 08:46, Janio disse:

O xml assinado da Nfe consta agora apenas a autorização de uso. Não mais a informação se aquela nfe foi cancelada!

Se a impressão da tarja vermelha se dava através da leitura do xml autorizado da nfe, isso não mais acontecerá pq lendo o xml, como falei, a informação do cancelamento la não consta.

Mas vc pode controlar a impressão dessa tarja através do seu banco de dados checando o status da nota, como o colega falou, e se cancelada disparar a impressão do danfe com a tarja.

Para o cliente que solicitar o xml da nfe cancelada... so se vc enviar o xml da nota e também o xml do evento do cancelamento.

Janio, após eu realizar um cancelamento; aqui; o XML está sendo atualizado e mostrando a informação que foi cancelado. Com as seguintes tags:

<tpEvento>110111</tpEvento>

<xEvento>Cancelamento registrado</xEvento>

Também gera um outro XML -NFeDFe.xml informando que foi cancelado.

Só não estou conseguindo colocar a tarja vermelha e nem salvar dentro de uma pasta especificada.

Link para o comentário
Compartilhar em outros sites

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