Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

  • 7 anos depois...
Postado (editado)

Boa tarde, estou tendo um problema sobre a função de ACBrNFe1.NotasFiscais[0].XMLAssinado....

ACBrNFe1.NotasFiscais.LoadFromFile(sArquivoXML, false);
ACBrNFe1.NotasFiscais.Assinar;

ACBrNFe1.NotasFiscais[0].XMLAssinado....

estou emitindo cupons em contingência, e quando pego XML de retorno, após assinado a tag tpEmis=9 fica tpEmis=1.... invalidando o XML... Além de retornar este xml assinado com a tag diferente, cria um outro xml, como se estivesse emitindo de forma normal.. atualizei a ACBR semana passada e começou isso.. reatualizei hoje e não mudou nada. Vou mandar o XML que carrego pro componente e depois o retorno dele, com o XML modificado... somente nessa tag e assinado, além do xml criado sem informações de contingência...

43240503157446000112650070000010111443270350-nfe.xml43240503157446000112650070000010119443270355-nfe ASSINADO.xml43240503157446000112650070000010119443270355-nfe SEMASSINATURA.xml 

Editado por Éva Cleidiane Coutinho
  • Moderadores
Postado
14 minutos atrás, Éva Cleidiane Coutinho disse:

Boa tarde, estou tendo um problema sobre a função de Assinatura do XML... 

ACBrNFe1.NotasFiscais.LoadFromFile(sArquivoXML, false);
ACBrNFe1.NotasFiscais.Assinar;CBrNFe1.NotasFiscais[0].XMLAssinado.... estou emitindo cupons em contingência, e quano odo peg XML de torno, após assinado a tag tpEmis=9 fica tpEmis=1....

o xml está com 9 e o componente está configurado também para isso?

pois ao carregar o xml e passar false ele não vai gerar o xml ou corrigir ou modificar o mesmo.

o xml gerado foi feito no ACBrNFe também?

esse tópico é um pouco antigo 2016.

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

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

 

Postado
11 minutos atrás, Juliomar Marchetti disse:

o xml está com 9 e o componente está configurado também para isso?

pois ao carregar o xml e passar false ele não vai gerar o xml ou corrigir ou modificar o mesmo.

o xml gerado foi feito no ACBrNFe também?

esse tópico é um pouco antigo 2016.

Geramos o XML fora do componente e este arquivo que 'não está assinado' é o que mandamos pro componente, a unica coisa que o componente teria que fazer, ao meu ver era assinar.

Nós pegávamos o rertono do .XMLAssinado e gravamos um novo arquivo assinado, e nesse retorno a tag está modificada, isso que achei estranho...
Não configuramos isso no componente pois não é ele quem faz. Parou de funcionar após a atualização, pelo que percebi. será que foi modificado algo ?

Acompanhei a função "function NotaFiscal.GerarXML: String;" da uses 'ACBrNFeNotasFiscais' que seria as configuraçoes populadas pelo XML e   o campo FormaEmissão está do tipo normal... já está errado aqui, pois não passo nada, só pegaria do XML  FNFeW.tpEmis := Configuracoes.Geral.FormaEmissao

Postado
13 horas atrás, Juliomar Marchetti disse:

sim lembrando que o componentre precisa estar configurado para o ambiente de contigencia mesmo assim

 

Bom dia.. Sim mas é isso que eu quero dizer.. Não mexiamos em nada disso antes.. Tenho um executavel de marco que está funcionando, só passamos o XML para o componente e pegamos o XML Assinado para criar um novo arquivo, e isso funcionva. Por isso pergunto, sabes se foi alterado alguma coisa?

Postado

Esta configurtação (ACBrNFe1.Configuracoes.Geral.Salvar  := True) estava sempre salvando, os xmls gerado pela ACBR, isso tiramos também, só em alguns casos estamos gravando, mas isso não me parece algo que interferiria...

Configuramos o componente assim, estando em contingência ou normal.. 

Se for cupom acrescentamos essas duas linhas:

         ACBrNFe1.Configuracoes.Geral.ModeloDF     := moNFCe;
         ACBrNFe1.Configuracoes.Geral.VersaoQRCode := veqr200;
e de padrão é o resto...

  ACBrNFe1.Configuracoes.Geral.SSLLib := libWinCrypt; 
  If Trim(TAB_EMPRES.FieldByName('FLAG_ACBR_TLS12').AsString)='S' then   
    ACBrNFe1.SSL.SSLType := LT_TLSv1_2;

  ACBrNFe1.Configuracoes.Certificados.NumeroSerie := TAB_EMPRES.FieldByName('CERTIFICADO_NROSERIE').AsString; 
  ACBrNFe1.Configuracoes.Certificados.VerificarValidade :=True;
  ACBrNFe1.Configuracoes.Arquivos.AdicionarLiteral := True;
  ACBrNFe1.Configuracoes.Arquivos.SepararPorMes    := IfThenSV(TAB_EMPRES.FieldByName('FLAG_NFE_SEPARARPORMES').AsString='S',TRUE,FALSE);
  ACBrNFe1.Configuracoes.Arquivos.SepararPorCNPJ   := False;
  ACBrNFe1.Configuracoes.Arquivos.PathSalvar      := sPath;
  ACBrNFe1.Configuracoes.Arquivos.PathNFe         := sPath;
  If Trim(TAB_EMPRES.FieldByName('PATH_SCHEMAS_NFe').AsString)='' then
    ACBrNFe1.Configuracoes.Arquivos.PathSchemas := ExtractFilePath(ParamStr(0))+'SchemasNFeACBr\'

  Else
    ACBrNFe1.Configuracoes.Arquivos.PathSchemas := Trim(TAB_EMPRES.FieldByName('PATH_SCHEMAS_NFe').AsString)+'\';
  PathMensal := ACBrNFe1.Configuracoes.Arquivos.GetPathNFe(0);
  if TRIM(PathMensal)='' then
  BEGIN
    PathMensal:=sPath;
  END;


  If Trim(TAB_EMPRES.FieldByName('PATH_INI_ACBR').AsString)='' then
   spathini := ExtractFilePath(ParamStr(0))+'ArqINIACBr\' 
  Else
   spathini := Trim(TAB_EMPRES.FieldByName('PATH_INI_ACBR').AsString)+'\';

  if not FileExists(spathini+'Cidades.ini') then 
   spathini := ExtractFilePath(ParamStr(0))+'ArqINIACBr\';

  ACBrNFe1.Configuracoes.Arquivos.PathSalvar := PathMensal;
  ACBrNFe1.Configuracoes.Arquivos.Salvar     := True;

  if (bnaosalva) then
     ACBrNFe1.Configuracoes.Geral.Salvar  := True
  else
     ACBrNFe1.Configuracoes.Geral.Salvar  := False;
  ACBrNFe1.Configuracoes.WebServices.Salvar     := false;
  ACBrNFe1.Configuracoes.WebServices.Ambiente   := StrToTpAmb(baux, TAB_EMPRES.FieldByName('NFe_AMBIENTE').AsString);
  ACBrNFe1.Configuracoes.WebServices.Visualizar := false;
  ACBrNFe1.Configuracoes.WebServices.UF         := TAB_EMPRES.FieldByName('UF').AsString;


  //Flag para exibir mensagens de log da acbr
  If Trim(TAB_EMPRES.FieldByName('ACBR_FLAG_VERLOG').AsString)='S' then
    ACBrNFe1.Configuracoes.WebServices.Visualizar := True;

  //Set de timeout para os envios da ACBR
  ACBrNFe1.Configuracoes.WebServices.TimeOutPorThread := True;
  If TAB_EMPRES.FieldByName('ACBR_TIMEOUT').AsInteger > 0 then
   ACBrNFe1.Configuracoes.WebServices.TimeOut          := TAB_EMPRES.FieldByName('ACBR_TIMEOUT').AsInteger
  else
   ACBrNFe1.Configuracoes.WebServices.TimeOut          := 10000;

  ACBrNFe1.Configuracoes.WebServices.TimeZoneConf.ModoDeteccao := tzManual;
  if TAB_EMPRES.FieldByName('TZD').AsString = 'N' then
    ACBrNFe1.Configuracoes.WebServices.TimeZoneConf.TimeZoneStr := '-03:00';
  if TAB_EMPRES.FieldByName('TZD').AsString = 'S' then
    ACBrNFe1.Configuracoes.WebServices.TimeZoneConf.TimeZoneStr := '-02:00';
  ACBrNFe1.Configuracoes.Geral.RetirarAcentos:=true;

  ACBrNFe1.Configuracoes.Geral.ModeloDF := moNFe;
  if TAB_EMPRES.FieldByName('VERSAONFE').AsString='3.10' then
   ACBrNFe1.Configuracoes.Geral.VersaoDF := ve310;
  if TAB_EMPRES.FieldByName('VERSAONFE').AsString='4.00' then
   ACBrNFe1.Configuracoes.Geral.VersaoDF := ve400;

  ACBrNFe1.Configuracoes.Geral.IdCSC:=TAB_EMPRES.FieldByName('IDTOKEN').AsString;
  ACBrNFe1.Configuracoes.Geral.CSC:=TAB_EMPRES.FieldByName('CSC').AsString;

  ACBrNFe1.Configuracoes.Geral.ExibirErroSchema := True;
  ACBrNFe1.Configuracoes.Geral.FormatoAlerta    := 'TAG:%TAGNIVEL% ID:%ID%/%TAG%(%DESCRICAO%) - %MSG%.';
 

E então, passamos o arquivo para o componente, como comentei na primeira postagem

 

ACBrNFe1.NotasFiscais.Clear;

ACBrNFe1.NotasFiscais.LoadFromFile(sArquivoXML, false);
ACBrNFe1.NotasFiscais.Assinar;

Result := ACBrNFe1.NotasFiscais[0].XMLAssinado;

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