DEV Community

Liz Vidotti
Liz Vidotti

Posted on

1

Gerador de documentos para o Salesforce Industries

O Gerador de Documentos para Industries é uma aplicação que permite que o usuário crie documentos a partir de templates pré-definidos ou templates customizados. Dessa forma, os documentos são gerados de forma rápida, consistente e precisa.

Com esta aplicação, podemos mesclar arquivos de texto, como editor de textos ou de slides com outras fontes de dados, como registros de objetos Salesforce, para criar contratos, propostas, cotações e relatórios. Os documentos gerados podem ser exportados no formato .docx, .ppt e .pdf.

Vantagens

  • Gerar documentos de forma rápida e precisa;
  • Controle de versões, onde podemos criar diversas versões de um único template, de acordo com as mudanças que atendam as necessidades de negócio;
  • Contratos de venda com a capacidade de mesclar dados de mais de um objeto Salesforce;
  • Documentos de proposta detalhados, que mesclam diversos segmentos de dados em um único documento;
  • Cotações complexas e integradas;
  • Criação de relatórios simples e/ou complexos.

Document Template Designer

Esta ferramenta permite criar templates de documentos a partir de templates existentes ou completamente novos, de forma declarativa, ou seja, sem a necessidade de códigos. Podemos configurar parágrafos, colunas, mesclar textos e imagens, etc. Os templates ajudam a otimizar os processos de negócio.

Ela permite que os documentos sejam gerados em formato HTML, Microsoft Word (.docx) e Microsoft PowerPoint (.pptx). Para a criação de documentos complexos, que necessitam de cálculos, lógica e inserção de dados dinâmicos, podemos configurar tokens para os templates, que suportam diversos tipos e funções:

  • Variáveis: podemos passar as informações necessárias, em formato JSON, para o preenchimento do documento. Essas informações são armazenadas em variáveis e permitem que os dados sejam preenchidos de forma dinâmica;
  • Conteúdo de repetição: podemos inserir, por exemplo, listas de produtos em um único documento;
  • Condicionais: podemos inserir determinada informação quando condições pré-definidas no template são atendidas;
  • Imagens;
  • Editor de textos: podemos configurar cor, fonte, parágrafos, etc;
  • Hyperlink: podemos inserir URLs dinâmicas para a criação de documentos.

Mapeamento de dados

Podemos mesclar dados de registros de objetos Salesforce para a criação de documentos. Os objetos que podem ser utilizados são: Contract, Opportunity, Order e Quote. Podemos criar diversas seções no mesmo documento, onde cada seção importa dados de um único objeto.

O mapeamento de dados baseado em objetos é tipicamente usado para criar documentos no formato HTML. Ele é de fácil construção, porém é menos flexível do que o mapeamento de dados JSON.

Image description

Também é possível mesclar dados de sistemas externos ao Salesforce. Esses dados devem ser integrados ao Salesforce no formato JSON. Podemos criar um componente DataRaptor ou classe Apex para extração e formatação dos dados que serão enviados para o gerador de documentos.

O mapeamento de dados baseado em dados JSON é usado para a criação de documentos HTML, Microsoft Word e Microsoft PowerPoint, e a fonte de dados pode ser interna ou externa ao Salesforce.

Image description

Para que possamos inserir as informações necessárias para a geração de documentos, utilizamos os chamados tokens. Esses tokens podem ser de vários tipos:

  • Variável: mostra o valor da variável que é passada para o template através de elemento no formato JSON;
{{token_name}}
Enter fullscreen mode Exit fullscreen mode
  • Conteúdo de repetição: repete o conteúdo de uma seção;
{{#token_name}} //o sinal # indica que o conteúdo se repete tantas vezes forem a quantidade de itens dos dados de entrada no formato JSON
{{/token_name}} //aqui é indicada a _tag_ de fechamento
AND
{{^token_name}} //o sinal ^ indica o que deve ser exibido caso o item não exista ou esteja vazio.
{{/token_name}} //aqui é indicada a _tag_ de fechamento
Enter fullscreen mode Exit fullscreen mode
  • Condicionais: se determinada condição é verdadeira, a seção é mostrada no documento;
{{#IF_token_name}} //aqui, a seção aparecerá somente se a condição for VERDADEIRA
{{/IF_token_name}} //tag de fechamento
AND
{{^IF_token_name}} //aqui, a seção aparecerá somente se a condição for FALSA
{{/IF_token_name}} //tag de fechamento
Enter fullscreen mode Exit fullscreen mode
  • Imagem: inserir imagem de forma dinâmica;
{{IMG_<imagetokenname>}}
Enter fullscreen mode Exit fullscreen mode
  • Rich text: mostra o conteúdo rich text em seu formato original;
{{RTB_<richtexttokenname>}}
Enter fullscreen mode Exit fullscreen mode
  • Hyperlinks: inserir URL dinâmica;
{{HYP_<hyperlinktokenname>}}
Enter fullscreen mode Exit fullscreen mode

Os dados recebidos podem vir de uma classe Apex ou do componente DataRaptor.

Client-side & server-side

Podemos criar processos para geração de documentos através de componentes Omniscript, Integration Procedure e classes Apex. O processo pode ser client-side ou server-side.

  • Client-side: o processo é tipo síncrono, através de um componente Omniscript, onde o usuário precisa executar ações, como preenchimento de informações necessárias para a geração do documento. Este processo utiliza recursos do navegador web e, por estes motivos, funciona com arquivos menores.
  • Server-side: o processo é tipo assíncrono, ou seja, ocorre através de um processo automático, sem a necessidade de interação do usuário. Este processo utiliza recursos do próprio Salesforce, o que permite a criação de arquivos maiores e criação de arquivos em lote.

Client-side

Para preencher as informações necessárias na criação de documentos client-side, podemos:

  • Criar um Omniscript: podemos criar um Omniscript que capture os dados de entrada do usuário em um formulário e leve os dados para o document template;
  • Customizar o Omniscript padrão na plataforma: para que o Omniscript seja capaz de gerar o documento, o template configurado deve ter sempre dois DataRaptors relacionados; o DataRaptor Extract e o DataRaptor Transform;
  • Uitilizar a entrada de dados do tipo JSON: podemos criar um classe Apex que extraia os dados do Salesforce e leve os dados no formato JSON para o document template. Este processo é ideal para documentos que possuam mais de 200 itens.

Server-side

  • Automatizar a geração de documentos com APIs;
  • Utilizar diversas ferramentas, como classes Apex, Integration Procedures e Omniscripts;
  • Gerar documentos mais pesados e/ou múltiplos documentos através de processos batch, que utilizam os recursos do Salesforce, ao invés dos recursos do navegador. Documentos mais pesados normalmente possuem muitas linhas, tabulação complexa e muitos tokens;

Fonte:
Deep Dive into Salesforce Document Generation
Industries Document Generation Foundation

AWS Security LIVE!

Join us for AWS Security LIVE!

Discover the future of cloud security. Tune in live for trends, tips, and solutions from AWS and AWS Partners.

Learn More

Top comments (0)

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay