Autor Tópico: [RESOLVIDO] - Mostrar eventos do dia  (Lida 3734 vezes)

Tiago Sampaio

  • Novato
  • *
  • Mensagens: 16
    • Email
[RESOLVIDO] - Mostrar eventos do dia
« Online: Maio 05, 2012, 04:31:30 pm »
Olá a todos,

estou aprendendo a utilizar o sc ainda e, pra variar, tenho mil dúvidas. mas aqui só vai uma hahaha

To criando uma GRID Calendário que vai mostrar apenas os eventos do dia corrente..

como fazer??

Abraços,

Tiago
« Última modificação: Julho 11, 2016, 09:40:33 am por Ronyan Alves »
Abraços,
Tiago Sampaio

jovitomelo

  • Global Moderator
  • Expert
  • *****
  • Mensagens: 916
    • Simples Assim
    • Email
Re:Mostrar eventos do dia
« Responder #1 Online: Maio 05, 2012, 05:07:12 pm »
Tiago,

Pra fazer uma grid (app tipo Consulta) você tem que montar uma query (SQL), normalmente o SC já faz isso pro vc....

vc só precisa acrescentar uma cláusula WHERE +- assim

WHERE
    data_do_evento = current_date                          // se seu banco for MySql ou Postgres

[]
Jovito Melo
Maceió - Alagoas

Tiago Sampaio

  • Novato
  • *
  • Mensagens: 16
    • Email
Re:Mostrar eventos do dia
« Responder #2 Online: Maio 05, 2012, 09:12:11 pm »
Deu certo amigo!!


Muito obrigado pela dica..

Abraços,


Tiago
Abraços,
Tiago Sampaio

Tiago Sampaio

  • Novato
  • *
  • Mensagens: 16
    • Email
Re:Mostrar eventos do dia
« Responder #3 Online: Maio 06, 2012, 01:49:41 pm »
Eu segui esse exemplo (http://www.netmake.com.br/knowledge/article-42.html) para criar um controle de agenda. Funcionou.. só que eu queria colocar o controle lincado com o login.
De modo que ele reconhecesse quem está logado e mostrasse agenda apenas de quem está logado.

Alguém conseguiu isso??


abraços,

Tiago
Abraços,
Tiago Sampaio

Kleyber

  • Expert
  • *****
  • Mensagens: 2237
    • Email
Re:Mostrar eventos do dia
« Responder #4 Online: Maio 06, 2012, 03:09:47 pm »
Tiago,

Basta você criar em tua tabela de usuários (se é que já não existe) e na tabela de agendas incllua o campo ID_USUARIO onde nesse campo vc grava a agenda de cada usuário. Assim na hora de logar, basta colocar no SELECT o ID_USUARIO.
Kleyber Derick

ITIL® V3 Foundation Certified
Analista de Sistemas
São Luís - Maranhão
www.tkinformidia.net

Jean Matos

  • Expert
  • *****
  • Mensagens: 956
    • Gestão de Construtoras
    • Email
Re:Mostrar eventos do dia
« Responder #5 Online: Novembro 11, 2012, 05:46:31 pm »
Sei que resolveu o caso aqui mas acho que melhorei a condição.


veja bem, da forma que foi dita o calendário aparece os registro apenas do usuário... logo nao posso criar um agendamento que todos da empresa possam ver. Entao fiz assim:

criei 2 campos : 1 que pega o usuario e outro que seto como agendamento publico ou nao.

daí construi ums query com a seguinte where..

SELECT
   id,
   titulo,
   descrição,
   data_inicio,
   hora_inicio,
   data_fim,
   hora_fim,
   recorrencia,
   periodo,
   user,
   publico
FROM
   dbo.calendario
WHERE
  (user = '[usr_login]') OR / a primeira condição é pegar o usuario.
   (publico <> '2')  //  a segunda qui retorna apenas o evento que setei como publico caso o usuario logado seja diferente do que agendou..


lá nas configurações do form em SQL   -> user = '[usr_login]'

no form publico esta como lookup manual   Sim =1, Não =2. entao se vc colocar a data de seu aniversário todos vao ver e se vc colocar um agendamento particular só vc vai ver...

ache que é isso...
Sc - 6.xxx , 7.xxx e V8
Windows Server 2008 Enterpriser 64 bits
SqlServer 2008 Express 64 bits
Sistema Integrado de Gestão de Construtoras]WaveTOR - Sistema Integrado de Gestão de Construtoras
Teófilo Otoni - MG
(33)8824-2775

jovitomelo

  • Global Moderator
  • Expert
  • *****
  • Mensagens: 916
    • Simples Assim
    • Email
Re:Mostrar eventos do dia
« Responder #6 Online: Janeiro 22, 2013, 12:22:42 pm »
É o pessoal aqui tá evoluindo....

Mas existem outras formas mais complexa e eficazes, vejamos:

A reposta eu sei qual é, vou perguntar apenas para estimular o raciocínio. Imagine que o seu sistema seja multi-empresa (esse conceito é bastante amplo, uma vez que o conceito de empresa pode ser resumido a departamentos, setores, etc - então imagine que você tenha um sistema multi-setorial) e você tenha o seguinte cenário:

Usuário A (gerente geral) - acessa o calendário de toda a empresa;
Usuário B (gerente de RH) - acessa o calendário dele e de todos os usuários do RH;
Usuário C (Zé-Ruela) - só acessa o seu próprio calendário.

As soluções apresentadas acima não contemplam o cenário. Como resolver?

Forte abraço.
Jovito Melo
Maceió - Alagoas

joeltonsilva

  • Avançado
  • ****
  • Mensagens: 360
Re:Mostrar eventos do dia
« Responder #7 Online: Abril 16, 2013, 11:40:17 am »
Aí ficou mais fácil,
Basta pegar o que o Jean Matos aprimorou, por sinal ficou excelente, e acrescentar mais filtros, baseado no caso de ser público ou não, pode ser acrescentados outras situações facilmente.

"
Enviado por: Jean Matos
« Online: Novembro 11, 2012, 05:46:31 pm »Inserir citação


Sei que resolveu o caso aqui mas acho que melhorei a condição.


veja bem, da forma que foi dita o calendário aparece os registro apenas do usuário... logo nao posso criar um agendamento que todos da empresa possam ver. Entao fiz assim:

criei 2 campos : 1 que pega o usuario e outro que seto como agendamento publico ou nao.

daí construi ums query com a seguinte where..

SELECT
   id,
   titulo,
   descrição,
   data_inicio,
   hora_inicio,
   data_fim,
   hora_fim,
   recorrencia,
   periodo,
   user,
   publico
FROM
   dbo.calendario
WHERE
  (user = '[usr_login]') OR / a primeira condição é pegar o usuario.
   (publico <> '2')  //  a segunda qui retorna apenas o evento que setei como publico caso o usuario logado seja diferente do que agendou..

lá nas configurações do form em SQL   -> user = '[usr_login]'

no form publico esta como lookup manual   Sim =1, Não =2. entao se vc colocar a data de seu aniversário todos vao ver e se vc colocar um agendamento particular só vc vai ver...

ache que é isso..."

jovitomelo

  • Global Moderator
  • Expert
  • *****
  • Mensagens: 916
    • Simples Assim
    • Email
Re:Mostrar eventos do dia
« Responder #8 Online: Abril 18, 2013, 12:16:19 pm »
joeltonsilva,

Ficou mais amplo, mas ainda não resolve totalmente... por exemplo: se ele for público para um determinado grupo de pessoas (gerentes, diretores e supervisores) e não for público para o resto. Neste caso você precisa criar grupos, dizer que tipos de mensagens esse grupos podem acessar e determinar quais os usuários podem ter acesso a esse ou aquele grupo criado.

Vá em frente que seu raciocínio está correto.
Jovito Melo
Maceió - Alagoas

andre77

  • Novato
  • *
  • Mensagens: 23
    • Email
Re:Mostrar eventos do dia
« Responder #9 Online: Julho 08, 2016, 05:15:36 pm »
Boa tarde Pessoal
Ressucitando este topico.
Tentei realizar o filtro conforme mencionado com niveis hierarquico, Dir > Ger > Oper usando a macro sc_select_where(add) mas tudo pelo que app calendario nao suporta esta macro.

Alguem tem alguma dica , de acessar calendário com niveis superiores visualizando o niveis abaixo?
Ja tenho tabela com esta hierarquia.

Obrigado.
Att
André

Kleyber

  • Expert
  • *****
  • Mensagens: 2237
    • Email
Re:Mostrar eventos do dia
« Responder #10 Online: Julho 08, 2016, 06:08:51 pm »
Olha, posso estar enganado, mas com o calendário padrão do SC acho que não vai funcionar. Só se você usar a FullCalendar (que é o componente que o SC usa para o calendário) externamente. Aí você vai poder criar tua própria tabela de eventos e ter o controle que desejas.
Kleyber Derick

ITIL® V3 Foundation Certified
Analista de Sistemas
São Luís - Maranhão
www.tkinformidia.net

andre77

  • Novato
  • *
  • Mensagens: 23
    • Email
Re:Mostrar eventos do dia
« Responder #11 Online: Julho 09, 2016, 01:01:17 pm »
Boa tarde
Entendi.
Realizei  agora  uma manobra dentro do clausula where  do SQL e deu certo.
Algo mais ou menos assim

"user_visitante in (select login_rep from v_canal_vendas where login_ger='[usr_login]')
or  user_visitante ='[usr_login]'"

Desta forma o representante acessa o calendário e ve suas agendas o cada gerente ve sua propria agenda e de seus representantes.
Como nestes 2 niveis deu certo, vou acrescentar os demais.

Abs
Att

Kleyber

  • Expert
  • *****
  • Mensagens: 2237
    • Email
Re:Mostrar eventos do dia
« Responder #12 Online: Julho 09, 2016, 02:45:16 pm »
Blz, que bom que resolveu.
Kleyber Derick

ITIL® V3 Foundation Certified
Analista de Sistemas
São Luís - Maranhão
www.tkinformidia.net