Como o assunto está em alta vou escrever um artigo simples de como migrar do Trunk para o Trunk2 do ACBr, um passo-a-passo bem focado que pode ajudar aos que ainda não migraram.
Removendo o ACBr antigo
Primeiro passo é limparmos o antigo Trunk1 ACBr do Delphi, para isso vamos fazer o seguinte:
- Abra o delphi e vá até o menu Tools, Options, Library Path, remova todos os diretórios ACBr da lista;
- Ainda no delphi vá até o menu Components, Install Packages, remova todos os pacotes do ACBr da lista, clicando no pacote e depois no botão “Remove”;
- Feche o Delphi.
Baixando o Trunk2
Agora iremos remover o Trunk1 ACBr do computador e baixar uma nova cópia do Trunk2 ACBr, siga estes passos:
- Faça um backup do seu antigo diretório ACBr e apague-o;
- Crie uma nova pasta com o nome de sua preferência, por exemplo “ACBr”;
- Clique com o botão direito do mouse nesta nova pasta criada e clique na opção “Checkout” do Tortoise;
- Informe o seguinte endereço: svn://svn.code.sf.net/p/acbr/code/trunk2, continue e aguarde até que o checkout termine;
- Terminado o checkout, entre na pasta e execute o arquivo apagarACBr.bat, ele irá remover todos os arquivos e pacotes antigos do ACBr que ainda estão presentes no computador.
Instalando o Fortes Report
Agora no Trunk2 não teremos mais a quantidade de “motores” de relatórios que tinhamos no Trunk1, porque optamos por fazer isso, simples, agora podemos focar em melhor qualidade tendo uma gama menor de “motores” para nos preocupar, para o Trunk2 escolhemos dois “motores” de relatórios:
- Fortes Report, por ser gratuito, open-source e estar em plena atividade, recebendo contribuições e sendo atualizado sempre.
- Fast Report, este já é o motor padrão de relatórios do delphi a algum tempo, então todas as versões mais novas do Delphi se instaladas com as opções padrão já o tem instalado.
Vou fazer um breve parenteses e mostrar como instalar o Forte Report:
- Baixe a ultima versão do Forte Report no endereço: https://github.com/fortesinformatica/fortesreport-ce, você pode escolher baixar o arquivo .zip para seu computador utilizando a opção “donwload zip” ou baixar usando GIT ou SVN, o processo é o mesmo para baixar o ACBr se usado o SVN, você cria uma pasta, clica com o botão direito nela, checkout e informa o endereço.
- Com o Fortes em mãos, abra o Delphi;
- Clique em abrir e navegue até o diretório onde está sua cópia do Fortes, entre na pasta “\trunk\Packages” e abra o arquivo .dpk referente a sua versão do Delphi;
- No project manager, clique com o botão direito no pacote e depois em “Compile”;
- Agora ainda no project manager, clique com o botão direito novamente e depois em “Install”, uma mensagem informando que os pacotes foram instalado será mostrada;
- Abra o explorer e navegue até o diretório: “\trunk\Source”, copie os arquivos *.dcr, *.dfm, *.res;
- Navegue até a pasta binary, dentro dela foi criada uma pasta com o nome da sua versão do delphi entre na pasta e cole os arquivos copiados anteriormente;
- Pronto o seu Fortes está instalado e funcionando.
IMPORTANTE: Nós do ACBr não damos suporte ou manutenção ao Fortes, para isso utilize o site do Fortes no GitHub, abra um ticket utilizando a opção “Issue” do GitHub.
Instalando o Trunk2
Agora sim vamos ao que interessa, instalar a cópia novinha que baixamos do Trunk2 anteriormente, tudo é muito simples porque temos uma ferramenta maravilhosa chamada ACBrInstall que faz tudo para nós.
Execute o ACBrInstall_Trunk2.exe que está na raiz do diretório onde você baixou o Trunk2 ACBr, um passo-a-passo de instalação será iniciado nos guiando pelo processo de instalação do ACBr.
- Na tela de boas vindas nos apresentamos alguns links do projeto, aproveita e navegue até o link do ACBrSAC e faça sua assinatura contribuindo para a melhoria do Projeto aCBr, após isso clique em “próximo”;
- Na tela de configurações vamos configurar nossa instalação
- Verifique se o diretório de instalação está informado corretamente;
- Marque a opção “Deixar somente a pasta LibXXX no library path” se você deseja utilizar somente os arquivos compilados;
- Marque a opção “Copiar todas as Dll’s” para que o install copie as dlls do opensll e outras necessárias para o system do windows;
- Clique em “próximo”
- Na tela de seleção do que será instalado marque tudo que deseja que seja instalado, lembrando que o ACBrNFSe e ACBRGNRE ainda não estão totalmente portados, então não os marque pois poderão ocorrer erros durante a instalação se eles forem marcados, aproveite e escolha o “motores” de impressão que você deseja utilizar, clique em “próximo”
- Como baixamos uma cópia nova do repositório não é necessário fazer nenhuma atualização, clique novamente em “próximo”
- Finalmente clique no botão “Instalar”, todos os pacotes serão compilados e adicionados ao Delphi;
- Terminada a compilação clique em “próximo” e finalize o instalador.
IMPORTANTE: em caso de erros durante a instalação revise os erros abrindo o log, alguns erros são simples de resolver e geralmente tem a ver com os “motores” de impressão, na maioria das vezes o usuário marca um e ele não foi instalado, em todo caso o fórum do Projeto ACBr é nosso amigo é sempre tem gente disposta a ajudar, basta consultá-lo, antes de abrir um novo tópico faça uma busca e se não encontrar nada, abra um novo tópico que teremos o prazer de ajudar.
Principais diferenças entre o Trunk1 e Trunk2
A principal motivação para fazermos o Trunk2 do ACBr foi a reestruturação do projeto em um todo, tornando-o mais orientado a objetos, mais estruturado, flexível, expansível e de fácil manutenção, como em toda a mudança, alguns ovos são quebrados, portanto, algumas coisas as quais você estava acostumado estão diferentes, nada que vá tornar seu projeto “incompilavel”, mas que devem ser revisadas com carinho e atenção, as principais alterações são:
- Algumas units foram renomeadas para facilitar o entendimento do que elas fazem e separar quem é de quem, evitando a mistura que o antigo trunk promovia, alguns exemplos: ACBrNFeUtil virou ACBrDFeUtil, pcnConversao agora existe em dois sabores, pcnConversaoNFe e pcnConversaoCTe;
- Alguns métodos foram renomeados para nomes padronizados e seguindo a nomenclatura do projeto e do Delphi, como por exemplo “EnviarEvento”;
- As propriedades do certificado agora podem ser lidas diretamente sem necessidade de casts, basta acessar a propriedade SSL do ACBrNFe (ACBrNFE.SSLL);
- O envio de e-mail é todo baseado no componente ACBrMail, então para que o ACBrNFe consiga enviar e-mails é necessário um componente ACBrMail ligado a ele, isso é interessante pois agora basta configurar o componente ACBrMail uma vez e todos os componente ligados a ele conseguirão enviar e-mails normalmente;
- A impressão de comprovantes em impressoras não fiscais agora conta com um componente novo, o ACBrPosPrinter, ele possui todo o suporte e configurações necessárias a impressão em todos os modelos de impressoras não fiscais mais comuns do mercado, ligando ele a outros componentes é possível imprimir diretamente para impressoras não fiscais de forma muito rápida e altamente configurável, ele também aceita impressão em rede pelo endereço IP, muito útil em ambientes com uma impressora não fiscal que possui porta ethernet;
Muitas melhorias foram feitas e tudo está rodando em produção a alguns meses, não precisam ter medo de estabilidade, eu mesmo utilizo o Trunk2 em produção já a cerca de 4 meses, para os que desejam continuar utilizando o Trunk1 fica o recado, o suporte a ele foi extinto por parte do core do Projeto ACBr a cerca de 3 meses, então ele não vem sendo atualizado, quem continuar utilizando pode a longo prazo ter problemas, a NF-e é um exemplo caso haja uma mudança de endereço dos webservices, como a que ocorrerá dia 01/10/2015 próximo, o Trunk 1 já não conseguirá se comunicar com os webservices alterados.
Um conselho para quem quer migrar e migrar com calma, monte um computador ou máquina virtual, instale o Delphi ou Lazarus e o Trunk2 ACBr neste computador, faça toda a migração e testes com calma, estude os demos do ACBr, consulte o fórum, feita a migração, teste internamente e coloque em 1 ou 2 clientes essa versão migrada, quando você tiver plena certeza que seu software está 100% ai sim atualize todos os seus clientes e pare de usar o Trunk1 ACBr.
Mais uma vez, tudo isso está amplamente discutido no fórum do Projeto ACBr, basta consultá-lo, com certeza você encontrará o que procura no fórum e poderá terminar sua migração com tranquilidade.
Um recado a todos os usuários do ACBr que lerem o artigo, contribuam de alguma forma, seja com código, seja respondendo dúvidas no fórum ou até mesmo assinando o nosso ACBrSAC, hoje o nosso maior problema e não possuir um grupo dedicado full time ao projeto, nos do core dedicamos tempo livre ao ele buscando sempre melhorá-lo, com a ajuda das assinaturas do ACBrSAC podemos manter programadores em tempo integral tornando assim mais rápidas as alterações e melhorias, pense bem nisso, ajude, se você parar para pensar o ACBr traz muito mais retorno do que é cobrado no ACBrSAC, pense nisso.
Espero que este pequeno artigo possa ajudar a todos e que tão logo todos possam usufruir das melhorias que o Trunk2 vem trazendo, grande abraço e até o próximo artigo, não esqueçam de curtir e compartilhar.
ERRATA: As Urls que citei também foram atualizadas no Trunk1, como alguns usuários ainda utilizam o Trunk1, achamos por bem atualizar as Urls nele para não gerar maiores problemas a quem ainda o utiliza.