Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Esta AAtrTempo aproximado para leitura: 00 min

ÍNDICE

  1. Instalação e configuração via servidor

  2. Checklist para geração dos relatórios

  3. Lentidão na geração dos relatórios (Performance)

  4. Ajustes no BDE

  5. Customizações - Pontos importantes

01. INSTALAÇÃO E CONFIGURAÇÃO VIA SERVIDOR


Para possibilitar a instalação do Protheus Crystal Integration, primeiramente é necessário realizar o download do instalador no Portal da TOTVS (Área de Download, pacote do Crystal Integration - "protheus_crystal_integration.msi" - com data igual ou superior à Out/2013).

A instalação deve ser feita no servidor onde será executada a aplicação do Protheus.

O parâmetro MV_JCRYSER deve ser configurado com conteúdo .T..

O parâmetro MV_CRYSTAL deve ser configurado com o nome de uma  pasta dentro do RootPath, por default  o conteúdo é "\CRYSTAL\". Importante verificar se a pasta existe, caso não houver criar.

Os arquivos de relatório devem estar no diretório mencionado acima.

Em seguida, copie os arquivos citados abaixo, normalmente existentes no diretório \SMARTCLIENT\ para o \APPSERVER\:

  • APAPI.DLL
  • APCONN.DLL
  • CRYSINI.INI - Este arquivo é criado através de um Wizard, caso não exista. Também é possível criá-lo manualmente, conforme modelo abaixo, respeitando os diretórios da sua instalação. Procure utilizar o caminho através do DRIVE (C:\...) e não de REDE (\\SERVIDOR\...):


[PATH]
SXS=C:\TOTVS\P11\Protheus_Data\system
DATA=C:\TOTVS\P11\Protheus_Data
EXPORT=C:\TOTVS\P11\Protheus_Data\spool

PATHLOG=C:\TOTVS\P12Local\Protheus_data\crystal
LOG=1
AUTO=0

  • CRWINI.INI - É possível criar este arquivo manualmente, conforme modelo abaixo, respeitando os diretórios da sua instalação.

[SXS]
SX1=1
SX2=0


  • SGCRYS32.EXE


Após as configurações acima, incluir em cada ambiente (environment) do APPSERVER.INI a linha abaixo:
CRWINSTALLPATH=<caminho do appserver, exemplo C:\TOTVS\P11\Protheus\AppServer\>


No servidor de aplicação, deverá ser criada uma conexão ODBC para o banco de dados. O Crystal Reports utiliza uma conexão criada no ODBC32.
Caso o Windows seja 32 bits, o ODBC32 estará na pasta ...\SYSTEM32\, se for 64 bits, pasta ...\SYSWOW64\;

Após criar a conexão ODBC, na aba "Workarounds" desabilite a opção "Disable RULE hint";


Verifique se os arquivos de relatórios (.rpt) estão apontados para a conexão existente no ODBC. A conexão pode ser a mesma da aplicação, desde que essa esteja criada no ODBC32.

Após todas as configurações acima efetivadas, abrir o SmartClient e executar a função "CRYSCONFIG". Na próxima tela informa o usuário senha do Protheus e após o usuário se senha do banco de dados.


OBSERVAÇÕES:

  1. Nas estações de trabalho, nenhuma configuração é necessária quando utilizada a impressão via servidor. Isto é, a criação de ODBC, instalação do Crystal Integration e compartilhamento para a pasta CRYSTAL são dispensáveis.
  2. O relatório será gerado no servidor, convertido para PDF e transferido para a estação, portanto é importante existir o Adobe Acrobat Reader instalado no servidor.
  3. Observe que se a chamada da rotina (padrão ou customizada) não estiver preparada para ser executada via servidor, as configurações acima não surtirão efeito e, como consequência, os arquivos serão buscados no \SMARTCLIENT\.
  4. Caso seja ativado o log no arquivo CRYSINI.INI (LOG=1), o arquivo CRLOG será criado no C:\ (caso não seja definido um path diferente) e pode ser bem útil durante o processo de configuração.
  5. Caso existam outros APPSERVER (Balance), verifique se não é necessária a cópia dos arquivos para os demais.
  6. Caso seja percebido que os arquivos utilizados são do SMARTCLIENT, provavelmente o parâmetro MV_JCRYSER não foi criado, ou está como .F. (falso).

02. CHECKLIST PARA GERAÇÃO DO RELATÓRIO

Caso o relatório em Crystal não esteja sendo gerado, abaixo temos alguns pontos que devem ser verificados:

  • Para o relatório de pré-fatura (JU201), no cadastro Tipo de Relatório de Pré-fatura (JURA196) verificar se o campo Nome Arq. está preenchido. Caso esteja preenchido, verificar se existe o arquivo com esse mesmo nome no diretório Crystal do servidor. Exemplo: JU201.RPT
  • Para o relatório de pré-fatura (JU201), caso o campo Nome Arq esteja vazio, a rotina irá considerar o nome JU201 para chamada do processamento do relatório. Todavia, é necessário que não exista o arquivo ".RPT" (sem nome) no diretório Crystal.
  • Gerar o relatório direto pelo Crystal Reports com base nos parâmetros passados no arquivo CRLOG (Parâmetro 17) para garantir que o relatório está correto.
  • Analisar o arquivo de log (CRLOG.LOG) para checar qual mensagem de erro está sendo gerada, sendo que para o caminho deste arquivo fica na chave PATHLOG do arquivo CRYSINI.INI.
  • Verificar se a quantidade de parâmetros que está sendo passada via Protheus é a mesma que está sendo recebida no relatório.
  • A pasta criada com os arquivos  do "smartclient.exe" não pode ter espaçamento no endereço completo do caminho, por exemplo: "C:\SmartCliente TOTVS". Obrigatoriamente o caminho deve ser sem espaços, exemplo: "C:\SmartClient_TOTVS" (Utilizado o underline no lugar do espaço).

03. LENTIDÃO NA GERAÇÃO DOS RELATÓRIOS (PERFORMANCE)

Para aumento no ganho de performance na geração dos relatórios foram identificados os pontos abaixo:

  • Ajustes nos relatórios utilizando a ferramenta Crystal Reports:

1. Acessar o menu Arquivo e em seguida a opção Opções de Relatório:

2. Desabilitar as opções:

-Verificar na primeira atualização

-Exibir alertas na atualização

Observação: Essas configurações devem ser feitas para cada arquivo do relatório Crystal.

3. Ao abrir o relatório via Crystal Reports, caso seja exibido a mensagem "Este relatório utiliza uma impressora inválida. A impressora padrão será utilizada no lugar."

-Mensagem de alerta ao abrir o relatório:

Exibindo image.png

-Acessar o menu arquivo → Configuração da Página → Marcar a opção 'Sem Impressora (otimizar para exibição na tela)".

image.png

  • Ajustes ODBC:
  1. Selecionar a conexão ODBC da fonte de dados e clicar na opção configurar:

2. Em seguida, na aba Workarounds desabilitar a opção 'Disable RULE Hint':


04. AJUSTES NO BDE

Quando o volume de impressão de relatórios é muito alto, pode ocorrer problema na alocação de memória do Windows para o BDE. Com isso, pode ocorrer o erro "An error occurred while attempting to initialize the Borland Database Engine (error $210D)".

Para corrigir o problema, por favor realizar os ajustes conforme as instruções do link.


05. CUSTOMIZAÇÕES - PONTOS IMPORTANTES

Para executar relatórios customizados é possível utilizar a função CallCrys.


Expandir
Bloco de código
languagejava
themeMidnight
titleComo utilizar a função CallCrys
collapsetrue
...

Crie uma rotina AdvPL que utilize a função CallCrys para gerar um relatório Crystal Reports, informando o valor .T. para o sexto parâmetro da função.


A parametrização da função CallCrys é a seguinte:

Procedimentos para Utilização: Crie uma rotina AdvPL que utilize a função CallCrys para gerar um relatório Crystal Reports, informando o valor .T. para o sexto parâmetro da função. A parametrização da função CallCrys é a seguinte:

CallCrys(<cRpt>,<cParams>,<cOptions>,

[lWaitRun],

[lShowGauge],

[lRunOnServer],

[lExportFromServer],

[aTables])


Sendo:

<cRpt>

=

Nome

do

relatório.

<cParams>

=

Parâmetros

do

relatório,

separados

por

vírgula

(,)

ou

ponto

e

vírgula

(;).

Caso

este

parâmetro

seja

marcado,

serão

desconsiderados

os

parâmetros

marcados

no

SX1.

<cOptions>

=

Opções

para

não

se

mostrar

a

tela

de

configuração

de

impressão

no

formato

<x>;<y>;<z>;<w>.

Sendo:

x

=

Impressão

em

Vídeo(1),

Impressora(2),

Impressora(3),

Excel(4),

Excel

Tabular(5),

PDF(6),

Texto(7)

e

Word(8)

.

y

=

Atualiza

Dados(0)

ou

não(1)

.

z

=

Número

de

cópias.

Para

exportação

este

valor

sempre

deverá

ser

1.

w

=

Título

do

Report.

Para

exportação

este

será

o

nome

do

arquivo

sem

extensão.

<lWaitRun>

=

Indica

se

deve

interromper

a

execução

da

função

CallCrys

até

o

fechamento

do

relatório.

<lShowGauge>

=

Indica

se

a

barra

de

progressão

da

geração

do

relatório

deve

ser

exibida.

<lRunOnServer>

=

Indica

se

a

execução

do

relatório

deve

ser

feita

no

servidor

. <lExportFromServer> = Indica que será feita exportação do arquivo do relatório no servidor, neste modo o relatório não é exibido para o usuário final. <aTables> = Define que as tabelas nele inclusas não receberão tratamento de filial e de deleção. Formato:

(Envie sempre .T. nesse parâmetro).

<lExportFromServer> = Indica que será feita exportação do arquivo do relatório no servidor, neste modo o relatório não é exibido para o usuário final.

<aTables> = Define que as tabelas nele inclusas não receberão tratamento de filial e de deleção. Formato: {'tabela1',

'tabela2',

'tabela3'

...}

Exemplo:

{'SA1',

'SB1'}


As

rotinas

que

fazem

uso

da

função

CallCrys

devem

ser

executas

em

ambientes

que

tenham

interface

com

o

usuário.

Existe uma função do padrão do módulo SIGAPFS chamada JCallCrys utilizada para essa integração. Por padrão, em sua utilização via WebApp (SmartClient HTML), a impressão via Excel não está ativada. Portando caso esteja utilizando a função JCallCrys e a customização for de uma impressão em Excel, recomendamos a utilização da função CallCrys, atentando para preencher os parâmetros conforme citado acima.


Nota
titleCallCrys x JCallCrys

Existe uma função do padrão do módulo SIGAPFS chamada JCallCrys utilizada para essa integração. 

Por padrão, em sua utilização via WebApp (SmartClient HTML), a impressão via Excel não está ativada. Portanto, caso esteja utilizando a função JCallCrys em uma customização que precisa de impressão em Excel, recomendamos a utilização da função CallCrys, atentando para o preenchimento dos parâmetros conforme citado acima.