Ir para conteúdo
  • Cadastre-se

dev botao

Mapear propriedades das classes do CT-e com RTTI


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

Recommended Posts

Bom dia pessoal.

 

Primeiramente, gostaria de elogiar o refactoring efetuado há alguns meses atrás, deixando o código-fonte dos documentos eletrônicos mais limpo, organizado e estruturado.

 

Apesar de todas as melhorias, acabei tendo uma pequena perda a partir dele: em nossa tela de emissão de Carta de Correção Eletrônica p/ CT-e, eu havia implementado uma forma dinâmica de obter todas as propriedades que podem ser corrigidas em um CT-e através da seguinte fução RTTI:

 

var
  PropList: PPropList;
begin
  GetPropList(pcteCTe.TCTe.ClassInfo, PropList);

...

Essa função retornava todas as propriedades da classe e de todas as classes internas, restando apenas o trabalho de remover da lista as tags para as quais não é permitida a alteração (conforme pág. 225 do manual de integração 3.00):

image.png.4c58ab25126595305dbcdbd38568a70a.png

 

O que ocorre é que a maioria das propriedades dos componentes, inclusive desta classe, foram passadas de published para public, tornando-as invisíveis externamente via RTTI.

 

O que vocês acham que eu poderia fazer neste caso? Gostaria de saber também se há muitas vantagens em tornar as propriedades public, motivando assim esta mudança no refactoring.

 

Desde já agradeço a atenção. Abraço,

Gabriel Bonzanini.

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...

Aqui faço da seguinte forma, deixo livre para digitação todos os campos e valido na gravação se a tag e grupo digitados permitem correção. Quanto as tags que podem ser corrigidas, ai eu tenho um menu de acesso rápido onde o usuário seleciona uma das opções a ser corrigidas e então é completado o grupo e a tag. Não vi a necessidade de criar uma rotina com todas as tags existentes pois as correções a serem feitas na maioria dos casos ficam limitadas a 4 ou 5 tags como por exemplo a CFOP.

  • Curtir 3
Link para o comentário
Compartilhar em outros sites

1 hora atrás, everson.turossi disse:

Aqui faço da seguinte forma, deixo livre para digitação todos os campos e valido na gravação se a tag e grupo digitados permitem correção. Quanto as tags que podem ser corrigidas, ai eu tenho um menu de acesso rápido onde o usuário seleciona uma das opções a ser corrigidas e então é completado o grupo e a tag. Não vi a necessidade de criar uma rotina com todas as tags existentes pois as correções a serem feitas na maioria dos casos ficam limitadas a 4 ou 5 tags como por exemplo a CFOP.

Olá @everson.turossi! Obrigado pelo retorno.

 

Tem razão, geralmente a correção gira em torno de algumas poucas tags. Porém, sempre tem aquele cliente que deseja alterar/corrigir uma informação relacionada à valores, documentos vinculados, etc., e restringir a utilização destas informações significa uma ligação de suporte a menos... Sem contar que fica mais transparente ao usuário, que seguidamente apresenta aquela dúvida "Posso corrigir isto?" (se estiver na lista, pode). Em últimos casos, vou ter que fazer o caminho inverso, listando tudo o que pode ser corrigido "hard coded", com a desvantagem de ter que lembrar de ajustar quando tags forem inclusas/modificadas no layout.

Editado por Gabriel Bonzanini
  • Curtir 2
Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...

Estamos criando uma lista fixa dos campos que podem ser alterados.

Apenas para encerrar o tópico, e por curiosidade: algum dos programadores poderia comentar acerca das vantagens que motivaram a alteração da seção das propriedades (de published para public), removendo assim o RTTI das mesmas?

 

Grato pela atenção.

Link para o comentário
Compartilhar em outros sites

  • 1 mês depois ...
Em 19/07/2019 at 12:00, Gabriel Bonzanini disse:

Estamos criando uma lista fixa dos campos que podem ser alterados.

Apenas para encerrar o tópico, e por curiosidade: algum dos programadores poderia comentar acerca das vantagens que motivaram a alteração da seção das propriedades (de published para public), removendo assim o RTTI das mesmas?

 

Grato pela atenção.

Olá pessoal.

 

Perdão pelos posts em sequência, mas é que já faz algum tempo e gostaria de encerrar este assunto... Alguém que tenha participado do refactoring poderia dar um retorno a respeito da alteração em si?

 

Grato pela atenção.

Link para o comentário
Compartilhar em outros sites

  • Consultores

Obrigado por reportar.

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

  • Curtir 2
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

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