Documentação

13 Documento em lote

Este tipo de página permite criar documentos PDF em lote. Como visto na seção "Documentos", em uma aplicação de negócio muitas vezes é necessário gerar um documento para imprimir ou enviar para clientes e fornecedores algumas transações de negócio como: pedido de venda, ordem de compra, orçamento, ordem de serviços, dentre outros. Páginas do tipo "Documento em lote" permitem ao usuário realizar um filtro sobre uma tabela e gerar um único arquivo PDF com um lote de documentos, onde cada página contém o documento relativo à um registro da tabela da base de dados.

Documentos em lote

13.1 Criação

Para criar documentos em lote, deve ser utilizada a opção “Nova página”, e em seguida, selecionar "Documentos em lote". Após, será aberto um diálogo com informações necessárias para a criação. Para criar um documento, deve-se informar respectivamente:

  1. A base de dados desejada.

  2. A tabela que o documento buscará as informações.

  3. Documento modelo que será usado.

  4. Informar se a página será pública, páginas públicas são acessíveis para usuários não logados na aplicação.

  5. O nome da página.

  6. O nome da classe controladora do documento.

  7. O módulo em que a página ficará agrupada.

  8. Informar se a página aparecerá no menu da aplicação.

13.2 Utilização

Para utilizar esta opção, o desenvolvedor deverá ter criado previamente uma página do tipo "Documento", pois a página "Documento em lote" fará uso das definições já realizadas, apontando para um documento existente. A interface para criação de "Documentos em lote", exibirá ao topo um formulário de filtro contendo os campos da tabela sobre a qual o documento está sendo construído, e na parte central da tela, uma visualização rápida do próprio documento, que já fora definido em outra página do tipo "Documento". O usuário poderá utilizar o botão "Editar documento" para editar o documento de referência. Uma nova janela será aberta para ajustes no documento.

13.3 Filtros de campos

Ao trabalhar com um documento em lote, o usuário poderá filtrá-lo com base nos campos do formulário de filtro localizado na parte superior da tela. Neste formulário, o desenvolvedor pode acrescentar novos campos de filtro. Para cada campo, será necessário configurar a maneira que o mesmo será utilizado como filtro. Para tal, é necessário clicar sobre o campo, e em seguida acessar a aba "Filtros". Os filtros mais simples são do tipo "Comparação direta", que permite comparar uma coluna do banco com o campo selecionado do formulário. Um exemplo seria filtrar por tipo de venda em um relatório de vendas, sendo que existe um campo para o tipo de venda naquela tabela. O filtro do tipo subconsulta, permite comparar o campo do formulário com um campo relacionado da tabela exibida no relatório. Um exemplo seria uma datagrid de vendas que deve ser filtrada pelo estado do cliente. Neste caso, bastaria acrescentar uma combo de estados no formulário e preencher "Coluna do banco de dados" com o campo que representa o estado do cliente relacionado com a venda, por meio do relacionamento entre campos (venda→cliente → cidade→ estado→id). Assim, o filtro é estabelecido entre o estado selecionado no formulário, e o estado do cliente vinculado àquela venda.

13.4 Filtros de carregamento

Enquanto que os campos do formulário sobre o documento permitem o usuário realizar uma filtragem dinâmica em tempo de execução sobre o relatório, existe também a pré-filtragem do documento em lote, que permite estabelecer filtros "fixos", executados independentemente dos filtros do usuário. Para definir estes filtros, basta clicar sobre o ícone chamado "filtros" à direita da visualização do documento. Nesta aba, podem ser realizados filtros de "comparação direta" entre uma coluna do banco de dados, e um valor de filtro (que pode ser fixo ou uma variável de seção). Variáveis de seção contém informações do usuário logado e também podem ser utilizadas como filtro. Já o filtro do tipo "subconsulta" permite estabelecer um filtro entre um campo relacionado à tabela em questão e um valor (que pode ser fixo ou variável de seção).

Um exemplo seria um relatório de vendas em que é necessário ter um pré-filtro fixo pelo estado do cliente da venda. Nesse caso, bastaria localizar o estado do cliente por meio de um campo relacionado (venda→ cliente→ cidade→estado→id), e estabelecer um filtro de igualdade com o valor "RS", que seria digitado no "Valor do filtro". Assim, somente vendas de clientes do estado "RS" seriam exibidas. O usuário também pode fazer filtros usando variáveis de seção. Ao clicar em "Adicionar filtro" vários filtros desse tipo podem ser adicionados.