Ir para conteúdo
  • Cadastre-se

dev botao

Alterar uma propriedade do AcbrNFe e capturar o xml atualizado via componente


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

Recommended Posts

Ola a todos tenho um procedimento como abaixo descrito, que percorro o xml, altero um campo desejado, porem ao chamar o metodo gravar xml ou tentar capturar o xml do componente o mesmo nao me retorna com o valor que alterei, o que estou fazendo de errado?
 

var
  Nota: TCollectionItem;
  prodxml: TDetCollectionItem;
begin
  if not  OpenDialog1.Execute then Exit;

  ACBrNFe1.NotasFiscais.LoadFromFile(OpenDialog1.FileName);

  for Nota in ACBrNFe1.NotasFiscais do
  begin
    
    for prodxml in NotaFiscal(Nota).NFe.Det do
    begin
     
      if prodxml.Prod.nItem.ToString.Equals( Edit1.Text) then
      begin
        Memo1.Lines.Add(' ITEM ENCONTRADO , NCM = ' + prodxml.Prod.NCM );
        prodxml.Prod.NCM := Edit2.Text;
     
      end;
      
    end;

    NotaFiscal(Nota).GravarXML('', 'c:\intel'); /// XML SALVO é o mesmo que carreguei no opendialog e nao com a propriedade ncm alterada.
    RichEdit1.Text := NotaFiscal(Nota).GerarXML; // o mesmo acontece aqui, mesmo se chamar metodo xml , vem xml desatualizado
  end;
  

Link para o comentário
Compartilhar em outros sites

  • Moderadores
  • Solution
9 minutos atrás, gss200610 disse:

Sem o método assinar ele não vai persistir os dados no componente?

O GerarNFe / GerarXML vai gerar o XML internamente no componente.

Para gravar em arquivo é preciso o componente estar configurado pra isso e a chamada ao método Assinar.

O GravarXML vai apenas gravar em arquivo o XML no estado atual.

  • Curtir 1
Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Use a força, leia os fontes... veja:

procedure NotaFiscal.Assinar;
var
  XMLStr: String;
  XMLUTF8: AnsiString;
  Leitor: TLeitor;
begin
  with TACBrNFe(TNotasFiscais(Collection).ACBrNFe) do
  begin
    if not Assigned(SSL.AntesDeAssinar) then
      SSL.ValidarCNPJCertificado( NFe.Emit.CNPJCPF );
  end;

  // Gera novamente, para processar propriedades que podem ter sido modificadas   <==== AQUI
  XMLStr := GerarXML;
.....

 

  • Curtir 2
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

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

Link para o comentário
Compartilhar em outros sites

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