Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
agnaldoneves
Valued Contributor

Email enviado perde o ultimo dia do mês.

Bom dia,

Tenho um problema na virada do mês.

Tenho um disparador de e-mail. que é enviado as 05 horas da manhã.

Do dia 01 até o penúltimo dia funciona certinho.

Não posso enviar antes da meia noite pois. O vendedores digitar pedido a qualquer momento.

O meu problema é que na virada do mês como mostra a figura abaixo.

O dia 28/02/2017 (exemplo) abaixo. Não aparece. Pois vira o mês.

Qual seria a sugestão da comunidade para o meu problema?

Não existe movimento no dia 28. Pois é gerado a 05 horas da manhã,

E já no dia 01/03/2017 não traz o movimento do dia 28. que já abre outro mês.

Exemplo data utilizada:

Sum({$<Ano ={$(=Year(today()))},Mês={$(=Month(today()))} ,[RECEITA]={'S'}>}VLR_ITEM_FATURAR_TOTAL)

2017-03-01_06-47-32.png

Agnaldo Neves
Programador de Sistemas
Tags (1)
1 Solution

Accepted Solutions

Re: Email enviado perde o ultimo dia do mês.

Depende do horário que ele executa, se sempre executar na madrugada, então vai funcionar, pois ele só possui os pedidos emitidos até a data de ontem, por exemplo:

Executou: 01/03/2017 as 04:00 - Enviará os dados de Fev/2017 (01/02 até 28/02)

Executou: 02/03/2017 as 04:00 - Enviará os dados de Mar/2017 (01/03 até 01/03)

Executou: 31/03/2017 as 04:00 - Enviará os dados de Mar/2017 (01/03 até 30/03)

Executou: 01/04/2017 as 04:00 - Enviará os dados de Mar/2017 (01/03 até 31/03)

9 Replies
maiconmello
Contributor III

Re: Email enviado perde o ultimo dia do mês.

Bom dia Agnaldo , ideal seria analisar se tem algo na macro.

Teria que analisar mesmo o seu modelo como um todo. Pois a sua expressão você esta pegando o mês e ano apenas.

Re: Email enviado perde o ultimo dia do mês.

Agnaldo, em seu set analysis você força a utilização do Ano e Mês atual, ou seja, quando seu disparador executa, ele esta tentando gerar os dados do mês corrente, mas você quer os dados do mês anterior.

Precisa alterar a sua lógica para que no dia primeiro ele traga as informações do mês anterior

Re: Email enviado perde o ultimo dia do mês.

Faça seu set analysis utilizar o Ano e Mês de Ontem, assim sua lógica funcionará:

Sum({$<Ano ={$(=Year(today()-1))},Mês={$(=Month(today()-1))} ,[RECEITA]={'S'}>}VLR_ITEM_FATURAR_TOTAL)

maiconmello
Contributor III

Re: Email enviado perde o ultimo dia do mês.

Yuri pensei nisso, mas pelo que entendi, Agnaldo implementando isso ele terá problema para os demais dias.

Acho que essa rotina é diária.

Re: Email enviado perde o ultimo dia do mês.

Depende do horário que ele executa, se sempre executar na madrugada, então vai funcionar, pois ele só possui os pedidos emitidos até a data de ontem, por exemplo:

Executou: 01/03/2017 as 04:00 - Enviará os dados de Fev/2017 (01/02 até 28/02)

Executou: 02/03/2017 as 04:00 - Enviará os dados de Mar/2017 (01/03 até 01/03)

Executou: 31/03/2017 as 04:00 - Enviará os dados de Mar/2017 (01/03 até 30/03)

Executou: 01/04/2017 as 04:00 - Enviará os dados de Mar/2017 (01/03 até 31/03)

agnaldoneves
Valued Contributor

Re: Email enviado perde o ultimo dia do mês.

Yuri você tem razão.

Antes de fazer o script não tinha imaginado que isso aconteceria.

Estou resolvendo através de um bat programdo.

Vou precisar criar bat apenas para o final do mês.

Existe já dezenas de email. Pois é enviado para vários representantes.

Vou criar tarefas programadas para um ano. Acredito que resolva.

Mudando apenas a data de o ultimo dia. Aqui fiz os teste está disparando e funcionando.

Até eu ganhar tempo e pensar e algo menos trabalhoso para agora.

echo off

set antes=%date%

echo 28/02/2017 | date

set hora=%time%

echo 05:00:00,49 | time

start /MIN C:\Geral\7\abrir.bat

msg/time:120 /w * "1 minutos. Aguarde..."

start /MIN C:\Geral\8\abrir.bat

msg/time:120 /w * "1 minutos. Aguarde..."

start /MIN C:\Geral\9\abrir.bat

ping localhost -n 120

echo %antes% | date

echo %hora% | time

exit

Agnaldo Neves
Programador de Sistemas
MCampestrini
Valued Contributor

Re: Email enviado perde o ultimo dia do mês.

Bom dia

Estou com a mesma situação aqui em um painel para uma televisão.

A solução que encontrei foi criar uma variável no aplicativo com o ano / mês para carga dos dados, e a regra é exatamente a que o nicolett.yuri‌ mencionou: se é o dia 1, traz a informação do mês anterior; senão a informação do mês atual.

Márcio Rodrigo Campestrini
agnaldoneves
Valued Contributor

Re: Email enviado perde o ultimo dia do mês.

Teria um retrabalho grande. Pois existe várias datas de comparação de ano vs ano, mês vs Mês.

Projeção. Enfim teria que além de acertar conferir todos. A ferramenta já está uso a 15 dias está funcionando 100%.

Agnaldo Neves
Programador de Sistemas
agnaldoneves
Valued Contributor

Re: Email enviado perde o ultimo dia do mês.

Mas assim que achar tempo vou refazer todos. Mas com calma.

Tenho medo de alguns set set analysis de data que são vários diferentes. Da problema e passar informação errada para o cliente. Obrigado Yuri.

Agnaldo Neves
Programador de Sistemas