Histórico da Página
...
Produto: |
| ||||
---|---|---|---|---|---|
Linha de Produto: |
| ||||
Segmento: |
| ||||
Módulo: | Pré-Faturamento de Serviços - SIGAPFS | ||||
Função: | Execução de relatórios Crystal Reports - Crystal Capa da fatura - JU203a Relatório de fatura - JU203 | ||||
País: | Brasil | ||||
Ticket: | 12496838 | ||||
Requisito/Story/Issue: | DJURFAT1-13714 |
02. SITUAÇÃO/REQUISITO
O tempo de geração Demora excessiva na geração dos relatórios de faturamento (Crystal Reports) estão bastante demorado.
03. SOLUÇÃO
Para aumento no ganho de performance na geração dos relatórios foi foram identificados os pontos abaixo:
- Ajustes na nos relatórios utilizando a ferramenta Crystal Reports:
1. Acessar o menu Arquivo e em seguida a opção Opções de Relatório:
...
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:
-Acessar o menu arquivo → Configuração da Página → Marcar a opção 'Sem Impressora (otimizar para exibição na tela)".
- Ajustes ODBC:
- Selecionar a conexão ODBC da fonte de dados e clicar na opção configurar:
...
Relatório da fatura (JU203.RPT):
Relatório principal
- Alteração nos parâmetros do relatório (Escritório e Código da fatura) para serem executados como filtros da query (Record Selection Formula Editor):
{NXA010.NXA_COD} = {?NumFat}
and {NXA010.NXA_CESCR} = {?Escrit}
and {NXA010.D_E_L_E_T_} = ' '
- Alteração nos relacionamentos das tabelas para serem usados os índices (Exemplo: Adicionado o campo de filial entre as tabelas NVE_FILIAL -> NXC_FILIAL)
- Exclusão da fórmula frmContrato e substituído a utilização dela pelo próprio conteúdo "{NXC010.NXC_CCONTR} = {NT0010.NT0_COD}" direto nas seções:
- Group Header 4a Suppress
- Group Footer 4a Suppress
- Group Footer 4L Suppress
- Group Footer 4i Suppress
- Group Footer 4l Suppress
- Group Footer 3a Suppress
- Exclusão da fórmula frmTituloContrato e substituído a utilização dela pelo próprio conteúdo "{NT0010.NT0_TITFAT}" nas seções:
- Group Footer 4i Suppress
- Group Footer 4l Suppress
- Group Footer 3a Suppress
- Subreport links para os subreports
- FaturamentoHonorarios
- ResumoPorCategoria
- FaturamentoAdvogado
- TS Não Cobraveis (Variavel)
- TS não cobráveis
- FaturamentoTabelado
- FaturamentoDespesas
- frmSubTotalMinimoValor verificar onde estava sendo usada a fórmula (Conteúdo {NXB010.NXB_VFIXO})
- Substituído a fórmula frmPrefaturaHonorariosValorTotal pelo conteúdo -> {NXA010.NXA_VLFATD}
- Substituído a fórmula frmPrefaturaDespesasValorTotal pelo conteúdo -> {NXA010.NXA_VLFATH}
- Alteração na fórmula de Suppress para a sessão Group Footer 4g, onde é exibida a fórmula frmHonorariosNaoCob para:
Shared NumberVar vgnTotalTSZero;
If vgnTotalTSZero > 0 And {NXC010.NXC_VLTS} > 0Then
False
Else
True
Subreport FaturamentoFixo
- Alteração no Record Selection Formula Editor para:
{NWE010.NWE_CESCR} = {?Pm-NXA010.NXA_CESCR}
and {NWE010.NWE_CFATUR} = {?Pm-NXA010.NXA_COD}
and {NT1010.NT1_CCONTR} = {?Pm-NXB010.NXB_CCONTR}
and {NT0010.D_E_L_E_T_} = ' '
and {NT1010.D_E_L_E_T_} = ' '
and {NWE010.D_E_L_E_T_} = ' '
and {NXA010.D_E_L_E_T_} = ' '
and {NS7010.D_E_L_E_T_} = ' '
- Alteração nos relacionamentos das tabelas para serem usados os índices (Exemplo: Adicionado o campo de filial entre as tabelas NWE_FILIAL -> NXA_FILIAL)
- Alteração da função frmNuParcela para:
Shared StringVar vgcIdioma;
(
if vgcIdioma = '01'
then
'Parcela '
else
'Installment '
)
+ ' - ' + {NT1010.NT1_PARC}
Subreport FaturamentoHonorarios
- Alteração nos relacionamentos das tabelas para serem usados os índices (Exemplo: Adicionado o campo de filial entre as tabelas NW0_FILIAL -> NUE_FILIAL)
- Adicionado o relacionamento entre as tabelas NXC e NW0 entre as colulas de Fatura e Escritório
- Alteração no Record Selection Formula Editor para:
{NXC010.NXC_CFATUR} = {?Pm-NXA010.NXA_COD} And
{NXC010.NXC_CESCR} = {?Pm-NXA010.NXA_CESCR} And
{NUE010.NUE_VALOR} > 0 And
{NUE010.NUE_VALOR1} > 0 And
({NUE010.NUE_CLTAB} = ' ' or ({NRD010.NRD_COBMAI} = '1' and {NUE010.NUE_VALOR1} > {NV4010.NV4_VLHFAT})) And
{NRC010.NRC_TEMPOZ} = '1' And
{NRA010.NRA_COBRAH} = '1' And
{CTO010.D_E_L_E_T_} = ' ' And
{NRA010.D_E_L_E_T_} = ' ' And
{NT0010.D_E_L_E_T_} = ' ' And
{NUE010.D_E_L_E_T_} = ' ' And
{NW0010.D_E_L_E_T_} = ' ' And
{NXB010.D_E_L_E_T_} = ' ' And
{NXC010.D_E_L_E_T_} = ' ' And
If {?Pm-NT0010.NT0_TITFAT} <> ' ' then
( {NUE010.NUE_CCLIEN} = {?Pm-NXC010.NXC_CCLIEN}
and {NUE010.NUE_CLOJA} = {?Pm-NXC010.NXC_CLOJA}
and {NXB010.NXB_CCONTR} = {?Pm-NXB010.NXB_CCONTR}
)
else
( {NUE010.NUE_CCLIEN} = {?Pm-NXC010.NXC_CCLIEN}
and {NUE010.NUE_CLOJA} = {?Pm-NXC010.NXC_CLOJA}
and {NUE010.NUE_CCASO} = {?Pm-NXC010.NXC_CCASO}
and {NXB010.NXB_CCONTR} = {?Pm-NXB010.NXB_CCONTR}
)
- Exclusão da fórmula frmContrato e retirada dos locais que utilizavam:
- Group Header 1a Suppress
- Group Header 1b Suppress
- Group Header 1c Suppress
- Group Header 1d Suppress
- Group Header 1e Suppress
- Group Header 1f Suppress
- Details a
- Details b
- Details c
- Details d
- Details e
- Details f
- Group Footer 1
- Exclusão da fórmula frmHoras
- Exclusão do parâmetro NT0_COD passado como parâmetro do relatório principal para o subreport.
Subreport ResumoPorCategoria
- Alteração nos relacionamentos das tabelas para serem usados os índices (Exemplo: Adicionado o campo de filial entre as tabelas NXD_FILIAL -> NXC_FILIAL).
- Transferência dos relacionamentos das tabelas CTO010_TS e CT0010_FT com a tabela NXD, para as tabelas NXF relacionadas
- Transferência do relacionamento da tabela NUR com a NXD para NUR com RD0
- Adicionado relacionamentos entre NXD_CFATUR com NXC_CFATUR e NXD_CESCR com NXC_CESCR
- Alteração no Record Selection Formula Editor para:
{NXD010.NXD_CFATUR} = {?Pm-NXA010.NXA_COD} and
{NXD010.NXD_CESCR} = {?Pm-NXA010.NXA_CESCR} and
{NXD010.NXD_VLADVG} > 0 and
{CTO010_TS.D_E_L_E_T_} = ' ' and
{NRN010.D_E_L_E_T_} = ' ' and
{NUR010.D_E_L_E_T_} = ' ' and
{NXC010.D_E_L_E_T_} = ' ' and
{NXD010.D_E_L_E_T_} = ' ' and
{RD0010.D_E_L_E_T_} = ' ' and
if {?Pm-NT0010.NT0_TITFAT} <> ' ' then
(
{NXD010.NXD_CCONTR} = {?Pm-NXC010.NXC_CCONTR} and
{NXD010.NXD_CCLIEN} = {?Pm-NXC010.NXC_CCLIEN} and
{NXD010.NXD_CLOJA} = {?Pm-NXC010.NXC_CLOJA}
)
else
(
{NXD010.NXD_CCONTR} = {?Pm-NXC010.NXC_CCONTR} and
{NXD010.NXD_CCLIEN} = {?Pm-NXC010.NXC_CCLIEN} and
{NXD010.NXD_CLOJA} = {?Pm-NXC010.NXC_CLOJA} and
{NXD010.NXD_CCASO} = {?Pm-NXC010.NXC_CCASO}
)
- Exclusão da fórmula frmAdvogadoValorTotal, pois continha apenas o campo NXD_VLADVG. Nos locais onde era utilizada, utilizamos o próprio campo.
- Exclusão da fórmula frmContrato, pois estava fazendo filtros que já são atendidos pelos relacionamentos das tabelas NXD e NXC.
Locais onde foram encontrados a fórmula e foram retidados:
- Group Reader 1 Suppress
- Group Reader 2 Suppress
- Group Reader 4 Suppress
- Exclusão do parâmetro NT0_COD passado como parâmetro do relatório principal para o subreport.
Subreport FaturamentoAdvogado
- Readequação dos relacionamentos entre as tabelas
- Exclusão da fórmula frmContrato, pois estava fazendo filtros que já são atendidos pelos relacionamentos das tabelas NXD e NXC.
Locais onde foram encontrados a fórmula e foram retidados:
- Details Suppress
- Group Header 1 Suppress
- Alteração no Record Selection Formula Editor para:
{NXD010.NXD_CFATUR} = {?Pm-NXA010.NXA_COD} and
{NXD010.NXD_CESCR} = {?Pm-NXA010.NXA_CESCR} and
({NXD010.NXD_CODTAB} = ' ' or ({NRD010.NRD_COBMAI} = '1' and {NXD010.NXD_VLADVG} > {NV4010.NV4_VLHFAT}) ) and
{NRA010.NRA_COBRAH} = '1' and
{NXD010.NXD_VLADVG} > 0 and
{CTO010.D_E_L_E_T_} = ' ' and
{CTO010_TS.D_E_L_E_T_} = ' ' and
{NRA010.D_E_L_E_T_} = ' ' and
{NRN010.D_E_L_E_T_} = ' ' and
{NT0010.D_E_L_E_T_} = ' ' and
{NUR010.D_E_L_E_T_} = ' ' and
{NXB010.D_E_L_E_T_} = ' ' and
{NXC010.D_E_L_E_T_} = ' ' and
{NXD010.D_E_L_E_T_} = ' ' and
{RD0010.D_E_L_E_T_} = ' ' and
if {?Pm-NT0010.NT0_TITFAT} <> ' ' then
(
{NXB010.NXB_CCONTR} = {?Pm-NXB010.NXB_CCONTR} and
{NXD010.NXD_CCLIEN} = {?Pm-NXC010.NXC_CCLIEN} and
{NXD010.NXD_CLOJA} = {?Pm-NXC010.NXC_CLOJA}
)
else
(
{NXB010.NXB_CCONTR} = {?Pm-NXB010.NXB_CCONTR} and
{NXD010.NXD_CCLIEN} = {?Pm-NXC010.NXC_CCLIEN} and
{NXD010.NXD_CLOJA} = {?Pm-NXC010.NXC_CLOJA} and
{NXD010.NXD_CCASO} = {?Pm-NXC010.NXC_CCASO}
)
- Exclusão do parâmetro NT0_COD passado como parâmetro do relatório principal para o subreport.
- Exclusão da fórmula frmAdvogadoValorTotal e substituído nos locais onde era utilizada pelo campo NXD_VLADVG
Subreport TS Não Cobraveis (Variavel)
- Alteração nos relacionamentos das tabelas para serem usados os índices (Exemplo: Adicionado o campo de filial entre as tabelas NWE_FILIAL -> NXA_FILIAL)
- Alteração nos parâmetros do relatório (Escritório e Código da fatura) para serem executados como filtros da query (Record Selection Formula Editor):
{NXC010.NXC_CESCR} = {?Pm-NXA010.NXA_CESCR} and
{NXC010.NXC_CFATUR} = {?Pm-NXA010.NXA_COD} and
{NUE010.D_E_L_E_T_} = ' ' and
{NW0010.D_E_L_E_T_} = ' ' and
{NXC010.D_E_L_E_T_} = ' ' and
if {?Pm-NT0010.NT0_TITFAT} <> ' ' then
(
{NXC010.NXC_CCLIEN} = {?Pm-NXC010.NXC_CCLIEN} and
{NXC010.NXC_CLOJA} = {?Pm-NXC010.NXC_CLOJA}
)
else
(
{NXC010.NXC_CCLIEN} = {?Pm-NXC010.NXC_CCLIEN} and
{NXC010.NXC_CLOJA} = {?Pm-NXC010.NXC_CLOJA} and
{NXC010.NXC_CCASO} = {?Pm-NXC010.NXC_CCASO}
)
Subreport TS não cobráveis
- Alteração nos relacionamentos das tabelas para serem usados os índices (Exemplo: Adicionado o campo de filial entre as tabelas NWE_FILIAL -> NXA_FILIAL)
- Alteração nos parâmetros do relatório (Escritório e Código da fatura) para serem executados como filtros da query (Record Selection Formula Editor):
{NXC010.NXC_CFATUR} = {?Pm-NXA010.NXA_COD} and
{NXC010.NXC_CESCR} = {?Pm-NXA010.NXA_CESCR} and
{NRC010.NRC_TEMPOZ} = '2' and
(
({NUE010.NUE_VALOR1} = 0 and {NUE010.NUE_UTR} > 0 and {NUE010.NUE_CLTAB} = ' ') or
({NRD010.NRD_COBMAI} = '1' and {NUE010.NUE_VALOR1} < {NV4010.NV4_VLHFAT}) or
({NRD010.NRD_COBMAI} = '2')
) and
{CTO010.D_E_L_E_T_} = ' ' and
{NUE010.D_E_L_E_T_} = ' ' and
{NW0010.D_E_L_E_T_} = ' ' and
{NXC010.D_E_L_E_T_} = ' ' and
If {?Pm-NT0010.NT0_TITFAT} <> ' ' then
(
{NUE010.NUE_CCLIEN} = {?Pm-NXC010.NXC_CCLIEN} and
{NUE010.NUE_CLOJA} = {?Pm-NXC010.NXC_CLOJA}
)
else
(
{NUE010.NUE_CCLIEN} = {?Pm-NXC010.NXC_CCLIEN} and
{NUE010.NUE_CLOJA} = {?Pm-NXC010.NXC_CLOJA} and
{NUE010.NUE_CCASO} = {?Pm-NXC010.NXC_CCASO}
)
- Exclusão da fórmula frmContrato e dos locais que utilizavam:
- Group Header 1f Suppress
- Group Header 1e Suppress
- Group Header 1d Suppress
- Group Header 1c Suppress
- Group Header 1b Suppress
- Group Header 1a Suppress
- Details a Suppress
- Details b Suppress
- Details c Suppress
- Details d Suppress
- Details e Suppress
- Details f Suppress
Subreport FaturamentoTabelado
- Alteração nos relacionamentos das tabelas para serem usados os índices (Exemplo: Adicionado o campo de filial entre as tabelas NWE_FILIAL -> NXA_FILIAL)
- Inclusão de relacionamento entre as colunas NW4_CFATUR com NXA_COD e NW4_CESCR com NXA_CESCR
- Alteração nos parâmetros do relatório (Escritório e Código da fatura) para serem executados como filtros da query (Record Selection Formula Editor):
{NXC010.NXC_CFATUR} = {?Pm-NXA010.NXA_COD} and
{NXC010.NXC_CESCR} = {?Pm-NXA010.NXA_CESCR} and
{CTO010.D_E_L_E_T_} = ' ' and
{CTO010_FAT.D_E_L_E_T_} = ' ' and
{NT0010.D_E_L_E_T_} = ' ' and
{NV4010.D_E_L_E_T_} = ' ' and
{NW4010.D_E_L_E_T_} = ' ' and
{NXA010.D_E_L_E_T_} = ' ' and
{NXB010.D_E_L_E_T_} = ' ' and
{NXC010.D_E_L_E_T_} = ' ' and
{NS7010.D_E_L_E_T_} = ' ' and
If {?Pm-NT0010.NT0_TITFAT} <> ' ' then
(
{NV4010.NV4_CCLIEN} = {?Pm-NXC010.NXC_CCLIEN} and
{NV4010.NV4_CLOJA} = {?Pm-NXC010.NXC_CLOJA}
)
else
(
{NV4010.NV4_CCLIEN} = {?Pm-NXC010.NXC_CCLIEN} and
{NV4010.NV4_CLOJA} = {?Pm-NXC010.NXC_CLOJA} and
{NV4010.NV4_CCASO} = {?Pm-NXC010.NXC_CCASO}
)
- Exclusão da fórmula frmContrato e dos locais que utilizavam
Subreport FaturamentoDespesas
- Alteração nos relacionamentos das tabelas para serem usados os índices (Exemplo: Adicionado o campo de filial entre as tabelas NWE_FILIAL -> NXA_FILIAL)
- Inclusão de relacionamento entre as colunas NVZ_CFATUR com NXA_COD e NVZ_CESCR com NXA_CESCR
- Alteração nos parâmetros do relatório (Escritório e Código da fatura) para serem executados como filtros da query (Record Selection Formula Editor):
{NVZ010.NVZ_CESCR} = {?Pm-NXA010.NXA_CESCR} and
{NVZ010.NVZ_CFATUR} = {?Pm-NXA010.NXA_COD} and
{CTO010.D_E_L_E_T_} = ' ' and
{CTO010_FAT.D_E_L_E_T_} = ' ' and
{NRH010.D_E_L_E_T_} = ' ' and
{NT0010.D_E_L_E_T_} = ' ' and
{NVY010.D_E_L_E_T_} = ' ' and
{NVZ010.D_E_L_E_T_} = ' ' and
{NXA010.D_E_L_E_T_} = ' ' and
{NXB010.D_E_L_E_T_} = ' ' and
{NXC010.D_E_L_E_T_} = ' ' and
{RD0010.D_E_L_E_T_} = ' ' and
{NS7010.D_E_L_E_T_} = ' ' and
If {?Pm-NT0010.NT0_TITFAT} <> ' ' THEN
(
{NVY010.NVY_CCLIEN} = {?Pm-NXC010.NXC_CCLIEN} and
{NVY010.NVY_CLOJA} = {?Pm-NXC010.NXC_CLOJA}
)
Else
(
{NVY010.NVY_CCLIEN} = {?Pm-NXC010.NXC_CCLIEN} and
{NVY010.NVY_CLOJA} = {?Pm-NXC010.NXC_CLOJA} and
{NVY010.NVY_CCASO} = {?Pm-NXC010.NXC_CCASO}
)
- Exclusão da fórmula frmContrato e dos locais que utilizavam
- Group Header 1 Suppress
- Group Header 2 Suppress
- Group Header 3 Suppress
- Details Suppress
- Group Footer 1 Suppress
- Group Footer 3 Suppress
- Exclusão da fórmula frmDescritDEsp e substituído a fórmula pelo conteúdo -> {NRH010.NRH_DESC}
- Exclusão da fórmula frmValorDesp e substituído a fórmula pelo conteúdo -> {NVY010.NVY_VALOR}
- Details
- Running Total no Group Footer 2
- Running Total no Group Footer 3
Subreport Moeda_limite
- Alteração nos parâmetros do relatório (Escritório e Código da fatura) para serem executados como filtros da query (Record Selection Formula Editor):
{NXF010.NXF_CFATUR} = {?Pm-NXA010.NXA_COD} and
{NXF010.NXF_CESCR} = {?Pm-NXA010.NXA_CESCR} and
{NXF010.NXF_CMOEDA} = {?Pm-NT0010.NT0_CMOELI}
Subreport LimitePorFatura
- Readequação dos relacionamentos entre as tabelas
- Alteração nos parâmetros do relatório (Escritório e Código da fatura) para serem executados como filtros da query (Record Selection Formula Editor):
{NXB010.NXB_CESCR} = {?Pm-NXB010.NXB_CESCR} and
{NXB010.NXB_CFATUR} = {?Pm-NXB010.NXB_CFATUR} and
{NXB010.NXB_CCONTR} = {?Pm-NXB010.NXB_CCONTR}
Subreport ValorLimite
- Readequação dos relacionamentos entre as tabelas
- Alteração nos parâmetros do relatório (Escritório e Código da fatura) para serem executados como filtros da query (Record Selection Formula Editor):
{NXB010.NXB_CCONTR} = {?Pm-NXB010.NXB_CCONTR} and
{NXA010.NXA_SITUAC} = '1' and
{NXA010.NXA_CALDIS} = '1' and
{NXA010.NXA_TIPO} = 'FT' and
{CTO010.D_E_L_E_T_} = '' and
{NS7010.D_E_L_E_T_} = '' and
{NT0010.D_E_L_E_T_} = '' and
{NXA010.D_E_L_E_T_} = '' and
{NXB010.D_E_L_E_T_} = '' and
{NXC010.D_E_L_E_T_} = ''
Subreport Sub Total Faixa de Faturamento
- Readequação dos relacionamentos entre as tabelas
- Alteração nos parâmetros do relatório (Escritório e Código da fatura) para serem executados como filtros da query (Record Selection Formula Editor):
{NXB010.NXB_CFATUR} = {?Pm-NXA010.NXA_COD} and
{NXB010.NXB_CESCR} = {?Pm-NXA010.NXA_CESCR} and
{NXB010.NXB_CCONTR} = {?Pm-NXB010.NXB_CCONTR}
Subreport FaturamentoAdicional
- Readequação dos relacionamentos entre as tabelas
- Alteração nos parâmetros do relatório (Escritório e Código da fatura) para serem executados como filtros da query (Record Selection Formula Editor):
{NWD010.NWD_CESCR} = {?Pm-NXA010.NXA_CESCR} and
{NWD010.NWD_CFATUR} = {?Pm-NXA010.NXA_COD} and
{NVV010.D_E_L_E_T_} = '' and
{NWD010.D_E_L_E_T_} = '' and
{NXA010.D_E_L_E_T_} = '' and
{NS7010.D_E_L_E_T_} = '' and
{NS7010_1.D_E_L_E_T_} = ''
Subreport CasosDiscriminados
- Readequação dos relacionamentos entre as tabelas
- Alteração nos parâmetros do relatório (Escritório e Código da fatura) para serem executados como filtros da query (Record Selection Formula Editor):
{NXC010.NXC_CESCR} = {?Pm-NXA010.NXA_CESCR} and
{NXC010.NXC_CFATUR} = {?Pm-NXA010.NXA_COD} and
{NXC010.NXC_CCONTR} = {?Pm-NXA010.NXA_CCONTR} and
{NVE010.D_E_L_E_T_} = '' and
{NXC010.D_E_L_E_T_} = ''
04. DEMAIS INFORMAÇÕES
Não há.
...
Templatedocumentos |
---|