Árvore de páginas


01. DADOS GERAIS

Produto:

TOTVS Gestão Jurídica - Linha SISJURI

Linha de Produto:

Linha Protheus

Segmento:

Jurídico

Módulo:

TOTVS Gestão Jurídica - Linha SISJURI - Pré Faturamento de Serviços (SIGAPFS)

Função:Relatório de pré-fatura - JU201.RPT
País:Brasil
Ticket:Não há
Requisito/Story/Issue (informe o requisito relacionado) :DJURDEP-11246


02. SITUAÇÃO/REQUISITO

O objetivo desta story é complementar o processamento de faturas adicionais para atender o faturamento de ocorrências.

    • O relatório de pré-fatura precisa ser alterado para indicar faturamento de ocorrências ao invés de Time Sheets e indicar no relatório a memória de cálculo que gravamos na descrição da fatura adicional.
    • Alterar o título do relatório para "Discriminação de Ocorrências".
    • Além disso, atualmente não é mostrado o valor por caso na pré-fatura quando temos fatura adicional, esta informação deve ser incluída também.

03. SOLUÇÃO

  • Criação de subreport para mostrar a memória de calculo de uma pré-fatura quando há faturamento de ocorrências.
  • Ajuste na fórmula do titulo do relatório, para indicar "Discriminação de Ocorrências" quando há faturamento de ocorrências, verificando pelo campo NVV_OCORRE.
  • Criação de formulas para obter a moeda e o valor de cada caso.

A seguir, serão demonstrados todos os ajustes feitos para a resolução dos requisitos citados acima.

Pré fatura (JU201.rpt):

  1. Adicionar tabela NVV na estrutura:
    Clique em "Database" > "DataBase Expert..." > Selecionar tabela NVV > Clicar em ">" para adicionar a tabela.
  2. Ajustar relacionamento:
    2.1 Em "Links", ligue os campos da tabela NX0 com os campos da tabela NVV:

    NX0NVV
    NX0_CODNVV_CPREFT
    NX0_CFTADCNVV_COD
    NX0_CCONTRNVV_CCONTR


    2.2 Na linha que ligam as tabelas, clique com o botão direito e selecione: "Links Options..." > Selecione "Left Outer Join" > OK.

  1.  No menu superior, selecione 'Insert' > 'Subreport':
    1. Em 'New report name:', coloque o nome 'Ocorrencias' > Clique em 'Report Wizard' > Selecione as tabelas NX0 e NVV  >'Avançar'.
    2. Em Links, efetuar os seguintes relacionamentos:

      NX0NVV
      NX0_CODNVV_CPREFT
      NX0_CFTADCNVV_COD
      NX0_CCONTRNVV_CCONTR
    3. Clique em concluir > Ok > colocar o subreport acima do subreport 'Adicional.rpt'.
    4. Clique com o botão direito no subreport criado > "Edit subreport":
      1. Adicione o campo NVV_DESREL ao subreport, clique em Database fields (Field explorer) > Selecione a tabela NVV > selecione o campo e arraste para o relatório.
      2. Retirar todos as outras informação, e espaços se necessário.
  2. Adicionar parâmetro Pm-NVV010.NVV_CPREFT:
    1. No relatório principal, clique com o botão direito em cima do subreport de ocorrências > "Edit subreport".
    2. Em Parameter Fields, clicar com botão direito > New > Em name, digite Pm-NVV010.NVV_CPREFT > OK.
  3. Incluir parâmetro para filtrar a ocorrência:
    1. No relatório principal, clique com botão direito em cima do subreport de ocorrências > Change subreports link.
      1. Adicione o campo NVV_CPREFT > check no campo 'Select data in subreport based on fiel' e selecione o campo NX0_COD.
      2. Adicione o campo NX0_CFTADC > check no campo 'Select data in subreport based on fiel' e selecione o campo NVV_COD.
  4. Ajustar supress do subreport:
    1. Clicar com botão direito no subreport de ocorrências > "Format subreport" > Check em "Supress" > clicar em , incluir a regra  {NVV010.NVV_OCORRE} = '2' OR {NVV010.NVV_OCORRE} = ''
    2. Clicar com botão direito no subreport de adicional.rpt> "Format subreport" > clicar no segundo, incluir a regra  {NVV010.NVV_OCORRE} = '1'
  1.  Em database Fields > selecione a tabela NX0 > procure o campo NX0_OBSFAT > Arraste-o para o Group footer #1a.
  2.  Em database Fields > selecione a tabela NVE > procure o campo NVE_OBSFAT > Arraste-o para o Group footer #4k. 
  3.  Ajustar validação, para que se não houver conteúdo não mostrar a seção de observação.
    1. No group footer #1a > Clique com o botão direito > Section Expert > Clique no primeiro e digite as seguintes condições:

      If IsNull({NX0010.NX0_COD}) Or {@vgcTituloCOntrato} <> '' Or {?pImprimeObs} = 'N' Or Isnull({NX0010.NX0_OBSFAT}) Or {NX0010.NX0_OBSFAT} = '' 
      Then
          True
      Else
          False
    2. No group footer #4k > Clique com o botão direito > Section Expert > Clique no primeiro e digite as seguintes condições:

      If {?pImprimeObs} = "N" or ISNULL({NVE010.NVE_OBSCAD}) or {NVE010.NVE_OBSCAD}=''  then
          True
      Else
          false
  1.  Em Formula Fields, selecione a fórmula frmPrefatTitulo > Botão direito  > Edit formula > Adicionar a seguinte condição:

    If ({NX0010.NX0_TS} = '1' or lLimite) And {NX0010.NX0_FATADC} = '1' And {NX0010.NX0_CFTADC} = {NVV010.NVV_COD}  And {NX0010.NX0_COD} = {NVV010.NVV_CPREFT} And {NVV010.NVV_OCORRE} = '1'
    		then
    		   If vgcIdioma = '01'
    		   Then
    			  'Discriminação de Ocorrências'
    		   Else
    				'Occurrence Description'
    
    
  1.  Para adicionar o campo de moeda e valor por caso, iremos adicionar duas fórmulas:

    1. Adicionar Formula frmValorCaso, com a seguinte condição: ToNumber ({NX1010.NX1_VTS})
    2. Adicionar Formula frmMoeda, com a seguinte condição: Trim({CTO010.CTO_SIMB})
  2. Arrastar as duas fórmulas para a seção Group header #4a, em frente a fórmula @frmCasoCodigoTitulo 


04. DEMAIS INFORMAÇÕES


IMPORTANTE!

Executar a atualização de dicionário via UPDDISTR. Após a atualização do ambiente executar o UPDPFS para compatibilizar os dados. Dicionário será disponibilizado nas expedições contínuas com data superior ou igual a 27/10/2022.


05. ASSUNTOS RELACIONADOS