Ir para conteúdo
  • Cadastre-se

dev botao

Impressão de MDF-e Cancelado


Ver Solução Respondido por Italo Giurizzato Junior,
  • Este tópico foi criado há 2254 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Milhões de desculpas pela incompetência, mas não encontrei no fórum outra pessoa com o mesmo problema.

Emiti um MDF-e e cancelei-o com sucesso.

Agora quero imprimí-lo com a tarja de cancelamento(que estou supondo existir, visto que para o CT-e e NF-e vocês desenvolveram e li outras postagens de pessoas que não conseguiam tirar a tarja).

Meu procedimento padrão(para CT-e e NF-e sempre foi o seguinte:

      ACBrMDFe1.Manifestos.LoadFromString(XML);//XML autorizado
      if cProtocoloCanc<>'' Then Begin
         ACBrMDFe1.DAMDFE.ProtocoloMDFE := cProtocoloCanc;
         ACBrMDFe1.DAMDFE.MDFeCancelada := True; 
      End;
       ACBrMDFe1.Manifestos.Items[0].Imprimir;

 

Porém no MDF-e a tarja de cancelamento não apareceu. Encontrei outra pessoa no forum falando sobre esse assunto e ela importava não só o XML autorizado, mas também o XML do evento. Então tentei o seguinte:

      ACBrMDFe1.Manifestos.LoadFromString(XML);
      if cProtocoloCanc<>'' Then Begin
         ACBrMDFe1.EventoMDFe.LerXMLFromString(XMLEvento);
         ACBrMDFe1.DAMDFE.ProtocoloMDFE := cProtocoloCanc;
         ACBrMDFe1.DAMDFE.MDFeCancelada := True;
      End;
      ACBrMDFe1.ImprimirEvento;
 

O Items[0].imprimir, continua imprimindo o MDF-e sem tarja. o ImprimirEvento, imprime um documento com o título de carta de correção.

 

Devo estar errando em alguma coisa muito básica pois todos os demais procedimentos foram simples de serem realizados.

Estou em ambiente de homologação e utilizo o Fortes.

Desde já agradeço.

Postado

Sei que vocês são ocupados e pedem o prazo de 24 horas. Porém, obviamente que fiquei tentando resolver por mim mesmo neste período.

Imaginando se tratar de falta de atualização dos fontes da ACBR, decidi atualizar. 

Agora, em outro lugar, está dando essa mensagem quando tento gerar o danfe 

Error reading RLMDFe.ExplicitLeft: Property ExplicitLeft does not exist

 

e o erro anterior, acontecia com o componente no seguinte lugar:

pmdfeEnvEventoMDFe

function TEventoMDFe.LerXMLFromString(const AXML: String): Boolean;
var
  RetEventoMDFe: TRetEventoMDFe;
begin
  RetEventoMDFe := TRetEventoMDFe.Create;
  try
     RetEventoMDFe.Leitor.Arquivo := AXML;
     Result := RetEventoMDFe.LerXml; { Essa função lê corretamente os valores do XML}
     with FEvento.Add do
      begin
        infEvento.Id         := RetEventoMDFe.InfEvento.Id; { todos os valores deste objeto estão em branco e passam os dados em branco.
        InfEvento.cOrgao     := RetEventoMDFe.InfEvento.cOrgao;
        infEvento.tpAmb      := RetEventoMDFe.InfEvento.tpAmb;
        infEvento.CNPJCPF    := RetEventoMDFe.InfEvento.CNPJCPF;
        infEvento.chMDFe     := RetEventoMDFe.InfEvento.chMDFe;
        infEvento.dhEvento   := RetEventoMDFe.InfEvento.dhEvento;
        infEvento.tpEvento   := RetEventoMDFe.InfEvento.tpEvento;
        infEvento.nSeqEvento := RetEventoMDFe.InfEvento.nSeqEvento;

        infEvento.VersaoEvento         := RetEventoMDFe.InfEvento.VersaoEvento;
        infEvento.detEvento.descEvento := RetEventoMDFe.InfEvento.detEvento.descEvento;
        infEvento.detEvento.nProt      := RetEventoMDFe.InfEvento.detEvento.nProt;
        infEvento.detEvento.dtEnc      := RetEventoMDFe.InfEvento.detEvento.dtEnc;
        infEvento.detEvento.cUF        := RetEventoMDFe.InfEvento.detEvento.cUF;
        infEvento.detEvento.cMun       := RetEventoMDFe.InfEvento.detEvento.cMun;
        infEvento.detEvento.xJust      := RetEventoMDFe.InfEvento.detEvento.xJust;
        infEvento.detEvento.xNome      := RetEventoMDFe.InfEvento.detEvento.xNome;
        infEvento.detEvento.CPF        := RetEventoMDFe.InfEvento.detEvento.CPF;

        signature.URI             := RetEventoMDFe.signature.URI;
        signature.DigestValue     := RetEventoMDFe.signature.DigestValue;
        signature.SignatureValue  := RetEventoMDFe.signature.SignatureValue;
        signature.X509Certificate := RetEventoMDFe.signature.X509Certificate;

        if RetEventoMDFe.retEvento.Count > 0 then
         begin
           FRetInfEvento.Id          := RetEventoMDFe.retEvento.Items[0].RetInfEvento.Id;
           FRetInfEvento.tpAmb       := RetEventoMDFe.retEvento.Items[0].RetInfEvento.tpAmb;
           FRetInfEvento.verAplic    := RetEventoMDFe.retEvento.Items[0].RetInfEvento.verAplic;
           FRetInfEvento.cOrgao      := RetEventoMDFe.retEvento.Items[0].RetInfEvento.cOrgao;
           FRetInfEvento.cStat       := RetEventoMDFe.retEvento.Items[0].RetInfEvento.cStat;
           FRetInfEvento.xMotivo     := RetEventoMDFe.retEvento.Items[0].RetInfEvento.xMotivo;
           FRetInfEvento.chMDFe      := RetEventoMDFe.retEvento.Items[0].RetInfEvento.chMDFe;
           FRetInfEvento.tpEvento    := RetEventoMDFe.retEvento.Items[0].RetInfEvento.tpEvento;
           FRetInfEvento.xEvento     := RetEventoMDFe.retEvento.Items[0].RetInfEvento.xEvento;
           FRetInfEvento.nSeqEvento  := RetEventoMDFe.retEvento.Items[0].RetInfEvento.nSeqEvento;
           FRetInfEvento.CNPJDest    := RetEventoMDFe.retEvento.Items[0].RetInfEvento.CNPJDest;
           FRetInfEvento.emailDest   := RetEventoMDFe.retEvento.Items[0].RetInfEvento.emailDest;
           FRetInfEvento.dhRegEvento := RetEventoMDFe.retEvento.Items[0].RetInfEvento.dhRegEvento;
           FRetInfEvento.nProt       := RetEventoMDFe.retEvento.Items[0].RetInfEvento.nProt;
           FRetInfEvento.XML         := RetEventoMDFe.retEvento.Items[0].RetInfEvento.XML;
         end;
      end;
  finally
     RetEventoMDFe.Free;
  end;
end;

 

Estou tentando corrigir ambos aqui.

  • Consultores
  • Solution
Postado

Boa tarde Júlio,

Esse após a atualização dos fontes do ACBr indica que o seu Fortes Report esta desatualizado, aconselho a resinstalar o Fortes remover os fontes do HD baixar a versão 4.0 e instalar, depois instalar os fontes do ACBr.

Outra coisa a rotina que você postou se refere ao carregamento do XML de evento (*-procEventoMDFe.xml) e não do XML do MDF-e (*-mdfe.xml).

 

  • Curtir 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

Postado

Vou proceder com o procedimento com o fortes.

E sobre o evento, realmente, mas parece ser exatamente o erro.

Eu carrego o xml do evento cancelamento e o evento impresso é uma carta de correção com número de evento -99999 e em ambiente de produção.

Depurei está linha(Result := RetEventoMDFe.LerXml; ) e os dados estão sendo lidos corretamente do xml( Cancelamento, número do evento, tipo homologação).

Porém, nas linhas abaixo, os dados extraídos do RetEventoMDFe.InfEvento estão vazios(ID vazia, ambiente produção, etc)

Postado

Boa Noite.

Estou com o mesmo problema.

Desinstalei o ACBR e Fortes. Mas esta dando o mesmo erro.

 

Se tiver outra solução.

 

Att.

 

Mario

image.thumb.png.7f9376db115ab4c33e630a541772f4a7.png

 

Softcia - Desenvolvimento de Sistemas Personalizados a 29 anos. Em Clipper, Visual Foxpro e Delphi

 

Mario Moreira

MSN : [email protected]

Cidade : Santa Maria - RS

 

Postado

Boa tarde.

Passei o dia tentando atualizar o fortes e o SVN.

Alguma coisa eu estava fazendo em ordem incorreta.

Agora, depois de realizar uma instalação praticamente limpa, com o SVN mais recente e o Fortes igualmente, a mesagem de Error reading RLMDFe.ExplicitLeft: Property ExplicitLeft does not exist permanece.

Não sei o quanto ajuda mas:

A NF-e e CT-e não apresentam este erro.

O MDF-e estava imprimindo corretamente até eu decidir atualizar o SVN(quinta feira).

Agora não imprime o DaMDF-e e nem o evento do MDF-e gerando o erro acima.

Postado

Júlio, boa noite!
Como você mesmo disse, está testando em ambiente de homologação, logo, só aparecerá a tag "Ambiente de Homologação - Sem valor Fiscal".

Faça um teste e altere a tag tpAmb de um XML gerado em homologação, de 2 para 1.
Habilite a propriedade MDFeCancelado ou MDFeEncerrado, de acordo com o status do Manifesto e gere a impressão.
Verá que, em produção, a tag será corretamente exibida no mesmo lugar onde antes aparecia "Ambiente de Homologação - Sem valor Fiscal".

Acabei de testar usando Fortes e está funcionando.

  • Curtir 1
Postado

Bom dia Felipe.

Muito obrigado pelo contato.

Talvez funcionasse, porém agora não está imprimindo mais nada do MDF-e com o erro Error reading RLMDFe.ExplicitLeft: Property ExplicitLeft does not exist.

Então não consegui testar se em ambiente de produção funcionária.

  • Consultores
Postado

Bom dia Júlio,

É preciso abrir o form com o problema, clicar no botão ignorar todas e depois mudar algum componente de lugar (um pouco para a esquerda ou direito ou para cima ou para baixo) e por fim salvar.

Feito isso tente novamente.

  • Curtir 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

Postado (editado)

Fiz da forma que o Italo falou. Só movi todos os componentes para baixo e depois para cima novamente.

E a tarja de Encerramento e Cancelamento saiu em ambiente de produção. achei que seria igual à NF-e e CT-e que aparece uma tarja vermelha no código de barras.

Obrigado a todos.

Não gostaria de mexer nos fontes de vocês para me manter em dia com as atualizações, mas foi a saída mesmo.

Editado por Júlio Cesar de Campos
Adicionei informações de agradecimento
  • Curtir 1
  • Administradores
Postado

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

  • Curtir 1
Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

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