O ACBr é um framework para implementar rotinas de automação comercial em Delphi. Devido a facilidade RAD que o Delphi oferece, este framework está estruturado em diversos componentes que permite:

  • geração e envio de diversas notas fiscais eletrônicas: NF-e, NFS-e, CT-e, NFC-e e outros;
  • Integração com equipamentos de PDV como ECF, impressoras, leitores de código, letreiros eletrônicos, balança e gavetas;
  • Implementação de PAF-ECF incluindo TEF, geração de arquivos e assinatura criptografada exigida pela legislação;
  • Geração e impressão de Boletos;
  • Implementação de sistema de ponto;
  • Acesso a webservices públicos de apoio a automação comercial como Códigos tributários, ceps, códigos do IBGE, NCMs, e
  • Diversos componentes úteis para melhorar desempenho ou adicionar recursos inerentes a automação comercial.
Principais componentes: ACBr DF-e Principais componentes: ACBr Serial Principais componentes: ACBr TXT Principais componentes: ACBr TCP
#PraCegoVer - Transcrição dos Slides Principais componentes ACBr DF-e: TACBrNFe, TACBrNFeDANFeRL, TACBrNFSe, TACBrNFSeDANFSeFR, TACBrCTe e TACBrCTeDACTEFR. DF-e é o grupo de componentes que enviam documentos eletrônicos ao web service da SEFAZ. Inclui NF-e, NFS-e, NFC-e, CT-e, o próprio MDF-e e o Sat-Fiscal.
Principais componentes do ACBr Serial: TACBrECF, TACBrRFD, TACBrGAV// TACBrBAL, TACBrETQ, TACBrSMS// TACBrCHQ, TACBrLCB, TACBrDIS, TACBrTER // TACBrPosPrinter E TACBrECFVirtualNaoFiscal. É o grupo de componentes para interagir com equipamentos comerciais: PDV, letreiros, balanças e ECFs
Os principais componentes do ACBr TXT são: TACBrPonto, TACBrSPEDContabil, TACBrSPEDFCont, TACBrSPEDFiscal, TACBrSPEDPisConfins e TACBrSintegra. São componentes para gerar arquivos fiscais de apuração para atender legislações diversas. Inclui Speds, Sintegra e outros
Os principais componentes do ACBr TCP são: TACBrTCPServer, TACBrCEP, TACBrIBGE, TACBrNFPws, TACBrCNIEE, TACBrSuframa, TACBrDownload, TACBrIBPTax, TACBrConsultaCNPJ, TACBrConsultaCPF, TACBrCotacao, TACBrMail, TACBrSpedTabelas, TACBrSedex, TACBrNCMs. Inúmeros componentes que acessam serviços úteis na web para dar apoio a sistemas de Automação comercial

Pré requisitos para instalação do ACBr

O instalador do ACBr basicamente compila os códigos fontes que ele baixa de um servidor SVN e instala os componentes compilados no Delphi. Desta forma, é obrigatório que o computador já tenha o Delphi instalado, além de um aplicativo Client para controle de versões SVN.

Aqui instalaremos uma opção conhecida como Tortoise SVN. O primeiro passo é ir até o site do aplicativo e localizar a opção de download conforme indicado na Figura 1.

Site para download do Tortoise SVN
Figura 1. Site para download do Tortoise SVN

Assim que o instalador tiver sido baixado completamente, execute-o e clique em “Next” nas telas que aparecem até que surja o botão “Finish”, conforme mostrado na Figura 2.

Passo a passo para instalar Tortoise
Figura 2. Passo a passo para instalar Tortoise

Erros na instalação e soluções

Em alguns raros casos, percebe-se erros na instalação do ACBr oriundo de vários problemas, que envolvem versões ou presença de mais de uma versão do Delphi, problemas de compilação de Units pelo instalador ou problemas envolvendo outros arquivos que não necessariamente são de extensão .pas.

Embora sejam raros os casos, é possível solucionarmos utilizando algumas dicas que veremos na sequência.

Instalação Manual do ACBr

Consiste em criar no Delphi um arquivo de grupo de projeto onde deve ser adicionado cada pacote (*.dpk) do ACBr que foi baixado pelo Tortoise SVN. Em seguida, é necessário adicionar no library do Delphi o caminho dos arquivos fontes pertencentes aos pacotes adicionados (menu Tools). Uma vez que os pacotes tenham sido adicionados juntamente com as referências no library do Delphi, devemos clicar com o botão direito do mouse e selecionar a opção Build All.

Uma vez que o Build tenha sido realizado, então avance para o próximo passo que será clicar com o botão direito do mouse em cada pacote e selecionar a opção install, observando que alguns pacotes não possuirão esta opção pelo fato de serem pacotes run-time.

Abaixo segue a sequência correta dos pacotes que devem ser adicionados para realizar um Build sem erros:

  • Delphi\synapse\ACBr_synapse.dpk
  • Delphi\ACBrComum\ACBr_Comum.dpk
  • Delphi\ACBrDiversos\ACBr_Diversos.dpk
  • Delphi\PCNComum\ACBr_PCNComum.dpk
  • Delphi\ACBrTXT\ACBr_TXTComum.dpk
  • Delphi\ACBrOpenSSL\ACBr_OpenSSL.dpk
  • Delphi\ACBrSerial\ACBr_Serial.dpk
  • Delphi\ACBrBoleto\ACBr_Boleto.dpk
  • Delphi\ACBrBoleto\FC\Fortes\ACBr_BoletoRL.dpk
  • Delphi\ACBrBoleto\FC\Fast\ACBr_BoletoFR.dpk
  • Delphi\ACBrTCP\ACBr_MTER.dpk
  • Delphi\ACBrTCP\ACBr_TCP.dpk
  • Delphi\ACBrDFe\ACBr_DFeComum.dpk
  • Delphi\ACBrTEFD\ACBr_TEFD.dpk
  • Delphi\ACBrTXT\ACBrSPED\ACBr_SPED.dpk
  • Delphi\ACBrTXT\ACBrSintegra\ACBr_Sintegra.dpk
  • Delphi\ACBrTXT\ACBrSEF2\ACBr_SEF2.dpk
  • Delphi\ACBrTXT\ACBrPonto\ACBr_Ponto.dpk
  • Delphi\ACBrTXT\ACBrPAF\ACBr_PAF.dpk
  • Delphi\ACBrTXT\ACBrLFD\ACBr_LFD.dpk
  • Delphi\ACBrTXT\ACBrDeSTDA\ACBr_DeSTDA.dpk
  • Delphi\ACBrTXT\ACBrConvenio115\ACBr_Convenio115.dpk
  • Delphi\ACBrDFe\ACBrBlocoX\ACBr_BlocoX.dpk
  • Delphi\ACBrDFe\ACBrBPe\ACBr_BPe.dpk
  • Delphi\ACBrDFe\ACBrCTe\ACBr_CTe.dpk
  • Delphi\ACBrDFe\ACBrCTe\DACTE\Fast\ACBr_CTeDacteFR.dpk
  • Delphi\ACBrDFe\ACBrCTe\DACTE\Fortes\ACBr_CTeDacteRL.dpk
  • Delphi\ACBrDFe\ACBrGNRE\ACBr_GNRE.dpk
  • Delphi\ACBrDFe\ACBrGNRE\GNRE\Fast\ACBr_GNREGuiaFR.dpk
  • Delphi\ACBrDFe\ACBrGNRE\GNRE\Fortes\ACBr_GNREGuiaRL.dpk
  • Delphi\ACBrDFe\ACBrMDFe\ACBr_MDFe.dpk
  • Delphi\ACBrDFe\ACBrMDFe\DAMDFE\Fast\ACBr_MDFeDamdfeFR.dpk
  • Delphi\ACBrDFe\ACBrMDFe\DAMDFE\Fortes\ACBr_MDFeDamdfeRL.dpk
  • Delphi\ACBrDFe\ACBrNFSe\ACBr_NFSe.dpk
  • Delphi\ACBrDFe\ACBrNFSe\DANFSE\Fast\ACBr_NFSeDanfseFR.dpk
  • Delphi\ACBrDFe\ACBrNFSe\DANFSE\Fortes\ACBr_NFSeDanfseRL.dpk
  • Delphi\ACBrDFe\ACBrSATWS\ACBr_SATWS.dpk
  • Delphi\ACBrDFe\ACBrNFe\ACBr_NFe.dpk
  • Delphi\ACBrDFe\ACBrNFe\DANFE\NFe\Fortes\ACBr_NFeDanfeRL.dpk
  • Delphi\ACBrDFe\ACBrNFe\DANFE\NFe\Fast\ACBr_NFeDanfeFR.dpk
  • Delphi\ACBrDFe\ACBrNFe\DANFE\NFCe\EscPos\ACBr_NFeDanfeESCPOS.dpk
  • Delphi\ACBrDFe\ACBrNFe\ACBrECFVirtualNFCe\ACBr_NFCeECFVirtual.dpk

Erro de Units não identificadas

Quando uma unit não é identificada ou não localizada, a mesma é marcada pelo compilador, geralmente com a mensagem [dcc32 Fatal Error] Unit.pas(0): F2613 Unit 'xxx' not found.

Esse erro ocorre, na maioria das vezes, ao esquecer de adicionar o path da mesma no library do Delphi, como mencionado no tópico anterior.

Além disso, este problema pode ser causado por conta de algumas versões mais antigas do Delphi que não possuíam “namespaces”. As versões mais recentes das units possuem sufixos que distinguem suas plataformas, por exemplo, a classe TForm, encontrada na unit Forms, em versões mais recentes do Delphi pode ser referenciada a unit VCL.Forms ou FMX.Forms.

A solução simples para este problema é adicionar à Unit o sufixo “VCL” antes da Unit que estiver gerando o erro em questão.

Erro de resource

Esse erro ocorre na instalação e é gerado quando uma versão do Delphi compila arquivos de resources (*.res) numa versão diferente, sobrescrevendo os originais que foram baixados do repositório do ACBr.

Uma forma simples de solucionar é encontrar a pasta de pacotes do ACBr e solicitar ao Tortoise a reversão (clicando com o botão direito selecione o Revert no menu do Tortoise). Em seguida, o controlador de versões mostrará os arquivos .res com problemas. Basta dar ok para que o Tortoise coloque os arquivos originais de volta e na sequência podemos proceder com a instalação normal dos componentes.

Sugestão de conteúdo