9 Replies Latest reply: Jan 27, 2017 7:25 AM by MARIO SOARES RSS

    Data fechamento

    Gabriel Erich Koeke

      Boa tarde, hoje para o DRE temos a data de Emissão(Competência) e data de Lançamento(quando é lançado). O que eu preciso, suponhamos que a data de corte é dia 06/12, vou verificar tudo que foi lançado com a emissão em novembro. Mas por exemplo agora vou fazer o fechamento 06/01, vou considerar tudo que foi lançado em Dezembro, mas se um usuário lançar alguém documento após a data de corte referente a novembro, que fechei dia 06/12, vou precisar considerar para o fechamento dia 06/01.

      Imagem BD.PNG

      Como eu poderia proceder para criar essa expressão, para o relatório analítico? Para o filtro data eu utilizo da data de emissão.

        • Re: Data fechamento
          JACKSON RIBEIRO ALFONSO

          Não seria melhor você criar uma flag no script de carga validando as datas e "flegando" o registro como processaFechamento = 1 ou 0, ou algo no sentido ?  Pensando em facilidade, desse modo seu setanalisis seria por data de corte e a flag criada.

          • Re: Data fechamento
            MARIO SOARES

            Amigo;

             

            Pode me passar os dados em XLS, CSV ou QVD para testar?

              • Re: Data fechamento
                MARIO SOARES

                Amigo;

                Fiz uma tabela de teste que atenda seus requisitos:

                 

                Segue lógica para apresentar o mês de corte:

                Só copiar a parte do IF e aplicar no seu script;

                 

                Set vMesCorte = '06';
                
                TABELA_TESTE:
                LOAD
                    data_lancamento,
                    data_emissao,
                    if( MonthName(data_lancamento) > MonthName(data_emissao) and Day(data_lancamento) > $(vMesCorte), text(date(data_lancamento,'MM/YYYY')),
                      if( MonthName(data_lancamento) > MonthName(data_emissao) and Day(data_lancamento) <= $(vMesCorte), text(date(AddMonths(data_lancamento,-1),'MM/YYYY')),
                        if( MonthName(data_lancamento) = MonthName(data_emissao) and day(data_lancamento) <= $(vMesCorte), text(date(AddMonths(data_emissao,-1),'MM/YYYY')),
                            text(date(data_emissao,'MM/YYYY'))
                        )
                      )
                    ) as mes_corte,
                    mes_corte_esperado;
                Load * Inline
                [data_lancamento, data_emissao, mes_corte_esperado
                2016-12-26, 2016-12-26, 12/16
                2016-12-06, 2016-12-05, 11/16  
                2016-12-07, 2016-12-05, 12/16  
                2016-12-29, 2016-12-29, 12/16 
                2017-02-07, 2017-01-07, 02/17
                2017-02-07, 2017-01-06, 02/17
                2017-02-07, 2017-01-05, 02/17
                2017-02-06, 2017-01-07, 01/17
                2017-02-06, 2017-01-06, 01/17
                2017-02-06, 2017-01-05, 01/17
                2017-02-06, 2017-01-30, 01/17
                2017-02-06, 2017-01-06, 01/17
                2017-02-07, 2017-01-30, 02/17
                2017-02-05, 2017-01-06, 01/17
                2017-02-05, 2017-01-07, 01/17
                2017-01-06, 2017-01-05, 12/16
                ]; 
                
                
                
                
                
                

                 

                Agora terá um campo mes_corte para utilizar como filtro.

              • Re: Data fechamento
                Gabriel Erich Koeke

                Muito obrigado Mario, vou implantar aqui mas acredito que vai dar certo.