Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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)
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)
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.
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
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)
Yuri pensei nisso, mas pelo que entendi, Agnaldo implementando isso ele terá problema para os demais dias.
Acho que essa rotina é diária.
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)
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
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.
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%.
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.