Autor Tópico: Challenge Me!  (Lida 10330 vezes)

Robert Berbert

  • Expert
  • *****
  • Mensagens: 769
  • Desenvolver é sempre estar se atualizando.
    • Conesoft
    • Email
Challenge Me!
« Online: Dezembro 19, 2012, 04:13:55 pm »
Afim de melhorar o meu conhecimento no SC, e aumentar a base de conhecimento do fórum eu venho aqui deixar esse tópico aberto para todos aqueles que quiserem uma implementação que você achem, mediana|difícil, não muito difícil por favor xD.

Só peço que expliquem muito bem, se precisar postem estrutura das tabelas usadas, o que você já tentou, exportação das aplicações, o que for preciso para facilitar essa experiência.


*NOTA: Esse tópico é para novas implementações, coisas não comuns no SC e utilizando códigos alternativos, não é para resolver pequenos problemas e nem muito menos pra falar como faz um campo carregar o outro.

Obrigado.
-- Design ou programador eis a questão.

Valter Júnior

  • Avançado
  • ****
  • Mensagens: 295
    • Email
Re:Challenge Me!
« Responder #1 Online: Dezembro 19, 2012, 04:20:33 pm »
Pessoal,

Como fazer com que num determinado campo de um formulário, após clicar no mesmo, seja mostrada um modal com os campos usuário e senha ?
At.
Valter S. Júnior
SC v8

Robert Berbert

  • Expert
  • *****
  • Mensagens: 769
  • Desenvolver é sempre estar se atualizando.
    • Conesoft
    • Email
Re:Challenge Me!
« Responder #2 Online: Dezembro 20, 2012, 10:38:45 am »
Challenge 1 - Exigir Login e Senha ao entrar em um campo do formulário

Nível SC: Intermediário
Nível JavaScript: Intermediário/Avançado

Conhecimento Básico de CSS e HTML necessários.

Passo 1:

- Abra o formulário que deseja fazer o seu campo seguro.
- No onLoad acrescente esse código no início:
Código: [Selecionar]
[verifica_adm] = 'N';


?>
<style>
#overlay {
     visibility: hidden;
     position: absolute;
     left: 0px;
     top: 0px;
     width:100%;
     height:100%;
     text-align:center;
     z-index: 1000;
}
#overlay div {
     width:250px;
height: 165px;
margin: 200px auto;
     background-color: #fff;
     border:1px solid #000;
     padding:0px;
     text-align:center;
}
</style>
<div id="overlay">
     <div>
        <iframe id="muda_forma" src="../teste/teste.php" height="100%" width="100%" border=0 frameborder=NO scrolling=NO>
</iframe>
     </div>
</div>
<?php

* Lembrem de colocar a variável global como saída.

Passo 2:

- Vá no menu da app em Programação>Métodos JavaScript>Novo Método
- Crie um método chamado: overlay.
- E cole este código no método:
Código: [Selecionar]
el = document.getElementById("overlay");
el.style.visibility = (el.style.visibility == "visible") ? "hidden" : "visible";

Passo 3:

- Vá no menu da app, em Formulário>Eventos Ajax>Novo Evento Ajax.
- Crie um evento ajax, escolha o campo que será seguro, e escolha o evento: onFocus.
- Acrescente esse código na função ajax:
Código: [Selecionar]
if ([verifica_adm] == 'N') {sc_ajax_javascript('overlay');}

Passo 4:

- Crie sua app de controle com 2 campos, Usuário e Senha.
- No onValidate faça a sua verificação, eu copiei a do meu login e alterei algumas coisas vejam abaixo:
Código: [Selecionar]
$slogin = sc_sql_injection({login});
$spswd = sc_sql_injection(md5({senha}));


$sql = "SELECT
PrvAdm,
SitUsu,
NomUsu,
EmlUsu,
CodUsu
      FROM cadusu
      WHERE LogUsu = $slogin
AND SenUsu = ".$spswd;

sc_lookup(rs, $sql);

if(count({rs}) == 0)
{
sc_log_add('Falha: Verificação ADM', {lang_login_fail} . {login});
sc_alert('Usuário ou Senha, Errado!');
sc_error_exit();
}
else if({rs[0][1]} == 'Y' && {rs[0][0]} == 'Y')
{
[verifica_adm] = 'Y';
sc_ajax_javascript('overlay');
}
else
{
sc_alert('Esse usuário não é administrador!');
sc_error_exit();
}

* Eu usei sc_alert ao invés de sc_error_message por questões de layout, ficou mais apresentável.

Passo 5:

- Vá no menu da app em Programação>Métodos Javascript>Novo Método
- Crie um método chamado: overlay.
- E cole este código no método:
Código: [Selecionar]
el = parent.document.getElementById("overlay");
el.style.visibility = (el.style.visibility == "visible") ? "hidden" : "visible";
if (sair != "S") {
parent.document.getElementById('id_sc_field_nomapp').focus();
}

Passo 6:

- Vá no menu da app em Controle>Botões>Novo Botão;
- Crie um botão Sair do tipo javascript;
- No código do botão adicionem:
Código: [Selecionar]
overlay('S');
Gere os fontes e pronto, agora você tem uma verificação de usuário para um campo.

Vocês podem implementar a vontade.

Aqui vai um demo: AdmLoga

User Adm: robert
Senha: master

User não Adm: wesley
Senha: 1234


Agradecimento especial para o Jon Henshaw, ótimo programador da Raven Internet Marketing Tools, pela dica do modal com JavaScript muito bem feito, com código limpo e simples, evitando o uso de JQuery, e funcionando perfeitamente.

Link do Tutorial do Modal JavaScript: http://raventools.com/blog/create-a-modal-dialog-using-css-and-javascript/


Até a próxima pessoal.
-- Design ou programador eis a questão.

Valter Júnior

  • Avançado
  • ****
  • Mensagens: 295
    • Email
Re:Challenge Me!
« Responder #3 Online: Dezembro 20, 2012, 11:05:20 am »
Vlw mano, tivemos uma aula agora meu amigo, assim é que se faz ;)
At.
Valter S. Júnior
SC v8

saulobborges

  • Expert
  • *****
  • Mensagens: 1392
    • SGi Sistemas
    • Email
Re:Challenge Me!
« Responder #4 Online: Dezembro 20, 2012, 12:59:11 pm »
Muito bom Robert..show essa solução, já pensei em algumas implementações para ela!!

leandrocamac

  • Novato
  • *
  • Mensagens: 10
Re:Challenge Me!
« Responder #5 Online: Janeiro 26, 2013, 10:28:50 am »
gostaria de uma ideia para fazer um estilho de planilha no sc
um formulário para o usuário preencher q teria a primeira coluna as horas do dia e outras colunas, sendo que a ideia é salvar cada dado inserido no onchange ou na validação do campo.
obrigado

rsalles87

  • Novato
  • *
  • Mensagens: 14
    • Email
Re:Challenge Me!
« Responder #6 Online: Fevereiro 05, 2013, 09:22:10 pm »
Robert,

Gostei da sua iniciativa e texto.
Tenho uma missão e não estou certo como fazer. Assim vou deixar aqui a questão e se acharem que deve estar neste tópico, peço que respondam.
Preciso imprimir a Guia TISS SP-SADT (vide normas da ANS - www.ans.gov.br) que deve ser gerada como um relatório de livre formato e, além disso, deve ser impressa com o layout padrão.

Grato.

Roberto Sales