...
...
...
...
Caro Cliente, O TOTVS ECM 3.0 foi fundamentado na tecnologia de interface Flash, do qual a Adobe irá descontinuar seu suporte em 31/12/2020. Recomendamos que nossos clientes avaliem a utilização do TOTVS Fluig Plataforma, que proporciona uma maior abrangência de recursos e importantes inovações tecnológicas. São inúmeras novidades não só em ECM e BPM que o Fluig entrega aos seus mais de 4 mil clientes, mas também conta com recursos de portais, social e identidade única. Entre em contato com seu executivo de conta para saber mais detalhes desta oferta. |
Índice
Índice |
---|
maxLevel | 4 |
---|
outline | true |
---|
exclude | .*ndice |
---|
style | none |
---|
|
Objetivo
O objetivo deste documento é descrever o desenvolvimento, publicação e visualização de relatórios no TOTVS | ECM, para facilitar a compreensão será detalhado um exemplo de relatório de colaboradores.
Ambiente de Desenvolvimento
Para o desenvolvimento de relatórios é necessário possuir o Java™ JDK/JRE superior a 1.6. Endereço para download: http://java.sun.com/javase/downloads/index.jsp.
O TOTVS | ECM utiliza o BIRT como motor de execução de relatórios, por esse motivo para o desenvolvimento de relatórios
Objetivo
O objetivo deste documento é descrever o desenvolvimento, publicação e visualização de relatórios no TOTVS | ECM, para facilitar a compreensão será detalhado um exemplo de relatório de colaboradores.
Ambiente de Desenvolvimento
Para o desenvolvimento de relatórios é necessário possuir o Java™ JDK/JRE superior a 1.6. Endereço para download: http://java.sun.com/javase/downloads/index.jsp.
O TOTVS | ECM utiliza o BIRT como motor de execução de relatórios, por esse motivo para o desenvolvimento de relatórios deve-se utilizar o padrão e a metodologia do BIRT.
...
O BIRT Report Designer conta com várias funcionalidades que auxiliam no desenvolvimento de relatórios. Entre elas destacam-se: ajuste de layout, configuração de acesso a dados e formatação do relatório.
Segurança Ambiente SaaS
Em caso de execução do TOTVS | ECM em ambiente SaaS, não é recomendado o uso de relatórios, pois é possível criar relatórios que retornem informações de outras empresas via consulta JPQL ou Dataset. Para garantir a não execução, é necessário definir o valor “true” para a variável “SaaS” localizada em: %JBOSS_HOME%\server\default\deploy\wdk-service.xml.
Ex: <jndi:binding name="webdesk/SaaS"><jndi:value>true</jndi:value></jndi:binding>
Desenvolvendo um relatório de colaborados
...
Para facilitar a compreensão a respeito do desenvolvimento de relatórios para o TOTVS | ECM, será demonstrado um exemplo de criação de relatórios. A seguir os passos necessários para a criação do relatório de colaborador, sendo este com dados providos do TOTVS | ECM através da consulta JPA. O fonte do exemplo citado neste documento encontra-se em: “Documentos de Customização\Arquivos Adicionais\Template de Relatorio\Colleague Report”.
Criando um novo projeto
Deck of Cards |
---|
|
Card |
---|
| |
Abra o BIRT Report Designer selecione o menu File -> Project conforme a figura 1.
Figura 1 – Novo projeto. |
Card |
---|
|
Ao Ao abrir a janela New Project, selecione a opção Business Intelligence and Reporting Tools -> Report Project, clique no botão Next e defina o nome colleague_report como nome para o projeto do relatório, selecione a localização do projeto e clique em Finish conforme a figura 2.
Figura 2 – Tipo de projeto. |
|
Criando o relatório
Deck of Cards |
---|
|
Card |
---|
|
Após a criação do projeto na área Navigation clique com o botão direito do mouse sobre o projeto colleague_report e selecione New -> Report, conforme a figura 3.
Figura 3 – Novo relatório. |
Card |
---|
|
Ao abrir a janela New Report defina report.rptdesign como nome do relatório, clique no botão Next e selecione a opção Blank Report para template do relatório, em seguida clique no botão Finish conforme a figura 4.
Figura 4 – Definindo o tipo de relatório. |
|
...
Configurando o acesso aos dados
Deck of Cards |
---|
|
Um Data Source é mecanismo que guarda os dados de conexão com a fonte de dados, por exemplo, configurações JDBC, Web Service, entre outros. No caso desse relatório será utilizado o acesso aos dados via linguagem JavaScript. Card |
---|
|
Ao criar o novo relatório, selecione a aba Data Explorer, clique com o botão direito do mouse sobre o item Data Source em seguida selecione a opção New Data Source conforme a figura 5.
Figura 5 – Novo Data Source. |
Card |
---|
|
Ao abrir a janela New Data Source, selecione a opção Scripted Data Source e define o nome dsColleague como Data Source Name em seguida clique no botão Finish, conforme a figura 6.
Figura 6 – Tipo de Data Source. |
Card |
---|
|
Na aba Data Explorer clique com o botão direito do mouse sobre o item Data Sets em seguida clique na opção New Data Set conforme figura 7. Data Set é uma tabela temporária do BIRT no qual os dados são armazenados do Data Source e renderizados no relatório.
Figura 7 – Novo Data Set. |
Card |
---|
| |
Ao abrir a janela New Data Set define colleagueDataSet como Data Set Name, clique no botão Next em Output Columns clique no botão Add e adicione todas as os registros do DataSet:
Column Name | Data Type | Column Alias | Display Name |
---|
colleagueId | String | Vazio | Vazio | Login | String | Vazio | Vazio | colleagueName | String | Vazio | Vazio | mail | String | Vazio | Vazio | active | String | Vazio | Vazio | adminuser | String | Vazio | Vazio |
Em seguida clique no botão Finish conforme a figura 8.
Figura 8 – Colunas do Data Set. |
|
...
Incluindo parâmetros no relatório
Deck of Cards |
---|
| |
É possível incluir parâmetros no relatório a serem solicitados para o usuário antes da sua renderização, auxiliando no filtro de consulta aos dados gerando um relatório específico.
Card |
---|
|
Selecione a aba Data Explorer, em seguida clique com o botão direito do mouse no item Report Parameters, selecione a opção New Parameter conforme a figura 9.
Figura 9 – Parâmentros do Relatório. |
Card |
---|
|
A figura 10 ilustra a janela de inclusão de parâmetros.
Figura 10 – Configuração de parâmetros.
Ao abrir a janela New Parameter inclua os seguintes parâmetros: Matrícula - Name: Matrículo;
- promptText: Matrícula do Colaborador ou "*" para mostrar todos;
- Data type: String;
- Display type: Text Box;
- Is Requered: true.
Mostrar usuários - Name: paramEnable;
- Prompt text: Mostrar usuários;
- Data type: String;
- Display type: List Box;
- Is Requered: true.
Selection Values Value | Display Text | * | Todos | true | Ativos | false | Inativos |
Ordenar por - Name: paramSort;
- Prompt text: Order por;
- Data type String;
- Display type: List Box;
Selection Values Value | Display Text | c.colleaguePK.colleagueId | Matrícula | c.colleagueName | Nome | c.login | Login |
|
|
...
TAG's
O TOTVS | ECM disponibiliza TAG’s de substituição que auxiliam no desenvolvimento e na segurança da geração das informações do relatório, são elas:
...
Deck of Cards |
---|
|
Card |
---|
|
Selecione a aba Script na pagina do relatório e em seguida selecione o evento initialize, em inclua o seguinte código conforme figura 11:
Figura 11 – Evento initialize
Bloco de código |
---|
importPackage(Packages.java.io);
importPackage(Packages.com.datasul.technology.webdesk.dataset.service);
importPackage(Packages.java.util);
var query = null;
var resultSet = null;
var rowMap = null;
var count = 0;
var sqlJpa = ""; |
O código a cima importa as bibliotecas Java™ e a biblioteca disponibilizada pelo TOTVS | ECM para consulta aos dados do produto via JPA, além de realizar a inicialização das variáveis utilizadas pelo relatório. Detalhes sobre o código: - importPackage: comando responsável pela importação de bibliotecas Java™;
- Package.java.util: biblioteca responsável pelas Classes utils do Java™;
- Packages.com.datasul.technology.webdesk.dataset.service: biblioteca disponibilizada pelo TOTVS | ECM para consulta ao banco de dados do produto via consula JPA;
|
Card |
---|
| |
Selecione a aba Data Explorer, expanda o item Data Sets e clique no colleagueDataSet em seguida clique na aba Script então selecione o evento beforeOpen conforme a figura 12.
Figura 12 – Evento onBeforeOpen.
Em seguida, inclua o seguinte código: Bloco de código |
---|
try {
query = new QueryDelegate();
sqlJpa = "SELECT c from Colleague c";
sqlJpa = sqlJpa + " WHERE c.colleaguePK.companyId = ${WKCompany}";
if(params["Matricula"].value != null) {
if (params["Matricula"].value != "*") {
sqlJpa = sqlJpa +
" AND c.colleaguePK.colleagueId = '" +
params["Matricula"].value + "'";
if(params["paramEnable"].value != null)
{
if (params["paramEnable"].value != "*") { sqlJpa = sqlJpa + " AND c.active = " + params["paramEnable"].value; } } } else { if(params["paramEnable"].value != null) { if (params["paramEnable"].value != "*") { sqlJpa = sqlJpa + " AND c.active = " + params["paramEnable"].value; } } } } sqlJpa = sqlJpa + " ORDER BY " + params["paramSort"].value; resultSet = query.getResultQuery(sqlJpa); } catch (e) { } finally { } |
O código acima monta a consulta do relatório através da consulta JPA e inclui os filtros da solicitação de acordo com os parâmetros definidos pelo usuário. Detalhes sobre o código: - query: objeto da biblioteca TOTVS | ECM sendo responsável pela consulta dos dados no produto por meio de instrução JPA;
- sqlJpa: variável responsável pela geração do script de consulta JPA, criado a partir dos parâmetros definidos pelo usuário;
- ${WKCompany}: TAG disponibilizada pelo TOTVS | ECM, retorna o código da empresa que o usuário está autenticado;
- params["Matricula"]: parâmetro de relatório, retorna o código da matricula definido pelo usuário;
- params["paramEnable "]: parâmetro de relatório, retorna o tipo de usuário;
- params["paramSort "]: parâmetro de relatório, retorna o modo de ordenação;
Card |
---|
| |
Para incluir o resultado da consulta no Data Set e formatar os dados do relatório, selecione o evento fetch na área de Script, conforme figura 13.
Figura 13 – Evento fetch.
Em Em seguida inclua o seguinte código: Bloco de código |
---|
if (resultSet != null) { if(count < resultSet.size()){ var rowMap = resultSet.get(count); row["colleagueId"] = rowMap.get("colleagueId"); row["login"] = rowMap.get("login"); row["colleagueName"] = rowMap.get("colleagueName"); row["mail"] = rowMap.get("mail"); var active = rowMap.get("active"); if (active == "true") {
row["active"] = "Sim"; } else { row["active"] = "Não"; } var adminUser = rowMap.get("adminUser"); if (adminUser == "true") { row["adminUser"] = "Sim"; } else { row["adminUser"] = "Não"; } count++; return true; } } return false; |
O código acima verifica se houve resultado na consulta JPA, caso houver ele incluí os dados no Data Set e formata os campos usuário ativo e administrador. Detalhes sobre o código: - resultSet: objeto que contém o retorno da consulta JPA;
- rowMap: variável do tipo HashMap que possibilita a busca dos campos do retorno da consulta;
- row: variável do BIRT que armazena os registros do Data Set;
|
|
|
Obtendo dados via conexão JDBC
Deck of Cards |
---|
|
Uma forma alternativa de obtenção de dados para criação de relatórios é a utilização de JDBC. É necessário criar um Data Source que se conecte com o banco de dados, nele serão armazenados os dados para conexão, via JDBC, ao banco de dados.
Card |
---|
|
Selecione a aba Data Explorer, clique com o botão direito do mouse sobre o item Data Source em seguida selecione a opção New Data Source conforme a figura 14.
Figura 14 – Novo Data Source |
Card |
---|
| |
Ao abrir a janela New Data Source, selecione a opção JDBC DataSource e define o nome JDBC-DataSource como Data Source Name em seguida clique no botão Next, conforme a figura 15.
Figura 15 – Tipo Data Source |
Card |
---|
|
Na próxima janela a conexão com o banco de dados deve ser configurada. No campo Driver Class selecione o driver de conexão com o banco de dados, neste caso, a conexão será feita com o banco MySQL®. Se o driver necessário não estiver listado, basta adiciona-lo clicando em Managed Drivers... Informe também os valores para Database URL, User Name e Password de acordo com o banco de dados escolhido, conforme a figura 16.
Figura 16 – Configurando conexão com banco de dados. |
Card |
---|
|
Na aba Data Explorer clique com o botão direito do mouse sobre o item Data Sets em seguida clique na opção New Data Set conforme figura 17.
Figura 17 – Criando Novo Data Set. |
Card |
---|
|
Selecione o Data Source criado (JDBC-DataSource), no campo Data Set Type selecione SQL Select Query, informe um nome para o Data Set e clique em next, conforme a figura 18.
Figura 18 – Configurando Data Set |
Card |
---|
| |
Na próxima tela informe a SQL que busca os dados no banco de dados, neste exemplo, serão buscados os colaboradores da empresa autenticada no TOTVS | ECM, conforme a figura 19.
Figura 19 – Criação da Query SQL
Bloco de código |
---|
SELECT colaborador.CD_MATRICULA,
colaborador.COD_EMPRESA,
colaborador.NM_COLABORADOR,
colaborador.E_MAIL
FROM colaborador
WHERE colaborador.COD_EMPRESA = ${WKCompany} |
A Query acima busca no banco de dados todos os colaboradores da empresa do usuário autenticado no TOTVS | ECM, este código é obtido através da TAG ${WKCompany}.
Nota |
---|
| Poderá ocorrer um erro quando concluir a criação do Data Set pois a TAG ${WKCompany} não existe no contexto do BIRT. A figura 20 apresenta o erro devido à utilização da TAG, este é um erro de sintaxe no SQL e indica que ${WKCompany} não é um comando SQL. Porém quando o relatório for executado no ECM, ela retornará o código da empresa normalmente, com isso a TAG será substituída pelo código da empresa do usuário autenticado no ECM, corrigindo o erro de sintaxe.
Figura 20 – Erro do Birt pelo uso da TAG ${WKCompany} |
|
|
Nota |
---|
|
A criação de relatório no Birt utilizando conexão JDBC exige atenção com relação à segurança da publicação do relatório no ECM, uma vez que o arquivo .rptdesign (XML do relatório Birt) deixa exposto os parâmetros de conexão com o banco de dados, porém o campo senha fica ofuscado com base64. Por este motivo e pela facilidade de busca das informações do TOTVS | ECM, sempre recomendamos a criação de relatórios com fontes de dados via Dataset do ECM ou query JPA. Se a criação de relatórios utilizando JDBC for necessária, recomendamos que ao publicar um relatório no ECM as configurações de permissão sejam definidas apenas para leitura. Usuários que possuem permissão de manutenção podem fazer o download dos anexos e com isso terão acesso aos dados de conexão com o banco de dados. |
...
Formatando a visualização do relatório
Deck of Cards |
---|
|
Card |
---|
|
É necessária a inclusão dos componentes de renderização do relatório. Clique na aba Layout para visualizar a página do relatório que está em branco e em seguida selecione a aba Palette conforme a figura 21.
Figura 21 – Relatório em branco. Na aba Pallets é possível incluir vários componentes de visualização e renderização de dados entre eles destacam-se: - Label: Texto curto e estático;
- Text: Texto longo é possível formatá-lo com TAG’s HTML;
- Dynamic Text: Texto dinâmico provido do Data Set;
- Image: Inclusão de imagens;
- Grid: Formatador de dados em Grid;
- Table: Tabela de dados;
- Chart: Gráficos de pizza, linha, tubo, etc.
É possível incluir imagens da internet, incluir imagens de arquivo ou ainda embutir a imagem no XML do relatório. Neste exemplo será usada uma imagem em anexo para posteriormente mostrar como publicar relatórios com anexo. |
Card |
---|
|
Arraste um componente Image no relatório, ao abrir a janela Edit Image Item, selecione a opção Image file in shared resources, selecione o arquivo da imagem na opção Enter resource file e em seguida clique no botão Insert conforme figura 22.
Figura 22 – Componente Imagem.
Arraste um componente Text no relatório, ao abrir a janela Edit Text Item selecione a opção HTML e na área de texto inclua a seguinte informação formatada em HTML: Bloco de código |
---|
<H1><B>TOTVS S/A</B></H1> Av. Santos Dumont, 831 – Bom Retiro <br> CEP 89.222-900 – Joinville – SC – Brasil <br>Telefone: +55 (47) 2101-7000 <br> Fax: +55 (47) 2101-7070 </br> |
|
Card |
---|
|
Em seguida clique no botão OK conforme figura 23.
Figura 23 – Componente Text. |
Card |
---|
|
Arraste um componente Label no relatório, clique duas vezes sobre o componente incluído e digite Relatório de Colaboradore na aba Properties Editor -> Properties clique em General e defina a formatação da label, conforme figura 24.
Figura 24 – Título do relatório. |
Card |
---|
|
Arraste um componente Table, ao abrir a janela Insert Table defina 6 colunas e 1 detalhe e clique no botão OK conforme figura 25.
Figura 25 – Configuração da Tabela.
Na tabela adicionada ao relatório inclua um componente Label para cada coluna da linha Header Row defina os seguintes valores: - Matrícula;
- Nome;
- Login;
- E-mail;
- Ativo;
- Administrador.
|
Card |
---|
|
Formate Formate as labels incluíndas incluídas definindo cor da fonte e cor de fundo conforme figura 26.
Figura 26 – Título das Colunas. |
|
Renderizando dados do DataSet
Deck of Cards |
---|
|
Selecione a aba Data Explorer e expanda o colleagueDataSet criado anteriormente e em seguida arraste cada item do Data Set para a coluna Detail Row da tabela criada anteriormente conforme figura 27.
Figura 27 – Data Set. |
Publicando Relatórios
Publicação
Exemplo de relatórios
Faça o download de relatórios que irão listar os documentos e solicitações pendentes de usuários inativos:
View file |
---|
name | Solicitações pendentes.rptdesign |
---|
height | 250 |
---|
|
View file |
---|
name | Documentos pendentes.rptdesign |
---|
height | 250 |
---|
|
Publicando Relatórios
Publicação
Deck of Cards |
---|
|
Card |
---|
|
Após a conclusão do desenvolvimento do relatório, é necessária a autenticação no TOTVS | ECM com um usuário válido para realizar a sua publicação. Selecione a opção Navegação de Documentos, escolha a pasta de publicação, em seguida selecione a opção Novo Relatório, conforme a figura 28.
Figura 28 – Pasta de publicação. A publicação de relatórios é semelhante à inclusão de documentos no GED do TOTVS | ECM, possui as mesmas propriedades, inclusive: aprovação, segurança e propriedades herdadas. |
Card |
---|
|
Ao abrir a janela Editando Relatórios defina as propriedades do relatório no GED, em seguida na aba Arquivos de Publicação clique no botão Upload conforme figura 29.
Figura 29 – Publicação de relatório. |
|
Anexos
Deck of Cards |
---|
|
O BIRT Report Designer gera um arquivo em formato XML com a extensão rptdesign, é necessário publicá-lo no TOTVS | ECM e defini-lo como “Principal” para que o relatório seja executado. Os demais arquivos utilizados devem ser publicados e definidos como “Anexo”.
Card |
---|
|
Ao abrir a janela Upload de arquivo clique no botão Procurar selecione a pasta do projeto do desenvolvimento do relatório de colaboradores e importe os arquivos report.rptdesign e LogoTOTVS.png e clique botão Abrir conforme figura 30.
Figura 30 – Upload de arquivos do relatório. |
Card |
---|
|
Na janela Upload de Arquivo clique no botão Upload e em seguida no botão Fechar. Defina o arquivo report.rptdesign como Principal e o arquivo de imagem utilizado no relatório como Anexo. Para concluir a operação clique no botão Confirmar conforme figura 31.
Figura 31 – Concluindo publicação. |
|
...
Visualizador de Relatórios
Deck of Cards |
---|
|
Após concluir a publicação, para visualizá-lo, clique sobre ele no GED do TOTVS | ECM.
Card |
---|
|
Uma nova janela deverá abrir, para iniciar a execução do relatório de colaboradores desenvolvido anteriormente é necessária a inclusão de parâmetros, defina os seus valores e em seguida clique no botão OK conforme a figura 32.
Figura 32 – Parâmetros do relatório. |
Card |
---|
|
O relatório deverá mostrar todos os colaboradores cadastrados no TOTVS | ECM para a empresa em que o usuário está autenticado, conforme figura 33.
Figura 33 – Relatório de Colaboradores – Resultado. |
|
Opções do visualizador
A ferramenta de visualização de relatório do TOTVS | ECM possui várias funcionalidades:
- Verificar Indice: Caso o relatório desenvolvido possua índice é possível listá-lo;
- Executar relatório: Permite que o relatório seja executado novamente;
- Exportar dados: Exporta os dados gerados do relatório em arquivo, permitindo selecionar as colunas desejadas e o separador de dados;
- Exportar relatório: Converte os dados do relatório em diferentes formatos de arquivos: Microsoft® Excel®, PostScript®, PDF, Microsoft® Word e Microsoft® Power Point®, permite também a seleção de páginas que serão exportadas;
- Imprimir relatório: Imprime relatório selecionando as impressoras instaladas no computador do usuário autenticado e permite imprimir em formato PDF ou HTML;
- Imprimir relatório no servidor: Imprime relatório a partir das impressoras instaladas no servidor do TOTVS | ECM;
- Navegação de páginas: permite a navegação entre as páginas do relatório.
Figura 34 – Funcionalidades do visualizador de relatórios.
...
JPA - Funções de Agregação
...
Funções de agregação
O TOTVS | ECM suporta através de consultas JPA e seu banco de dados, o uso de funções de agregação, tais como: AVG, SUM, COUNT, MAX e MIN. Permite também utilizar agrupamentos: GROUP BY e HAVING.
Tabela de entidades
Código dataset | Entidade JPA | Tabela banco de dados |
---|
AccessLog | AccessLog | HISTOR_ACES |
ActivityDim | ActivityDim | ACTIVITY_DIM_CAP |
advancedProcessProperties | AdvancedProcessProperties | PROPRIED_AVANCAD_PROCES |
businessPeriod | BusinessPeriod | PERIOD_EXPED |
colleague | Colleague | COLABORADOR |
colleagueGroup | ColleagueGroup | GRUPO_COLABORADOR |
destinationArea | DestinationArea | AREA_DEST |
document | Document | DOCUMENTO |
documentSecurityConfig | DocumentSecurityConfig | CONFIGUR_SEGUR_DOCTO |
FactActivityCost | FactActivityCost | FACT_ACTIVITY_COST_CAP |
FactFlowVolume | FactFlowVolume | FACT_FLOW_VOLUME_CAP |
FactProcesCost | FactProcesCost | FACT_PROCES_COST_CAP |
FactProcesVolume | FactProcesVolume | FACT_PROCES_VOLUME_CAP |
FlowDim | FlowDim | FLOW_DIM_CAP |
globalCalendar | GlobalCalendar | CALEND_GLOBAL |
group | Group | GRUPO |
knowledge | Knowledge | CONHECIMENTO |
processAttachment | ProcessAttachment | ANEXO_PROCES |
processDefinition | ProcessDefinition | DEF_PROCES |
processDefinitionVersion | ProcessDefinitionVersion | VERS_DEF_PROCES |
processHistory | ProcessHistory | HISTOR_PROCES |
processState | ProcessState | ESTADO_PROCES |
processTask | ProcessTask | TAR_PROCES |
ProcesVersionDim | ProcesVersionDim | PROCES_VERSION_DIM_CAP |
TimeDim | TimeDim | TIME_DIM_CAP |
topic | Topic | ASSUNTO |
UserDim | UserDim | USER_DIM_CAP |
workflowColleagueRole | WorkflowColleagueRole | PAPEL_WORKFLOW_COLABORADOR |
workflowProcess | WorkflowProcess | PROCES_WORKFLOW |
workflowRole | WorkflowRole | PAPEL_WORKFLOW |
A tabela acima referencia a relação entre o código de dataset, a entidade de persistência JPA utilizada nas consultas, e a respectiva tabela no banco de dados.
As colunas das entidades de persistência são as mesmas apresentadas no dataset.
Exemplo de utilização
Bloco de código |
---|
importPackage(Packages.com.datasul.technology.webdesk.dataset.service); importPackage(Packages.java.util); var qd = null; var rs = null; var rowMap = null; var sqlJpa = ""; qd = new QueryDelegate(); sqlJpa = "SELECT count(d.documentPK.documentId), d.publisherId from Document d WHERE d.documentPK.companyId = ${WKCompany} GROUP BY d.publisherId"; rs = qd.getResultQuery(sqlJpa); var rowMap = rs.get(0); //Busca o valor do Count rowMap.get("d.publisherId"); //Busca o Codigo do documento
rowMap.get("count(d.documentPK.documentId)"); |
...
Acessando dados de Fichários
...
Importando bibliotecas
A partir da classe DatasetFactory é possível acessar dados de fichários publicados no TOTVS | ECM.
Para popular um relatório através de dados de fichários é necessário a importação das seguintes bibliotecas:
Bloco de código |
---|
importPackage(Packages.com.datasul.technology.webdesk.dataset.service); importPackage(Packages.com.datasul.technology.webdesk.dataset); importPackage(Packages.com.datasul.technology.webdesk.search.controller); |
Retornando dados do fichário
...
Através da classe DatasetFactory é possível buscar dados de fichários, incluir filtros e ordenação. Exemplo de utilização:
Bloco de códigocode |
---|
// Monta as constraints para consulta var factory = DatasetFactory.getInstance(${WKCompany}); //Filtra Clientes de 1 a 5 var c1 = factory.createConstraint("cod_cli", "1", "5", ConstraintType.MUST);var constraints = new Array(c1); //Ordena o resultado pelo nome do Cliente var sortingFields = new Array("name_cli"); dataset = factory.getDataset("cad_cli", null, constraints, sortingFields); |
...
O exemplo acima invoca o método getDataset passando alguns argumentos extras como parâmetros:
...
Bloco de código |
---|
// Monta as constraints para consulta var factory = DatasetFactory.getInstance(${WKCompany}); //Filtra Clientes de 1 a 5 var c1 = factory.createConstraint("campo_data", "2010/01/25", "2010/05/02", ConstraintType.MUST); var constraints = new Array(c1); //Ordena o resultado pelo nome do Cliente var sortingFields = new Array("name_cli"); dataset = factory.getDataset("cad_cli", null, constraints, sortingFields); |
Third Party Trademarks
Adobe, Flash, Flex, Flex Builder, PostScript and Reader are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries.
Apache is a trademark of The Apache Software Foundation.
Apple is a trademark of Apple Inc., registered in the U.S. and other countries
Firefox and Mozilla are registered trademarks of the Mozilla Foundation.
Google, Android and Google Chrome are trademarks of the Google Inc.
IOS is a trademark or registered trademark of Cisco in the U.S. and other countries and is used under license
JavaScript is a trademark of Oracle Corporation.
Liferay, Liferay Portal, and the Liferay logo are trademarks or registered trademarks of Liferay, Inc., in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the U.S. and other countries.
Microsoft, Active Directory, Excel, Internet Explorer, Outlook, PowerPoint, SQL Server, Windows and Windows Vista are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.
MySQL is a trademark of Oracle Corporation and/or its affiliates.
openDBcopy is an open-source project by Anthony Smith, published under the terms of the GNU General Public License
OpenLDAP is a registered trademark of the OpenLDAP Foundation
Oracle, Java and OpenOffice.org are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
Progress and OpenEdge are trademarks or registered trademarks of Progress Software Corporation or one of its subsidiaries or affiliates in the U.S. and other countries.
Red Hat and JBoss are registered trademarks of Red Hat, Inc. in the United States and other countries.
This product includes software developed by the Visigoth Software Society (http://www.visigoths.org/).
...