Olá pessoal.
Temos novidades na área das impressões dos DF-e.
Com o objetivo de facilitar o trabalho e reduzir a duplicação de código, estamos promovendo um refactoring nas classes de impressões de DF-e. Essas alterações ainda não foram enviadas ao SVN, mas queremos avisar com antecedência para que todos possam se preparar.
Fizemos um vídeo para explicar os objetivos e as principais alterações. Você pode acessar aqui:
Mas... se você não é muito fã de vídeos, vou resumir os principais pontos nesse tópico.
Os objetivos desse refactoring são:
Diminuir código duplicado;
Padronizar os componentes de impressão;
Isso vai simplificar o trabalho com componentes diferentes;
Minimiza a necessidade de aprender vários detalhes diferentes;
Melhor organização de código;
Mais fácil pra você ler, entender e debugar o código;
Lançar base para melhorias futuras;
Podemos resumir a principal diferença como: Agora há classes para padronizar o comportamento mesmo em componentes de impressão diferentes.
Na nova estrutura os componentes de impressão herdam da classe base TACBrDFeReport (unit ACBrDFeReport.pas) que se encontra no pacote ACBrDFeComum. Esta classe visa englobar todas as propriedades e/ou métodos que são usados por todas as impressões DFe. Por exemplo: PathPDF, CasasDecimais, etc..
Se assemelha a esse organograma:
Veja algumas propriedades que foram alteradas, removidas ou mudaram de nome:
Essas são as modificações principais. Podem haver outras, mas acreditamos que são menores e darão menos dor de cabeça.
A previsão é enviar ao SVN antes do Dia do ACBr. Assim que enviarmos ao SVN vou postar uma nova mensagem aqui.