Atualize hoje para o Scriptcase 9 e ganhe 35% de desconto! Atualize hoje para o Scriptcase 9 e ganhe 35% de desconto! COMPRAR AGORA!

Autor Tópico: ** RESOLVIDO ** Desabilitar Botao.  (Lida 3208 vezes)

pauloper

  • Global Moderator
  • Avançado
  • *****
  • Mensagens: 389
** RESOLVIDO ** Desabilitar Botao.
« Online: Março 23, 2009, 11:40:50 am »
Ola Pessoal,
Preciso DESABILITAR BOTÃO APLICACAO FORMULARIO GRID EDITAVEL:

if (condicao == "L"){
  sc_btn_display ('new', 'off');
}
Alguem conseguiu fazer ?

Paulo.
« Última modificação: Fevereiro 18, 2010, 10:43:30 am por Rodrigo Lins »

Rodrigo Lins

  • Global Moderator
  • Expert
  • *****
  • Mensagens: 504
    • Overalt I.T
Re: Desabilitar Botao.
« Responder #1 Online: Março 24, 2009, 12:17:32 pm »
Olá Paulo,

Dei uma olhada no código fonte gerado na aplicação, mas não consegui identificar o nome do botão.
Porém, de qualquer forma, existe um detalhe.... Se a aplicação for do tipo Grid Editável, ele só existe um botão "new" que fica na parte inferior da aplicação, então, não será possível estar escondendo ou mostrando o botão de novo de acordo com o resultado do registro... Testei com o botão de "update" ele escondeu normalmente.

Resumindo, você poderá até, esconder o botão de novo, porém, ou será mostrado para todos ou não será mostrado, não vai ser possível utilizar a condição...

Espero ter ajudado ou esclarecido algo.

Rodrigo Lins.

pauloper

  • Global Moderator
  • Avançado
  • *****
  • Mensagens: 389
Re: Desabilitar Botao.
« Responder #2 Online: Março 24, 2009, 12:40:02 pm »
Olá Rodrigo,

Tenho Pedido Mestre-Detalhe e no formulario Pai tenho um flag de pedido fechado. Quando pedido esta como fechado, usuario tera acesso ao mesmo apenas para consultas, porem com os botoes Incluir,Alterar,Excluir desabilitados. Isso ja faço hoje.

Ocorre que nao consegui desabilitar o botao de Incluir(new) no formulario Filho(ITENS),
Isto esta gerando uma falha no sistema, porque usuario entra no pedido para consulta, mas pode incluir itens se desejar, Alterando o total do pedido e gerando um problema no financeiro.

EXISTE UM FORMA DE DESABILITAR AQUELE BOTAO ???

Paulo.

Rodrigo Lins

  • Global Moderator
  • Expert
  • *****
  • Mensagens: 504
    • Overalt I.T
Re: Desabilitar Botao.
« Responder #3 Online: Março 24, 2009, 01:16:45 pm »
O controle está sendo todo feito no formulário pai, correto?

Tente utilizar uma outra macro, a sc_apl_conf e utilize as opções para desabilitar o recurso desejado.

Não fiz o teste no formulário "Mestre/Detalhe", mas para funcionar esta macro ela tem que ser chamado em uma aplicação anterior à a aplicaçãop que vai ser alterada.
Exemplo da macro:

sc_apl_conf("frm_itens_pedido.php", "insert", "off");
sc_apl_conf("frm_itens_pedido.php", "update", "off");
sc_apl_conf("frm_itens_pedido.php", "delete", "off");

Espero ter ajudado.

Se funcionar dá um "ok", só para todos saberem se funcionou ou não, quando precisarem.

Rodrigo Lins.

pauloper

  • Global Moderator
  • Avançado
  • *****
  • Mensagens: 389
Re: Desabilitar Botao.
« Responder #4 Online: Março 24, 2009, 02:15:04 pm »
Grande Rodrigo, na mosca.

Funcionou exatamente como eu precisava.
Obrigado pela dica.

Para quem precisar, o codigo ficou assim:

-USAR NO EVENTO OnLoad da Aplicação PAI.
if ({pedsituacao} == "F"){
   sc_btn_display ('insert', 'off');
   sc_btn_display ('update', 'off');
   sc_btn_display ('delete', 'off');
   sc_apl_conf("frm_liberapedido_itens.php", "insert", "off");
   sc_apl_conf("frm_liberapedido_itens.php", "update", "off");
   sc_apl_conf("frm_liberapedido_itens.php", "delete", "off");
}

danillo.sdd

  • Novato
  • *
  • Mensagens: 31
    • Email
Re:** RESOLVIDO ** Desabilitar Botao.
« Responder #5 Online: Setembro 07, 2014, 10:36:05 pm »
Obrigado, Resolveu o meu problema também!!

JamTC

  • Iniciante
  • **
  • Mensagens: 62
Re:** RESOLVIDO ** Desabilitar Botao.
« Responder #6 Online: Abril 25, 2017, 10:22:43 am »
Olá e bom dia a todos!

Funciona mesmo.

Após quebrar um pouco a cabeça e, pela lógica, o que deveria funcionar não funcionou. Essa postagem foi o que resolveu.

Crédito para: Rodrigo Lins

-x-

Segue meu caso (que não funcionou):

//*** Testa Aprovação da Diretoria para Permitir interação
$SQL = "SELECT sp_StatusDiretoria FROM Compras_SP_MCC WHERE sp_Id = '".[sp_Id]."'";
sc_lookup(rs, $SQL);
$StatusDiretoria = {rs[0][0]};

if ( $StatusDiretoria ) {
   sc_btn_display("new", "off");
}
//*** (Fim do Caso que não funcionou) ******************************


-x-

Segue meu caso (solucionado!):

//*** Testa Aprovação da Diretoria para Permitir interação
$SQL = "SELECT sp_StatusDiretoria FROM Compras_SP_MCC WHERE sp_Id = '".[sp_Id]."'";
sc_lookup(rs, $SQL);
$StatusDiretoria = {rs[0][0]};

if ( $StatusDiretoria ) {
   sc_apl_conf("form_Compras_SP_MCC2.php", "insert", "off");
}
else {
   sc_apl_conf("form_Compras_SP_MCC2.php", "insert", "on");
}
//*** (Fim do Caso) ******************************



-x-

Explicando:

FORM -> GRID -> FORM2

Um FORM que chama uma GRID que por sua vez chama outro FORM.

Nesse caso o FORM2 "form_Compras_SP_MCC2.php" está sendo chamado por uma GRID que foi chamada por outro FORM.

Se for executar uma aplicação GRID, chamando-a direto (GRID.php), a lógica seria utilizar a macro "sc_btn_display("new","off/on")" que funciona sem problemas. Porém isso não funciona se essa aplicação tiver sido chamada por um FORM através do recurso Mestre/Detalhe.

Nota: Esse código deve ser colocado no evento "OnScriptInit" da aplicação GRID que foi chamada pelo FORM.

Abraço a todos...
JamTC
:)
« Última modificação: Abril 25, 2017, 10:44:50 am por JamTC »

Kleyber

  • Expert
  • *****
  • Mensagens: 2679
Re:** RESOLVIDO ** Desabilitar Botao.
« Responder #7 Online: Abril 25, 2017, 11:15:27 am »
JamTC,

Muito bom. Obrigado por compartilhar!!
Kleyber Derick

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