You are on page 1of 54

Manual Gerador Documento

27/01/2014
Gerador de Documento

Sumrio

1. Introduo .................................................................................................................................................... 3
2. Funcionalidades ........................................................................................................................................... 3
3. Requisitos .................................................................................................................................................... 4
4. Configurao dos Parmetros ..................................................................................................................... 4
5. Grupo de Informaes ................................................................................................................................. 5
6. Modelo de Documento ................................................................................................................................. 6
7. Documento................................................................................................................................................... 8
8. Dicionrio ..................................................................................................................................................... 12
9. Desenvolvimento do Template..................................................................................................................... 12
9.1 Lista de campos em uma tabela .................................................................................................................. 19
9.2 Lista de campos como um bloco.................................................................................................................. 20
9.3 Condicionais ................................................................................................................................................ 22
10. Mscaras ..................................................................................................................................................... 23
11. Ferramentas para modelar template ............................................................................................................ 24
12. Exemplos Passo a Passo ............................................................................................................................ 34

2 Verso 1.0
Gerador de Documento

1. Introduo

Atualmente, devido ausncia de uma funcionalidade de configurao com flexibilidade suficiente para permitir que o prprio
cliente realize alteraes nos modelos de contratos que utiliza, sempre que os mdulos de Crditos so contratados necessrio
customizar as funcionalidades de impresso de contratos e/ou fichas cadastrais para atender s necessidades especficas do
novo cliente e, alm disto, aps o mdulo j estar implantado em produo, sempre que surge a necessidade de quaisquer novas
alteraes nos contratos e fichas cadastrais j customizados, o cliente precisa solicitar novas customizaes da funcionalidade, o
que alm de representar custos para os clientes, ainda os sujeita a aguardar pelo prazo padro do ciclo de entrega de verses,
que agora bimestral, quando os prazos de entrega desejveis pelo cliente para as alteraes desta natureza geralmente so
menores.

2. Funcionalidades

Cadastro de Grupos de Informaes, que so conjuntos de campos de contedo varivel cujas informaes esto
relacionadas entre si como, por exemplo, o Grupo de Informaes (Entidade/Tabela) chamado Cliente que poderia conter os
campos de contedo varivel (Atributos/Colunas) chamados Cdigo e Nome. Outros exemplos de possveis Grupos de
Informaes: Contrato, Parcela, Garantia e Avalista. Desta forma, os campos de contedo varivel que estaro disponveis
para serem utilizados pelos usurios na confeco dos seus modelos (templates) de documentos sero definidos atravs dos
Grupos de Informaes, que tero pelo menos um comando SQL associado que, por sua vez, ser utilizado na obteno dos
dados correspondentes aos campos de contedo varivel. A manuteno dos Grupos de Informaes geralmente ser
realizada pela Totvs, mas eventualmente tambm poder ser realizada por clientes que tiverem o conhecimento necessrio
dos dicionrios de dados das bases da Totvs ou que desejarem manter Grupos de Informaes de dados que estejam
disponveis em outras bases de dados, que no as da Totvs.
Cadastro de Modelos de Documentos, atravs do qual sero armazenados (upload) e podero ser exportados (download)
os contedos dos arquivos de modelos (templates) de documentos que forem criados pelos clientes atravs de editores de
texto de mercado de sua preferncia. Somente podero ser efetivamente utilizados na gerao de documentos os arquivos de
modelos que forem gerados nos formatos ODF - OpenDocument Format (*.odt) ou OOXML - Office OpenXML (.docx) e que
estiverem devidamente cadastrados. Exemplos de Modelos de Documentos: Contrato PF, Contrato PJ, Ficha PF, Ficha PJ,
Ficha Avalista etc.
Cadastro de Grupos de Informaes X Modelos de Documentos, atravs do qual cada Modelo (template) de Documento
dever ser associado a um ou mais Grupos de Informaes. Desta forma, somente os campos de contedo varivel definidos
nos Grupos de Informaes que estiverem devidamente associados ao Modelo de Documento cadastrado que podero ser
utilizados/referenciados efetivamente pelos clientes no contedo dos arquivos dos respectivos Modelos de Documentos.
Cadastro de Documentos, atravs do qual devero ser cadastrados os Documentos que podero ser gerados pelos clientes,
por Mdulo/Sistema, ou seja, o mesmo critrio utilizado para o controle de acesso de Relatrios, no mdulo de Segurana.
Com isto, para fins de controle de acesso, um Documento ser equivalente a um Relatrio. Exemplos de Documentos:
Contratos, Fichas Cadastrais etc.
Cadastro de Modelos de Documentos X Documentos, atravs do qual cada Documento dever ser associado a um ou mais
Modelos (templates) de Documentos. Somente os documentos que estiverem associados a pelo menos um template estaro
disponveis para a gerao. Documentos que estiverem associados a mais de um template tero esta associao configurada
com condies de seleo que sero utilizadas para determinar qual dos templates associados o que dever ser utilizado
efetivamente na gerao do documento.
Solicitao de Gerao de Documentos, atravs da qual o usurio poder selecionar, por Mdulo/Sistema, o Documento a
ser gerado, informando tambm os respectivos Parmetros de Entrada que so necessrios para a gerao do mesmo.
Somente estaro disponveis para seleo os Documentos aos quais o perfil de acesso do usurio estiver liberado no mdulo
de Segurana. Aps o Documento ser selecionado os Parmetros de entrada que estiverem configurados para o mesmo sero
apresentados na tela, para que possam ser informados pelo usurio.

Verso 1.0 3
Gerador de Documento

Solicitao de Gerao de Documentos (Recebida via Web Service), atravs da qual as plataformas dos sistemas legados
tambm podero solicitar a gerao dos documentos, mesmo que no sejam plataformas Web.
Gerao de Documentos, atravs da qual:
sero executados os comandos SQL dos diferentes Grupos de Informaes que esto associados aos Modelos
(Templates) que esto associados ao Documento a ser gerado;
o Modelo (Template) de Documento a ser utilizado na gerao ser selecionado conforme as condies de seleo
previamente definidas;
as referncias aos campos de contedo varivel (#{sigla_grupo.sigla_campo}, #{sigla_grupo. sigla_campo[n]},
#{sigla_grupo.ini} e #{sigla_grupo.fim}) sero processadas e substitudas pelos contedos j formatados dos respectivos
campos, que foram obtidos atravs da execuo dos comandos SQL dos Grupos de Informaes associados ao Modelo de
Documento em questo;
o contedo resultante (documento final) ser gerado em formato PDF ou no formato original (docx ou odt).

3. Requisitos

Instalao do Java na verso 6.


OpenOffice.org v2.0.3 ou superior, a ltima verso estvel recomendada. (StarOffice 8, NeoOffice sendo baseado em
OpenOffice.org tambm deve funcionar)
Qualquer sistema operacional para o qual Java e OpenOffice.org est disponvel (Windows, Linux, Mac OS X, Solaris, FreeBSD,
etc)

4. Configurao dos Parmetros

Tenha certeza de que o OpenOffice.org esteja funcionando e rodando em uma porta, devemos agora configurar o seu host e ip no
app.xml para que o sistema possa acess-lo.
Segue configurao do app.xml:

...
<parametros>
<hostOpenOfficeServer><IP do servidor></hostOpenOfficeServer>
<portOpenOfficeServer><PORTA onde est rodando o servio></portOpenOfficeServer>
...
</parametros>
...

4 Verso 1.0
Gerador de Documento

5. Grupo de Informaes

Figura 1 Grupo de informaes

Para adicionar um novo Grupo de Informaes, basta selecionar o menu Cadastro > Grupo de Informaes e clicar no boto
Adicionar da barra de funes, conforme tela acima. Aps, ser apresentada a tela para cadastro do grupo de funes. Vide
abaixo.

Figura 2 - Grupo de informaes

Na tela de cadastro do Grupo de Informaes o usurio deve preencher todos os campos obrigatrios. Dever indicar se a
situao do grupo Ativa ou Inativa. Isto definir se ele poder ser utilizado como fonte de informao.

Verso 1.0 5
Gerador de Documento

O checkbox Mtiplos registros dever ser selecionado se o grupo de informao vai retornar mais de um registro, ou seja, ser
uma lista.
Para o campo Comando SQL, o usurio dever definir pelo menos um SQL, sendo: padro ANSI, Microsoft (SQL Server), Oracle
ou Sybase. Devero ser seguidas as sintaxes correspondentes. permitido o preenchimento de todos os tipos de banco, porm
somente um ser utilizando, dando-se preferncia para o padro ANSI.
Ainda no preenchimento do comando SQL, necessrio indicar antes dos nomes das tabelas, na clusula FROM, o banco ao
qual a tabela pertence. Exemplo: [credimaster]. O nome do banco dever estar de acordo com o configurado na tabela t900dbms.
necessrio colocar o nome do banco de dados entre colchetes [].
Os campos variveis (vide figura acima) so automaticamente disponibilizados na tela aps o preenchimento do comando SQL.
As siglas sero apresentadas de acordo com a lista de campos preenchida no select do comando SQL. Caso sejam utilizados
alias, estes sero apresentados no lugar do nome do campo.
A seo de parmetros do grupo de informaes ser preenchida automaticamente de acordo com o Comando SQL. Para que o
sistema identifique a existncia de parmetros no SQL, necessrio coloca-lo entre chaves {}, conforme exemplo da figura acima.
Aps o preenchimento dos campos obrigatrios, basta clicar em Salvar.

6. Modelo de Documento

Figura 3 Modelo de Documento

Para adicionar um novo modelo de documento, acessar a tela acima atravs do menu Cadastro > Modelo de Documento. Acione
o boto Adicionar da barra de funes para ser direcionado a tela de cadastro do Modelo.

6 Verso 1.0
Gerador de Documento

Figura 4 Modelo Documento

O cadastro do Modelo est dividido em duas partes: Dados e Grupo de Informaes. Na primeira devem ser cadastradas as
informaes bsicas do template, bem como importado o arquivo que ser utilizado como padro para gerao do documento.
Este arquivo dever estar j configurado com todos os campos variveis e formatado. Dever estar em formato Word (docx) ou
OpenOffice(odt). J na parte de Grupo de Informaes devem ser selecionados os grupos de informaes que foram utilizados na
montagem do template.
No boto Adicionar da tela acima, possvel incluir Grupos de Informaes a serem utilizados, j o boto Adicionar filho, adiciona
um grupo de informao como filho de outro, no exemplo acima, endereco filho de pessoa.
J o boto Exportar Campos Variveis ir gerar um arquivo XML com a estrutura de dados dos campos variveis dos grupos de
informaes selecionados (Ver figura abaixo). Este arquivo XML poder ser utilizado na confeco do template, conforme
explicado na seo 7.

Verso 1.0 7
Gerador de Documento

Figura 5

7. Documento

Figura 6 Documentos

Para cadastrar um novo documento necessrio acionar o menu Cadastro > Documento e clicar no boto Adicionar da barra de
funes, conforme figura acima. Aps, ser apresentada a tela abaixo.

8 Verso 1.0
Gerador de Documento

Figura 7 Documento

O cadastro de um novo documento compreende trs partes: dados de identificao do documento, os parmetros que sero
solicitados na gerao do documento e os possveis modelos para gerao do documento. Este cadastro far uso das definies
realizadas at ento, ou seja, para chegar at aqui necessrio realizar o cadastro do grupo de informaes bem como do
modelo/template.
Obs.: podero ser selecionados vrios modelos, porm somente um modelo ser utilizado na gerao do documento. Para isto
ser necessrio configurar condies de seleo, conforme ser explicado a seguir.

Figura 8 Documento

Na tela de parmetros (vide figura acima) o usurio pode definir quais so os parmetros necessrios para gerao do
documento. Os parmetros definidos nesta tela sero solicitados ao usurio na gerao do documento. Conforme pode ser visto
na figura, possvel definir o tipo de dados, mscara e a ordem na qual o campo dever ser apresentado na tela para o usurio.

Verso 1.0 9
Gerador de Documento

Tipos de Dados suportados:

Figura 9

O parmetro do tipo Texto Livre tem um comportamento diferente, este campo poder ser usado no template, ou seja, se
definirmos um parmetro do tipo texto livre chamado observao, no template poderemos usar o campo ${observao} e este
ser substitudo pelo valor informado pelo usurio na hora da gerao.

Figura 10 Condio de Seleo do Modelo de Documento

J na aba Modelo o usurio poder selecionar vrios modelos previamente cadastrados e, para cada modelo poder definir
condies de seleo, exemplificado na figura acima.
A condio de seleo pode ser um parmetro do documento ou um campo varivel do grupo de informao associado ao
modelo. Podem ser utilizados todos os operadores de comparao, inclusive LIKE.
Tambm na tela de seleo do Modelo deve ser feita a atribuio de parmetros. Isto consiste em relacionar os parmetros
definidos para os grupos de informaes com o parmetro do documento ou um campo varivel de outro grupo de informao.
Com base neste relacionamento o sistema ir adicionar os relacionamentos clusula WHERE do comando sql que ser
executado.
Tambm por meio deste relacionamento/atribuio, possvel relacionar (join) dois grupos de informaes.

10 Verso 1.0
Gerador de Documento

Figura 11 - Atribuio de Parmetro do Grupo de Informao

Feito isto, j possvel realizar a gerao do documento, conforme apresentado a seguir.

Para gerao do documento necessrio acessar o menu Gerao > Documento. Ser apresentada a tela abaixo, na qual dever
ser selecionado o Mdulo, o Documento desejado e, se houver, o Modelo, ainda disponibilizada a opo do tipo de sada, pdf ou
formato original (odt ou docx). O sistema ir, automaticamente, apresentar os parmetros necessrios para a gerao do
documento.

Figura 12 Gerao Documento

Verso 1.0 11
Gerador de Documento

8. Dicionrio

O dicionrio visa a facilitar a visualizao de todos os dados utilizados em um determinado documento. Para ter acesso ao
dicionrio basta selecionar o mdulo e o documento desejado, conforme mostra a figura abaixo.

Figura 13 Gerao Documento

9. Desenvolvimento do Template

O desenvolvimento do template compreende a criao de documentos com sua sintaxe, definindo os campos para substituio na
gerao do documento.

As tags a serem utilizadas como delimitadores das expresses contendo referncias aos campos de contedo varivel utilizaro a
sintaxe da EL - Expression Language do Java, ou seja, sero iniciadas por ${ e terminadas por }, ou seja, tero os seguintes
formatos:
${ sigla_grupo.sigla_campo }
${ sigla_grupo.sigla_campo [n] }

O Gerador de Documentos fornece a opo de criar documentos com MS Word e OppenOffice:

Microsoft Word (DOCX)

Os campos variveis devem seguir a sintaxe definida. Digitando os campos variveis diretamente no documento pode funcionar,
mas voc pode ter problemas com o estilo do campo. Portanto, aconselhvel utilizar o MergeField para definir os campos
variveis dentro do documento (template).

Esta seo explica como adicionar o campo ${projeto.nome} no contedo do documento template. Seguem as etapas:

Criando um simples campo de contedo varivel:

12 Verso 1.0
Gerador de Documento

Use o Ctrl+F9 aps o Projeto:

Figura 14

O MS Word vai gerar um campo { }. Selecione e clique com o boto direito do mouse para abrir o menu de contexto e selecione
Editar Campo... (Field modification...) do menu.

Figura 15

Esta ao abre a caixa de dilogo Campo (Field dialog). Selecione o item MergeField.

Verso 1.0 13
Gerador de Documento

Figura 16

Selecione o item MergeField e em Nome do campo (Field Name) digite: ${projeto.nome} e clique no boto OK.

Figura 17

MergeField est criado!

14 Verso 1.0
Gerador de Documento

Figura 18

Agora podemos utilizar um estilo no campo. Para fazer isso, selecione todo o campo varivel

Figura 19

Utilize o estilo como voc preferir.

Figura 20

Verso 1.0 15
Gerador de Documento

Este foi apenas um exemplo simples de criao de um campo varivel (MergeField), a sintaxe de template fornece uma grande
variedade de funcionalidades.

OpenOffice (ODT)

Os campos variveis devem seguir a sintaxe definida. Digitando os campos variveis diretamente no documento pode funcionar,
mas voc pode ter problemas com o estilo do campo. Portanto, aconselhvel utilizar o Campo de Entrada (InputField) para
definir os campos variveis dentro do documento (template).

Pressione Ctrl+F2 ou clique no item Inserir/Campos/Outros... ( Insert/Fields/Other.. ) no menu:

Figura 21

Esta ao abre a caixa de dilogo de Campos. Clique na aba Funes (Functions) e selecione Campo de entrada (Input field):

16 Verso 1.0
Gerador de Documento

Figura 22

Clique no boto Inserir (Insert) para abrir a caixa de dilogo Campo de entrada (Input Field), preencha a rea de texto com o
nome do campos: ${projeto.nome}:

Figura 23

Clique em OK, o campo adicionado ao seu documento:

Verso 1.0 17
Gerador de Documento

Figura 24

Lista (loop)

Para adicionar uma lista de registros no documento template, o grupo de informaes de produtos deve estar cadastrado, para
nosso exemplo, cadastramos os seguintes campos variveis: cdigo e nome. Outro detalhe muito importante para que o grupo
funcione como uma lista marcar o checkbox Multiplos registros?..Como mostra a imagem abaixo:

Figura 25

Os exemplos abaixos foram criados com o MS Word, porm podero ser feitos no OpenOffice, mudando apenas a forma de
entrada dos campos, no MS Word utilizado o MergeField e no OpenOffice utilizado o InputField, conforme os exemplos
anteriores.

18 Verso 1.0
Gerador de Documento

9.1. Lista de campos em uma tabela

Criaremos uma tabela no docx para gerar uma lista de produtos em uma tabela, por exemplo:

Figura 26

Obs: produtos um grupo de informao de mltiplos registros.

Adicionamos a tabela com 2 clulas nas quais contm os campos variveis (merge fields):
${produtos.codigo}
${produtos.nome}

Figura 27

Aps gerar o documento, o resultado o seguinte:

Figura 28

Verso 1.0 19
Gerador de Documento

Quando for uma tabela de um grupo de informao que seja filho de outro, conforme exemplo abaixo, a sintaxe um pouco
diferente.

Figura 29

Neste exemplo, contratos filho de clientes, sendo assim a sintaxe para exibir uma tabela de contratos a seguinte:

Figura 30

Na primeira coluna da tabela, adicionamos trs campos de entrada:

#tabela-ini[#list clientes.contratos as ctr]


${ctr.numeroContrato}
#tabela-fim[/#list]

Os campos esto um ao lado do outro sem deixar espaos em branco.

9.2. Lista de campos como um bloco

Opo 1:

Nos templates, o incio destes blocos de contedos que devem ser repetidos dever ser referenciado sempre atravs de um
formato de expresso que contm a Sigla do Grupo de Informaes como prefixo, seguida de um sufixo correspondente palavra-
chave ini, ambos separados por um ponto. J o final destes blocos de contedos que devem ser repetidos dever ter a palavra-
chave fim como sufixo. Desta forma, as tags que demarcam o incio e fim dos blocos de contedo que devem ser repetidos,
devero ser includas no contedo dos templates da seguinte forma:

20 Verso 1.0
Gerador de Documento

Figura 31

Adicionamos dentro do bloco o contedo que dever ser repetido para cada produto retornado, no exemplo abaixo, contm os
campos variveis (merge fields):
${produtos.codigo} - ${produtos.nome}

Figura 32

Aps gerar o documento, o resultado o seguinte:

Verso 1.0 21
Gerador de Documento

Figura 33

Opo 2:

Outra forma de listar registros no template com a seguinte sintaxe:

<#list lista as nome>


...
</#list>

Onde:

lista: nome do grupo de informao que uma lista


nome: nome da varivel do loop
Exemplo:

Produtos
[#list produtos as prod]
${prod.codigo} - ${prod.nome}
[/#list]

O resultado ser o mesmo que da Figura 18.

9.3. Condicionais

Sintaxe

<#if condicao>
...
<#elseif condicao2>
...
<#elseif condicao3>
...
...
<#else>

22 Verso 1.0
Gerador de Documento

...
</#if>

Onde:

condicao, condicao2, ...etc.: Expresso avaliada como um valor booleano.

Descrio

Voc pode usar if, elseif e else para pular condicionalmente uma seo do template. A condio deve ser avaliada como um valor
booleano, ou ento um erro ir abortar o processamento do modelo. O elseif deve ocorrer dentro do if.

Exemplo

Figura 34

Neste exemplo, vai ser exibido um texto diferente para cada tipo de porte da empresa.

10. Mscaras

Nesta seo explicado como adicionar mscaras aos campos variveis. Existem duas opes para isso:

No grupo de informao:

Verso 1.0 23
Gerador de Documento

Figura 35

Cada campo varivel do grupo de informaes poder ser configurado com a mscara desejada. A mscara varia de acordo com
o tipo de dado do campo, exemplo, o tipo de dado Numrico contm as seguintes mscaras: Monetrio e Monetrio por extenso.

Uma observao importante, ao configurar a mscara no grupo de informao, no poder ser utilizada a mscara no mesmo
campo no documento template, conforme exemplo abaixo.
No documento template (MS Word ou OpenOffice)

Para utilizar uma mscara no documento template simples, aps o sufixo correspondente a Sigla do Campo de contedo
varivel, adicionamos o caracter ? seguido do nome da mscara desejada.
Exemplo: ${projeto.data?data_extenso} Resultado: Sexta feira, 7 de Dezembro de 2012.

As mscaras disponveis so:

?data Exibe o valor no formata de data: dd/MM/yyyy.


?data(?) Exibe o data no formato conforme parmetro. Exemplo: ${projeto.data?data(yyyy)} 2012
?data_extenso Exibe o valor da data por extenso.

?monetrio Exibe o valor no formato monetrio. Exemplo: 2.560,55.


?monetrio_extenso Exibe o valor no formato monetrio por extenso.

?cpf_cnpj: Exibe o valor no formato CPF ou CNPJ, dependendo da quantidade de caracteres.


?cep Exibe o valor no formato de CEP. Exemplo: 90500-100

Para outras mscaras, consulte a documentao do Freemarker: http://freemarker.org/docs/ref_builtins.html

24 Verso 1.0
Gerador de Documento

11. Ferramenta para modelar

O Gerador de Documentos fornece uma ferramenta desenvolvida pela XDocReport na qual possvel projetar seu relatrio DOCX
ou ODT de maneira fcil e rpida. Esta seo explica como:

O macro muito til para projetar relatrios docx ou odt, de maneira fcil possvel associar campos variveis ao documento
template.

Figura 36

XDocReport Tools

O XDocReport fornece uma ferramenta que voc pode baixar, o fr.opensagres.xdocreport.document.tools-xxx-distribution.zip.


Este zip contm trs pastas:

bin: que contm o xdrtools.bat que necessrio para a visualizao do macro.


lib: que contm todos os JARs necessrios para gerar o relatrio de docx com Freemarker.

Verso 1.0 25
Gerador de Documento

macro: que contm o MS Word XDocReport.dotm macro.

Baixe este zip, e descompacte-o em uma pasta (nesta seo, zip descompactado para C: \XDocReport):

Figura 37

Instalao e Configurao

MS Word

Por padro o MS Word no executa macro, por isso, se voc abrir XDocReport.dotm com o MS Word voc no ser capaz de
executar a macro. Existem vrias maneiras para resolver este problema, a maneira mais fcil copiar/colar o macro
XDocReport.dotm na pasta de inicializao do MS Word em C:\Documents and Settings\$USER_NAME\Application
Data\Microsoft\Word \INICIALIZAO (STARTUP) ou C:\Users\$USER_NAME
\AppData\Roaming\Microsoft\Word\INICIALIZAO para Windows 7, onde $USER_NAME o seu usurio do Windows, se a
pasta INICIALIZAO no existir, crie a mesma.

26 Verso 1.0
Gerador de Documento

Figura 38

Feche o MS Word se ele estiver aberto e o reabra (no precisa abrir o XDocReport.dotm). Quando o MS Word abrir, ele vai
carregar os macros que vm da pasta de inicializao. Assim que o MS Word for aberto, voc ver o menu XdocReport, como o
seguinte:

Verso 1.0 27
Gerador de Documento

Figura 39

Segue as etapas para a configurao do XDocReport.dotm do MS Word:

Clique na aba XdocReport, ser exibido duas categorias Design e Preview logo abaixo, clique em Settings na categoria Design:

Figura 40

Ser exibida uma caixa de dilogo XdocReport Settings, na qual ser necessrio informar o caminho do diretrio onde esto
armazenados os arquivos xml contendo os campos variveis dos grupos de informao.

Figura 41

Se clicar no boto Fields da categoria Design:

Figura 42

A caixa de dilogo aberta e exibido os campos variveis dos grupos de informao do xml:

28 Verso 1.0
Gerador de Documento

Figura 43

OpenOffice

Para instalar a extenso do OpenOffice, execute o arquivo fr.opensagres.xdocreport.openoffice.macro-xxx.oxt com o


OpenOffice/LibreOffice e sera exibida a seguinte caixa de dilogo:

Verso 1.0 29
Gerador de Documento

Figura 44

Clique no boto OK e aceite a licena:

30 Verso 1.0
Gerador de Documento

Figura 45

Esta ao dever instalar a extenso do XDocReport:

Verso 1.0 31
Gerador de Documento

Figura 46

Feche o OpenOffice/LibreOffice e o reabra. Se a instalao ocorreu sem erros, voc ser capaz de visualizar o menu XDocReport
no canto superior direito:

Figura 47

Segue as etapas para a configurao da extenso do XDocRepor no OpenOffice:

Clique o item Settings do menu XdocReport, ser exibida uma caixa de dilogo XdocReport Settings, na qual ser necessrio
informar o caminho do diretrio onde esto armazenados os arquivos xml contendo os campos variveis dos grupos de
informao:

32 Verso 1.0
Gerador de Documento

Figura 48

Configure os campos e clique em OK.

Se clicar no item Fields do menu XDocReport, ser exibido os campos variveis dos grupos de informao como segue:

Figura 49

Os arquivos xmls so gerador atravs do boto Exportar Campos Variveis dos Modelos de Documento. Tela Cadastro
Modelo de Documento.

Verso 1.0 33
Gerador de Documento

12. Exemplos Passo a Passo

Nesta seo criaremos trs exemplos:

Lista simples de veculos (utilizando dois bancos de dados).


Documento que lista os clientes e seus contratos (grupo de informao filho de outro)
Contrato com dois modelos

Exemplo 1 veculos:

Primeiro teremos que cadastrar o grupo de informao.

Cadastro de Grupos de Informaes

Selecionamos o menu Cadastro > Grupo de Informaes e clicamos no boto Incluir da barra de funes. Aps, ser apresentada
a tela para cadastro. Vide abaixo.

Figura 50

Sigla: veiculos
Descrio: Lista de Veculos
Mltiplos registros? Sim (Marcamos o checkbox pois o sql retorna mais de um veculo)

34 Verso 1.0
Gerador de Documento

Comando SQL:
select
de_mrc 'marca', de_mdl 'modelo', nr_ano_fab 'ano', nr_plc_vcl 'placa',
usu.nm_usu 'usuarioAtualizador'
from
[basico].t400veic veic,
[seguranca].t400usua usu
where
usu.cd_usu = veic.cd_usu_atu

Salvo o grupo de informao, podemos criar o modelo de documento.

Cadastro de Modelo de Documento

Selecionamos o menu Cadastro > Modelo de Documento e clicamos no boto Adicionar da barra de funes. Aps, ser
apresentada a tela para cadastro. Vide abaixo.

Figura 51

Preencha as informaes conforme abaixo.

Sigla: mdl-veiculos
Descrio: Modelo de Veiculos
Arquivo de Origem: importar o template descrito logo abaixo
Grupos de Informaes: Adicionar o grupo veculos

Exemplo de template a ser importado (.odt ou .docx):

Verso 1.0 35
Gerador de Documento

Figura 52

Aps importar o template e salvar o modelo de documento, o ltimo passo cadastrar o documento.

Cadastro de Documento

Selecionamos o menu Cadastro > Documento e clicamos no boto Adicionar da barra de funes. Aps, ser apresentada a tela
para cadastro. Vide abaixo.

Figura 53

Conforme imagem, na tela de cadastro de documento, exibido trs abas: Documento, Parmetros e Modelos.

Na primeira aba Documento, preencha as informaes conforme abaixo.

Mdulo: CF- Credimaster (pode ser qualquer um para teste)


Sigla: doc-veiculos
Descrio: Documento de Veculos
Situao: Ativo

Neste documento, no teremos parmetros, portanto, clique sobre a aba Modelos, dever ser exibida a tela para a
associao de modelos ao documento, configure a imagem abaixo.

36 Verso 1.0
Gerador de Documento

Figura 54

Somente associe o modelo mdl-veiculos ao documento e clique em Salvar. Pronto, agora poderemos gerar o documento.

Nata tela Gerao > Documento, selecione o documento conforme imagem abaixo e clique em Gerar Documento.

Figura 55

Mdulo: CF Credimaster
Documento: doc-veiculos
Modelo n/a
Tipo de Sada: PDF ou Formato Original (docx ou odt)

Aps gerar o documento, o resultado deve ser parecido com a imagem abaixo (depende das informaes de cada banco de
dados).

Verso 1.0 37
Gerador de Documento

Figura 56

Exemplo 2 clientes x contratos:

Primeiro teremos que cadastrar os grupos de informao.

Cadastro de Grupos de Informaes

Selecionamos o menu Cadastro > Grupo de Informaes e clicamos no boto Incluir da barra de funes. Aps, ser apresentada
a tela para cadastro. Vide abaixo.

38 Verso 1.0
Gerador de Documento

Figura 57

Sigla: clientes
Descrio: Lista de cliente
Mltiplos registros? Sim (Marcamos o checkbox pois o sql retorna mais de um cliente)
Comando SQL:
select
cd_cli 'codigo', nm_pes 'nome', nr_cic 'cic'
from
[basico].t400pess
where
id_tp_pes = {tipoPessoa}

Na lista de campos variveis retornadas, selecionamos a mscara CPF/CNPJ do campo cic, assim a informao ser exibida
com a mscara correta, dependendo da quantidade de caracteres do campo.
No sql adicionamos o parmetro {tipoPessoa} do tipo Alfanumrico, para fins de demonstrao. Este parmetro dever ser
informado na hora da gerao do documento, com o valor F (Fsica) ou J (Jurdica).

Criado o Grupo de Informao clientes, deveremos agora criar o grupo contratos, conforme abaixo.

Verso 1.0 39
Gerador de Documento

Figura 58

Sigla: contrato
Descrio: Lista de Contratos
Mltiplos registros? Sim (Marcamos o checkbox pois o sql retorna mais de um contrato)
Comando SQL:
select
nr_ctr 'numeroContrato', nr_adl 'numeroAdl', cont.vr_tot 'valor'
from [credimaster].t402cont cont
where cd_cli = {codigoCliente}

No sql adicionamos o parmetro {codigoCliente} do tipo Numrico, pois este sql visa retornar contratos de um determinado cliente.
Este parmetro dever ser atribudo do retorno do grupo de informao cliente.

Cadastro de Modelo de Documento

Selecionamos o menu Cadastro > Modelo de Documento e clicamos no boto Adicionar da barra de funes. Aps, ser
apresentada a tela para cadastro. Vide abaixo.

40 Verso 1.0
Gerador de Documento

Figura 59

Preencha as informaes conforme abaixo.

Sigla: mdl-cliente-contrato
Descrio: Modelo Cliente x Contratos
Arquivo de Origem: vamos importar o template descrito logo abaixo
Grupos de Informaes:
Adicionamos o grupo clientes e logo em seguida, clicamos no boto Adicionar filho na linha do grupo, selecionamos o grupo
contratos como sendo filho de clientes, conforme imagem.

Exemplo de template a ser importado (.odt ou .docx):

Figura 60

Verso 1.0 41
Gerador de Documento

Neste template, temos um bloco de clientes a ser repetido ( ${clientes.ini}...${clientes.fim}), para cada cliente retornado, vai ser
exibido seu nome e CPF/CNPJ, alm de uma tabela contendo os contratos desse cliente.
Para exibir os contratos em forma de tabela veja a seo 9.1, exibindo uma tabela de um grupo filho.

Cadastro de Documento

Selecionamos o menu Cadastro > Documento e clicamos no boto Adicionar da barra de funes. Aps, ser apresentada a tela
para cadastro. Vide abaixo.

Figura 61

Conforme imagem, na tela de cadastro de documento, exibido trs abas: Documento, Parmetros e Modelos.

Na primeira aba Documento, preencha as informaes conforme abaixo.

Mdulo: CF- Credimaster (pode ser qualquer um para teste)


Sigla: doc-cliente-contrato
Descrio: Documento Cliente x Contratos
Situao: Ativo

Clique sobre a aba Parmetros, dever ser exibida a tela para a configurao de parmetros de documento, configure o
parmetro conforme a imagem abaixo.

Figura 62

Aps configurar o parmetro tipoPessoa, vamos atribuir o modelo ao documento, clique na aba Modelos, clique no boto
Adicionar e selecione o modelo mdl-cliente-contrato. Vide imagem abaixo.

42 Verso 1.0
Gerador de Documento

Figura 63

Aps adicionar o modelo, deveremos agora configurar os parmetros deste modelo. Clique sobre o boto Parmetros na linha do
modelo de documento. Ser apresentada uma modal, onde poderemos atribuir os parmetros necessrios e exigidos.

Figura 64

Ser apresentado duas linha na tabela, que so os parmetros de entrada de nossos grupos de informao, codigoCliente do
grupo contratos e tipoPessoa do grupo clientes. Temos que dizer ao Gerador de Documentos de onde que ele deve buscar
essas informaes.

O codigoCliente do grupo contratos, como um grupo filho de clientes, dever buscar essa informao de cada cliente retornado
no SQL, para tanto, configuramos como clientes cdigo na coluna Campos Varivel de Grupo.

J o parmetro tipoPessoa de clientes, dever vir do parmetro de documento tipoPessoa, que acabamos de configurar na aba
Parmetros no cadastro de documento.

Obs: ao entrar na tela de Atribuio de Parmetros do Grupo de Informao, os parmetros com o mesmo nome j viro
atribudos por padro.

Pronto, o documento est configurado e poder agora ser gerado.

Na tela Gerao > Documento, selecione o documento e informe o parmetro conforme imagem abaixo e clique em Gerar
Documento.

Verso 1.0 43
Gerador de Documento

Figura 65

Mdulo: CF Credimaster
Documento: doc-cliente-contrato Documento Cliente x Contratos
Modelo n/a
Tipo de Sada: PDF ou Formato Original (docx ou odt)
Parmetro tipoPessoa : J

Aps gerar o documento, o resultado deve ser parecido com a imagem abaixo (depende das informaes de cada banco de
dados).

44 Verso 1.0
Gerador de Documento

Figura 66

Exemplo 3 contrato (com dois modelos):

Neste exemplo faremos um contrato com dois modelos, uma para pessoa fsica e outro para pessoa jurdica. O Gerador de
Documentos vai gerar o modelo correto para o usurio conforme o parmetro tipoPessoa informado pelo usurio.

Vamos utilizar o grupo de informao clientes, criado no exemplo 2.

Cadastro de Modelo de Documento

Primeiro vamos cadastrar um modelo para Pessoa Fsica, para isso selecionamos o menu Cadastro > Modelo de Documento e
clicamos no boto Adicionar da barra de funes. Aps, ser apresentada a tela para cadastro. Vide abaixo.

Verso 1.0 45
Gerador de Documento

Figura 67

Preencha as informaes conforme abaixo.

Sigla: mdl-ctr-pf
Descrio: Modelo de contrato PF
Arquivo de Origem: vamos importar o template de PF descrito logo abaixo
Grupos de Informaes: associar o grupo de informao clientes

Exemplo de template PF a ser importado (.odt ou .docx):

46 Verso 1.0
Gerador de Documento

Figura 68

Clique em salvar, o modelo de PF est pronto.

Vamos cadastrar agora o modelo para Pessoa Jurdica, para isso selecionamos o menu Cadastro > Modelo de Documento e
clicamos no boto Adicionar da barra de funes. Aps, ser apresentada a tela para cadastro. Vide abaixo.

Verso 1.0 47
Gerador de Documento

Figura 69

Preencha as informaes conforme abaixo.

Sigla: mdl-ctr-pj
Descrio: Modelo de contrato PJ
Arquivo de Origem: vamos importar o template de PJ descrito logo abaixo
Grupos de Informaes: associar o grupo de informao clientes

Exemplo de template PJ a ser importado (.odt ou .docx):

48 Verso 1.0
Gerador de Documento

Figura 70

Clique em salvar, o modelo de PJ est pronto.

Cadastro de Documento

Selecionamos o menu Cadastro > Documento e clicamos no boto Adicionar da barra de funes. Aps, ser apresentada a tela
para cadastro. Vide abaixo.

Figura 71

Conforme imagem, na tela de cadastro de documento, exibido trs abas: Documento, Parmetros e Modelos.

Verso 1.0 49
Gerador de Documento

Na primeira aba Documento, preencha as informaes conforme abaixo.


Mdulo: CF- Credimaster (pode ser qualquer um para teste)
Sigla: doc-contrato
Descrio: Contrato
Situao: Ativo

Clique sobre a aba Parmetros, dever ser exibida a tela para a configurao de parmetros de documento, configure o
parmetro conforme a imagem abaixo.

Figura 72

Aps configurar o parmetro tipoPessoa, vamos associar os modelos de documento, clique na aba Modelos, clique no boto
Adicionar. Associe os modelos mdl-ctr-pf e mdl-ctr-pf. Vide imagem abaixo.

Figura 73

Clique sobre o boto Parmetros de cada modelo e associe o parmetro tipoPessoa do grupo de informao clientes ao
parmetro de documento tipoPessoa e salve, conforme imagem abaixo, faa isso para os dois modelos.

50 Verso 1.0
Gerador de Documento

Figura 74

Aps configurar os parmetros dos modelos associados, devemos agora informar ao Gerador de Documentos quais as condies
de seleo para cada um dos modelos, ou seja, como ele deve escolher qual dos modelos ele vai gerar para o usurio final.
Para configurar as condies de seleo do modelo mdl_ctr_pf, clique sobre o boto Condies na sua linha, a modal abaixo
dever ser exibida, preencha conforme imagem e salve.

Figura 75

A configurao foi a seguinte, se o parmetro do documento tipoPessoa for igual a F, ento o modelo a ser gerado ser o
mdl_ctr_pf.

Agora, vamos configurar as condies de seleo do modelo mdl_ctr_pj, clique sobre o boto Condies na sua linha, a modal
abaixo dever ser exibida, preencha conforme imagem e salve.

Figura 76

Verso 1.0 51
Gerador de Documento

A configurao foi a seguinte, se o parmetro do documento tipoPessoa for igual a J, ento o modelo a ser gerado ser o
mdl_ctr_pj.

Aps salvas a condies de seleo dos dois modelos, salve o documento. Poderemos agora gerar um contrato.

Na tela Gerao > Documento, selecione o documento e informe o parmetro conforme imagem abaixo e clique em Gerar
Documento.

Figura 77

Exibindo Contrato de Pessoa Fsica.

Mdulo: CF Credimaster
Documento: doc- contrato Contrato
Modelo n/a
Tipo de Sada: PDF ou Formato Original (docx ou odt)
Parmetro tipoPessoa : F

Aps gerar o documento, o resultado deve ser parecido com a imagem abaixo.

52 Verso 1.0
Gerador de Documento

Figura 78

Exibindo Contrato de Pessoa Jurdica.

Preenche o formulrios com os seguintes dados:

Mdulo: CF Credimaster
Documento: doc- contrato Contrato
Modelo n/a
Tipo de Sada: PDF ou Formato Original (docx ou odt)
Parmetro tipoPessoa : J

Aps gerar o documento, o resultado deve ser parecido com a imagem abaixo .

Verso 1.0 53
Gerador de Documento

Figura 79

54 Verso 1.0

You might also like