一键导入
delphi-acbr-integration
Arquitetura e padrões de integração com o ecossistema ACBr (Automação Comercial Brasil) em Delphi. Desacoplamento de UI e controle fiscal.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Arquitetura e padrões de integração com o ecossistema ACBr (Automação Comercial Brasil) em Delphi. Desacoplamento de UI e controle fiscal.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Diretrizes de SOLID, Clean Code e padrões de nomenclatura para classes, interfaces, métodos e variáveis em projetos Delphi.
Desenvolvimento de microserviços e APIs REST com o framework minimalista Horse em Delphi. Rotas, controllers, middlewares, gerenciamento de memória e tratamento de parâmetros.
Diretrizes de qualidade e desenvolvimento de templates HTML e páginas dinâmicas com Web Stencils (Server-Side Rendering) no Delphi.
Diretrizes e mapeamentos de expressões regulares para migração de componentes Borland Database Engine (BDE) para FireDAC no Delphi.
Diretrizes e mapeamentos de expressões regulares para migração de componentes dbExpress (DBX) para FireDAC no Delphi.
Diretrizes de qualidade e desenvolvimento de APIs web, ORM, injeção de dependências e testes utilizando o Dext Framework em Delphi.
| name | delphi-acbr-integration |
| description | Arquitetura e padrões de integração com o ecossistema ACBr (Automação Comercial Brasil) em Delphi. Desacoplamento de UI e controle fiscal. |
Esta guia define boas práticas para integrar componentes do ecossistema ACBr (NFe, NFCe, SAT, TEF, Boleto) mantendo a arquitetura limpa, testabilidade e desacoplamento visual.
NUNCA instancie componentes ACBr diretamente nos formulários de interface visual (
TForm/TFrame). O acoplamento de lógica fiscal à tela inviabiliza testes unitários e dificulta a portabilidade do projeto para cenários sem interface gráfica (ex: microserviços REST ou automações em lote).
Crie classes de serviços de infraestrutura (encapsulados por interfaces) para inicializar, configurar e disparar as ações dos componentes fiscais em tempo de execução:
type
INFeEmissor = interface
['{B94C6D5F-1D10-4A92-B796-03C89B10065F}']
function EmitirNota(const ANotaFiscal: TNotaFiscalData): TEmissionResult;
end;
TNFeEmissorACBr = class(TInterfacedObject, INFeEmissor)
private
FAcbrNFe: TACBrNFe;
FConfig: IAppConfig;
procedure ConfigureGeral;
public
constructor Create(AConfig: IAppConfig);
destructor Destroy; override;
function EmitirNota(const ANotaFiscal: TNotaFiscalData): TEmissionResult;
end;
Sempre configure as diretivas de criptografia e transmissão (ex: OpenSSL vs. WinCrypt) dinamicamente via código dentro da classe de serviço, adaptando-se ao sistema operacional (especialmente em cenários multi-dispositivo ou servidores Linux):
FAcbrNFe.Configuracoes.Geral.SSLLib := libWinCrypt; // Windows
// FAcbrNFe.Configuracoes.Geral.SSLLib := libOpenSSL; // Linux / Docker
Componentes de TEF (ACBrTEFD) dependem fortemente de eventos para interagir com o operador (ex: OnExibeMensagem, OnAguardaDigitacao).
Para manter o componente isolado da camada visual:
IPresentationHandler) e as injete na sua classe de serviço que manipula o TEF.type
ITefPresentation = interface
procedure ShowMessage(const AMsg: string);
procedure ClearScreen;
end;
Ao registrar instâncias ou criar componentes em DataModules de suporte, utilize os seguintes prefixos padronizados:
| Componente ACBr | Descrição | Prefixo Recomendado | Exemplo |
|---|---|---|---|
TACBrNFe | Emissão de Nota Fiscal Eletrônica | acbrNfe | acbrNfeFiscal |
TACBrNFCe | Emissão de Cupom Fiscal Eletrônico | acbrNfce | acbrNfceCupom |
TACBrCTe | Conhecimento de Transporte Eletrônico | acbrCte | acbrCteTransp |
TACBrBoleto | Gestão e Geração de Boletos Bancários | acbrBoleto | acbrBoletoCobranca |
TACBrTEFD | Integração com Transferência Eletrônica de Fundos | acbrTef | acbrTefPagamento |
TACBrPosPrinter | Controle de Impressoras Não Fiscais (EscPOS) | acbrPosPrinter | acbrPosPrinterTerm |
TACBrSAT | Emissão de cupons via equipamento SAT | acbrSat | acbrSatCupom |