Árvore de páginas

Contabilização com histórico aglutinado

Produto:

Microsiga Protheus

Ocorrência:

Como realizar a contabilização com histórico aglutinado?

Passo a passo:

Na contabilização com histórico aglutinado, o sistema faz uma avaliação para saber qual é o histórico que ele vai utilizar.

Para essa avaliação, a rotina utiliza o parâmetro MV_AGLHIST, caso esteja com o conteúdo em .F. aglutina os históricos, se estiver como .T., a rotina considera o histórico na regra de busca, caso contrario utiliza o primeiro histórico que ele encontrar.

Além da regra de busca do histórico, a rotina faz uma avaliação para a utilização do histórico aglutinado, essa avaliação é feita com base na informação cadastrada no lançamento padrão (CT5) no campo histórico aglutinado, que caso esteja vazio, a rotina aglutina os históricos guardados nos arquivos de contra-prova (CTK), senão, o mesmo utiliza o valor chumbado do campo (CT5), ignorando os históricos do arquivo de contra-prova.

Observações:

A seguir verifique a regra para a utilização do histórico aglutinado:

If !Empty(CT5->CT5_HAGLUT)                                                                                /// E O HISTORICO AGLUTINADO ESTIVER PREENCHIDO
#IFDEF TOP                                                                                                      /// caso for top connect
                                If TcSrvType() <> "AS/400"                                                       /// EM AMBIENTE TOP <> AS/400
                                               If Empty(TMP->CT2_HIST)                                        /// SE O HISTORICO DO TMP ESTIVER VAZIO
                                                              lGravaHAglut   := .T.                                     /// MONTA HISTORICO AGLUTINADO
                                                              lGravaHist         := .T.
                                               Else                                                                                      /// SE O HISTORICO DO TMP ESTIVER PREENCHIDO
                                                              lGravaHAglut   := .F.                                     /// GRAVA CONTINUAÇÕES DE HISTORICO DO CTK_HAGLUT/CTK_HIST (TOP)
                                                              lGravaHist         := .T.
                                               EndIf
                               Else
                #ENDIF
                                If lCTKHAGLUT                                                                               /// VARIAVEL DE VERIFICAÇÃO DO CAMPO CTK_HAGLUT
                                               lGravaHAglut   := .F.                                                     /// NÃO UTILIZA A AGLUTINAÇÃO DOS HISTORICOS
                                               lGravaHist         := .T.                                                     /// UTILIZA O HISTORICO NORMAL
                                Else                                                                                                      /// SENÃO
                                               lGravaHAglut   := .T.                                                     /// UTILIZA O HISTORICO AGLUTINADO
                                               lGravaHist         := .T.                                                     /// UTILIZA O HISTORICO NORMAL
                                EndIf
                #IFDEF TOP
                                EndIf
                #ENDIF
ElseIf lSomaLinha                                                                                                        /// SE NAO 1º REGISTRO AGLUTINACAO CODEBASE (TOP SEMPRE .T.)
                lGravaHist         := .T.
                lGravaHAglut   := .F.
EndIf

É recomendado que ao utilizar o campo de histórico aglutinado informado, não se utilize campos ou variáveis publicas do sistema, nestes casos, no momento da gravação, o campo ou a variável pode estar desposicionada ou sem conteúdo, assim não gerando a informação desejada. Atente-se ao fato que em uma contabilização aglutinada este necessariamente não precisa estar posicionado no registro.


Em caso de contabilização com parâmetro "Aglutina Histórico =  Sim" não serão gravados campos customizados.

Ex: A rotina "Documento de Entrada (MATA103)" possui um parâmetro de usuário que determina se deseja ou não aglutinar os lançamentos na contabilização, neste caso campos de usuário não terá seus dados gravados.