A padronização dos sistemas de pagamento cria não apenas novos padrões, mas também novos documentos construídos sobre esses padrões. O sistema de relatórios deve fornecer a seus usuários uma maneira rápida e conveniente de criar esses documentos típicos.
O EPC é o padrão do Conselho Europeu de pagamentos (European Payments Council). Projetado para simplificar a codificação das informações de pagamento na "Área única de pagamento em euro" através de um código QR. Esse código de barras contém todas as informações necessárias para efetuar um pagamento. Um exemplo de informações codificadas podemos ver na tabela abaixo.
Service Tag: |
BCD |
Version: |
001 |
Character set: |
1 |
Identification: |
SCT |
BIC: |
BPOTBEB1 |
Name: |
Red Cross |
IBAN: |
BE72000000001616 |
Amount: |
EUR1 |
Reason (4 chars max): |
CHAR |
Ref of invoice: |
Empty line or REFINVOICE |
Or text: |
Urgency fund or Empty line |
Information: |
Sample EPC QR code |
No FastReport VCL, para simplificar a formação desses dados e organizá-los na forma de objetos, existem classes especiais de predefinições. A classe TfrxEPCPaymentPreset foi projetada para gerar rapidamente um código QR no formato EPC.
Consideramos como adicionar um código QR com uma classe de configurações EPC e conectamos os dados deste exemplo. O relatório é baseado em nosso aplicativo de demonstração "Nested Groups". O relatório foi ligeiramente modificado para exibir a lista de produtos comprados de cada uma das empresas. No final do documento de pagamento de cada empresa, queremos adicionar um código QR de acordo com o padrão EPC para que o cliente possa efetuar um pagamento rápido.
Selecione o objeto código de barras com o tipo "QRCode" na paleta de componentes FastReport VCL e coloque-o no porão da banda.
Clique no objeto código de barras e vá para a propriedade ExpressionPreset, expanda-o e selecione TfrxEPCPaymentPreset na propriedade PresetClass.
As configurações são atribuídas e agora podem ser abertas expandindo a propriedade DataObject no inspetor de objetos.
Em seguida, vinculamos os campos com os dados atuais. Arraste os campos necessários da árvore de dados para a propriedade desejada no inspetor de objetos.
Para inserir dados estáticos, você deve usar aspas simples, pois os dados do campo são expressões. Por exemplo, para especificar um valor fixo na propriedade IBAN, você deve usar o formato 'BE00000000000000'.
Juntamos todos os dados necessários para gerar o código, atribuindo as propriedades apropriadas.
Você pode executar um relatório de execução e garantir que o código de barras seja gerado no formato desejado.
Mas esses não são todos os recursos dessa classe de configurações. A propriedade DrawOptions permite controlar as configurações de exibição do quadro e informações adicionais de acordo com a norma scan2pay.
Consideremos essas propriedades com mais detalhes:
FillColor: è a cor de fundo preenchendo o código de barras.
FrameColor: è a cor do quadro com bordas arredondadas.
FrameVisible: ativa ou desativa o quadro dentro do código de barras.
FrameWidth: è a espessura do quadro interno.
Hint: são informações textuais adicionais.
HintType: determina onde mostrar informações adicionais:
Preencha os campos conforme o mostrado na captura de tela acima e execute o relatório de execução.
No final, recebemos um código de barras que corresponde ao padrão scan2pay. A peculiaridade dessas configurações é que o quadro e o texto são desenhados dentro do objeto (ao contrário do quadro ao redor do objeto, pelo qual as propriedades do quadro são responsáveis), e esse quadro será exibido corretamente em todos os formatos de arquivos exportados.