Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

  • Membros Pro
Postado

Boa noite !

Na versão 0,07 não é mais permitido o cpf no xml gerado, já li aqui no fórum que o problema foi resolvido no componente, porém após atualizar e compilar os componentes, ainda é recusado o cancelamento (apenas quando existe cpf). Na minha aplicação Delphi uso estes métodos:

         ACBrSAT1.CFeCanc.LoadFromFile('xml do cupom gerado e aprovado na versão 0,07');
         ACBrSAT1.CFeCanc.GerarXML(true);
         ACBrSAT1.CancelarUltimaVenda;
 

Funciona perfeitamente quando não tem cpf no cupom fiscal, porém recebo 'Erro desconhecido' quando o cpf está presente.

Está correta a sequência dos métodos ? Onde consulto a forma correta de cancelar um cupom SAT no fórum ?

Obrigado.

  • Membros Pro
Postado

Obrigado Sergio !

É verdade, existem os Demos, me desculpe...

Repliquei os comandos, ainda assim o cpf insiste em aparecer no xml de cancelamento... no emulador (versao 2.9.0) funciona, o erro só acontece no Sat Dimep/Bematech físico. Anexei os Xmls...

       if dm.OpenDialog1.Execute then
        begin
         // Gera o XML de cancelamento
         frmPrincipal.ACBrSAT1.CFe.LoadFromFile(dm.OpenDialog1.FileName);
         frmPrincipal.ACBrSAT1.CFe2CFeCanc;
         frmPrincipal.ACBrSAT1.CFeCanc.GerarXML(True);

         try
         // Enviando
         frmPrincipal.ACBrSAT1.CancelarUltimaVenda;
         except
          ...
         end;
        end;
 

CFeCan35170711111111111111591234567890001506181477.xml

CFe35170711111111111111591234567890001495170210.xml

  • Membros Pro
Postado

Obrigado pela dica Andre, mas de fato precisa ser ACBrSAT1.CFeCanc.GerarXML(True), ou seja, esse parâmetro "ApenasTagsAplicacao" do método GerarXML precisa ser true; veja o código do componente acbr:

procedure TCFeCancW.GerarDest;
begin
  Gerador.wGrupo('dest', 'E01');

  if (CFeCanc.infCFe.versao < 0.07) or (not FApenasTagsAplicacao) then
    Gerador.wCampoCNPJCPF('E02', 'E03', CFeCanc.Dest.CNPJCPF, False);

  Gerador.wGrupo('/dest');
end;

 

Consegui resolver desta maneira:

         // Gera o XML de cancelamento
         ACBrSAT1.CFe.LoadFromFile(dm.OpenDialog1.FileName);
         ACBrSAT1.CFe2CFeCanc;
         ACBrSAT1.CFeCanc.infCFe.versao := 0,07
         try
         // Enviando
         ACBrSAT1.CancelarUltimaVenda(frmPrincipal.ACBrSAT1.CFeCanc.infCFe.chCanc,frmPrincipal.ACBrSAT1.CFeCanc.GerarXML(true));
         except
         end;
 

Esse código gerou o cupom de cancelamento perfeito, com os dados do destinatário, porém gerou um xml com a tag <dest> vazia.

Eu havia imaginado que  apenas a propriedade ACBrSAT1.Config.infCFe_versaoDadosEnt deveria ser = 0,07 mas precisei tbem alterar a ACBrSAT1.CFeCanc.infCFe.versao para 0,07

O Xml do cupom fiscal da venda tem esses atributos na tag infCFe:

-<infCFe versaoSB="000003" versaoDadosEnt="0.07" versao="0.03" Id="CFe35170711111111111111591234567890001618252430">

por isso imaginei que atribuindo a versão apenas para versaoDadosEnt resolveria...

Se fiz algo fora do padrão por favor me avisem ! Obrigado à todos pela ajuda.

 

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

The popup will be closed in 10 segundos...