Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

  • Membros Pro
Postado

Bom dia !

 

Tive uma ideia de implementar em meu sistema um banco de dados (dicionario) de campos da NF-e para que eu não precise mais ter o nome dos campos da nota no meu código fonte, assim poderei incluir campos na nota fiscal sem precisar alterar meu código fonte.

 

A questão é como setar um campo da nota fiscal passando o nome do campo via String, como por exemplo usando XPATH ou Reflexão.

 

Algo mais ou menos assim:

 

AcbrNFe1.SetProperty( 'Emit.CNPJCPF', '00575365110');

 

 

Ou usando relexão RTTI seria mais ou menos isso:

...
uses TypInfo;
...
    //Setando a propriedade TAG do componente ACBR via reflexão

    if IsPublishedProp (ACBrNFe1, 'Tag') then
    begin
      SetPropValue (ACBrNFe1, 'Tag', Integer(100));
    end;


    ShowMessage( inttostr( ACBrNFe1.Tag) );
 
Neste caso usei a propriedade TAG para simplificar o código porém eu iria utilizar somente para os campos do XML da nota,
 
A Pergunta é se já existe alguma função do ACBRNfe que me permita fazer isto ? sem ter que implementar via Reflexão. 
 
 
  • 2 semanas depois ...
  • Membros Pro
Postado

Vou prosseguir com os testes caso eu consiga avançar postarei o código aqui.

 

Acredito que será um avanço enorme incluir o nome dos campos do XML em um banco de dados ao invés do código fonte.

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