Páginas filhas
  • RHU0282_Gerar_informações_adicionais_no_complemento_livre

Gerar informações adicionais no complemento livre

Produto:

Virtual Age

Ocorrência:

O processo de contabilização pode ser gerada através de um relatório na tela GARFL007 conforme apresenta a documentação no link RHU0157_Contabilização_Folha_de_pagamento. Para inserir as informações referente ao evento, competência, setor e nome do funcionário no complemento livre é necessário realizar a seguinte alteração.

Passo a passo:

  1. Acessar a tela GARFM004.
  2. Informar o código do relatório referente a contabilização no campo Consulta.
  3. No campo Comando apague todo o conteúdo existente e cole o comando abaixo:

    SELECT

      LPAD(1,6,0)                                  || --NR_ORDEM

      LPAD(ROWNUM,6,0)                             || --NR_LANC

      TO_CHAR(LAST_DAY(DT_COMPETENCIA),'DDMMYYYY') || --DT_LANC

      LPAD(NR_CNPJ,14,0)                           || --CNPJ

      LPAD(CD_REDUZIDO,7,0)                        || --REDUZIDO

      LPAD(VL_MOVIMENTO,14,0)                      || --VALOR

      TP_SINAL                                     || --SINAL PARTIDA

      LPAD(0,9,0)                                  || --C. CUSTO

      LPAD(NR_HISTCINT,4,0)                        || --CD_HISTORICO,

      DS_EVENTO||' - '||TO_CHAR(DT_COMPETENCIA,'MMYYYY')||' - '||DS_SETOR||' - '||NM_FUNC                --COMPL. HISTORICO

        EXP                                           --NOME DO CAMPO

    FROM

    (SELECT

       D.NR_CTADINT                      CD_REDUZIDO          ,

       'D'                               TP_SINAL             ,

       D.NR_HISTCINT                     NR_HISTCINT          ,

       B.CD_EVENTO                       CD_EVENTO            ,

       CASE WHEN ROUND(B.VL_MOVIMENTO,2)< 0

         THEN ROUND(B.VL_MOVIMENTO,2)*-1*100

         ELSE ROUND(B.VL_MOVIMENTO,2)*100

       END                                VL_MOVIMENTO        ,

       A.DT_COMPETENCIA                   DT_COMPETENCIA      ,

       F.NR_CPFCNPJ                       NR_CNPJ,

       (SELECT DS_CLASSIFICACAO FROM RHU_CLASSIFICACAO WHERE CD_TIPOCLAS = 1 AND CD_CLASSIFICACAO = F_DIC_RHU_CLASU_FUNCIONARIO(A.CD_EMPFUNC,A.CD_CHAPA, 1, NULL)) DS_SETOR,

       G.DS_EVENTO,

       SUBSTR(F_DIC_PES_NOME(H.CD_FUNCIONARIO),0,60) NM_FUNC

     FROM

       VR_RHU_FUNCMOVC A,

       VR_RHU_FUNCMOVM B,

       (SELECT * FROM VR_CTP_INSTRHUC WHERE TP_SITUACAO = 1) D,

       VR_CTP_INSTRHUO E,

       VR_GER_EMPRESA F,

       RHU_EVENTO G,

       VR_RHU_FUNCIONARIO H

     WHERE A.DT_COMPETENCIA BETWEEN @DT_INICIAL AND @DT_FINAL

     AND   A.CD_EMPFUNC      IN (@CD_EMPRESA)

     AND   H.CD_EMPFUNC      = A.CD_EMPFUNC

     AND   H.CD_CHAPA        = A.CD_CHAPA

     AND   G.CD_EVENTO       = B.CD_EVENTO

     AND   F.CD_EMPRESA      =  A.CD_EMPFUNC

     AND   A.TP_SITUACAO     <> 6

     AND   B.CD_EMPFUNC      = A.CD_EMPFUNC

     AND   B.CD_CHAPA        = A.CD_CHAPA

     AND   B.DT_COMPETENCIA  = A.DT_COMPETENCIA

     AND   B.NR_SEQMOVC      = A.NR_SEQMOVC

     AND   TO_NUMBER(E.CP1)  = TO_NUMBER(B.CD_EVENTO)

     AND   TO_NUMBER(E.CP2)  = A.TP_FOLHA

     AND   TO_NUMBER(E.CP3)  = TO_NUMBER(TRIM(F_DIC_RHU_CLASU_FUNCIONARIO(A.CD_EMPFUNC,A.CD_CHAPA, 1, NULL)))

     AND   D.NR_INSTRUCAO    = E.NR_INSTRUCAO

    --------------------;

    UNION ALL

    --------------------;

     SELECT

       D.NR_CTACINT                                    ,

       'C'                                             ,

       D.NR_HISTCINT                                   ,

       B.CD_EVENTO                                     ,

       CASE WHEN ROUND(B.VL_MOVIMENTO,2)< 0

         THEN ROUND(B.VL_MOVIMENTO,2)*-1*100

         ELSE ROUND(B.VL_MOVIMENTO,2)*100

       END                                 ,

       A.DT_COMPETENCIA                                ,

       F.NR_CPFCNPJ,

       (SELECT DS_CLASSIFICACAO FROM RHU_CLASSIFICACAO WHERE CD_TIPOCLAS = 1 AND CD_CLASSIFICACAO = F_DIC_RHU_CLASU_FUNCIONARIO(A.CD_EMPFUNC,A.CD_CHAPA, 1, NULL)) DS_SETOR,

       G.DS_EVENTO,

       SUBSTR(F_DIC_PES_NOME(H.CD_FUNCIONARIO),0,60) NM_FUNC

     FROM

       VR_RHU_FUNCMOVC A,

       VR_RHU_FUNCMOVM B,

       (SELECT * FROM VR_CTP_INSTRHUC WHERE TP_SITUACAO = 1) D,

       VR_CTP_INSTRHUO E,

       VR_GER_EMPRESA F,

       RHU_EVENTO G,

       VR_RHU_FUNCIONARIO H

     WHERE A.DT_COMPETENCIA BETWEEN @DT_INICIAL AND @DT_FINAL

     AND   A.CD_EMPFUNC           IN (@CD_EMPRESA)

     AND   H.CD_EMPFUNC           = A.CD_EMPFUNC

     AND   H.CD_CHAPA             = A.CD_CHAPA

     AND   G.CD_EVENTO            = B.CD_EVENTO

     AND   F.CD_EMPRESA           =  A.CD_EMPFUNC

     AND   A.CD_EMPFUNC           >  0

     AND   A.TP_SITUACAO          <> 6

     AND   B.CD_EMPFUNC           = A.CD_EMPFUNC

     AND   B.CD_CHAPA             = A.CD_CHAPA

     AND   B.DT_COMPETENCIA       = A.DT_COMPETENCIA

     AND   B.NR_SEQMOVC           = A.NR_SEQMOVC

     AND   TO_NUMBER(E.CP1)       = TO_NUMBER(B.CD_EVENTO)

     AND   TO_NUMBER(E.CP2)       = A.TP_FOLHA

     AND   TO_NUMBER(E.CP3)       = TO_NUMBER(TRIM(F_DIC_RHU_CLASU_FUNCIONARIO(A.CD_EMPFUNC,A.CD_CHAPA, 1, NULL)))

     AND   D.NR_INSTRUCAO         = E.NR_INSTRUCAO

    )

    WHERE VL_MOVIMENTO > 0

  4. Pressione a tecla F3 para salvar e gere novamente o relatório.